clearml-docs/docs/configs/clearml_conf.md

1537 lines
47 KiB
Markdown
Raw Normal View History

2021-05-13 23:48:51 +00:00
---
title: Configuration File
---
2022-01-18 11:23:47 +00:00
This reference page provides detailed information about the configurable options for ClearML and ClearML Agent.
ClearML and ClearML Agent use the same configuration file `clearml.conf`.
2021-05-13 23:48:51 +00:00
This reference page is organized by configuration file section:
2022-01-18 11:23:47 +00:00
* [agent](#agent-section) - Contains ClearML Agent configuration options. If ClearML Agent was not installed, the configuration
2021-05-13 23:48:51 +00:00
file will not have an `agent` section.
2022-01-18 11:23:47 +00:00
* [api](#api-section) - Contains ClearML and ClearML Agent configuration options for ClearML Server.
* [sdk](#sdk-section) - Contains ClearML and ClearML Agent configuration options for ClearML Python Package and ClearML Server.
* [environment](#environment-section) - Define environment variables to apply to the OS environment
* [files](#files-section) - Define auto-generated files to apply into local file system
2021-05-13 23:48:51 +00:00
2024-04-04 07:45:19 +00:00
See an [example configuration file](https://github.com/allegroai/clearml-agent/blob/master/docs/clearml.conf)
2022-01-18 11:23:47 +00:00
in the ClearML Agent GitHub repository.
2021-05-13 23:48:51 +00:00
:::info
The values in the ClearML configuration file can be overridden by environment variables, the [configuration vault](../webapp/webapp_profile.md#configuration-vault),
and command-line arguments.
:::
# Editing Your Configuration File
2021-05-13 23:48:51 +00:00
To add, change, or delete options, edit your configuration file.
2022-01-18 11:23:47 +00:00
**To edit your ClearML configuration file:**
2021-05-13 23:48:51 +00:00
1. Open the configuration file for editing, depending upon your operating system:
* Linux - `~/clearml.conf`
* Mac - `$HOME/clearml.conf`
* Windows - `\User\<username>\clearml.conf`
1. In the required section (sections listed on this page), add, modify, or remove required options.
1. Save configuration file.
2021-09-09 10:17:46 +00:00
## Environment Variables
ClearML's configuration file uses [HOCON](https://github.com/lightbend/config/blob/main/HOCON.md) configuration format,
which supports environment variable reference.
2021-05-13 23:48:51 +00:00
For example:
```editorconfig
2024-03-27 09:56:21 +00:00
sdk {
google.storage {
# # Default project and credentials file
# # Will be used when no bucket configuration is found
project: "clearml"
credentials_json: ${GOOGLE_APPLICATION_CREDENTIALS}
}
}
```
2021-05-13 23:48:51 +00:00
`${GOOGLE_APPLICATION_CREDENTIALS}` will automatically be substituted by the environment variable value.
2021-05-13 23:48:51 +00:00
See [Note on Windows](https://github.com/lightbend/config/blob/main/HOCON.md#note-on-windows-and-case-sensitivity-of-environment-variables)
for information about using environment variables with Windows in the configuration file.
2021-09-09 10:17:46 +00:00
## Configuration File Sections
2021-05-13 23:48:51 +00:00
### agent section
**`agent`** (*dict*)
2022-01-18 11:23:47 +00:00
* Dictionary of top-level ClearML Agent options to configure ClearML Agent for Git credentials, package managers, cache management, workers, and Docker for workers.
2021-05-13 23:48:51 +00:00
---
2022-12-06 07:44:52 +00:00
**`agent.crash_on_exception`** (*bool*)
* By default, when encountering an exception while running a task, the agent will catch the exception, log it, and
continue running. When set to `true`, the agent crashes when encountering an exception.
---
2021-05-13 23:48:51 +00:00
**`agent.cuda_version`** (*float*)
* The CUDA version to use.
* If specified, this is the CUDA version used.
* If not specified, the CUDA version is automatically detected.
Alternatively, override this option with the environment variable `CUDA_VERSION`.
---
**`agent.cudnn_version`** (*float*)
* The cuDNN version to use.
* If specified, this is the cuDNN version used.
* If not specified, the cuDNN version is automatically detected.
Alternatively, override this option with the environment variable `CUDNN_VERSION`.
---
**`agent.disable_ssh_mount`** (*bool*)
2023-01-10 08:29:40 +00:00
* Set to `true` to disable the auto `.ssh` mount into the docker. The environment variable `CLEARML_AGENT_DISABLE_SSH_MOUNT`
overrides this configuration option.
___
**`agent.disable_task_docker_override`** (*bool*)
* If set to `true`, agent uses the default docker image and ignores any docker image and arguments specified in the
task's container section (if setup shell script is specified in task container section, it is used
in either case).
---
**`agent.docker_allow_host_environ`** (*bool*)
* Set to `true` to allow passing host environments into docker container with Task's docker container arguments. For example: `"-e HOST_NAME=$HOST_NAME"`.
2024-06-23 07:00:06 +00:00
:::warning
Use with care! This might introduce security risks by allowing access to keys/secret on the host machine.
:::
---
2021-05-13 23:48:51 +00:00
**`agent.docker_apt_cache`** (*string*)
* The apt (Linux package tool) cache folder for mapping Ubuntu package caching into Docker.
---
2021-10-21 06:45:44 +00:00
**`docker_args_extra_precedes_task`** (*bool*)
* Allow the arguments specified in `agent.extra_docker_arguments` to override task level docker arguments, in the case that
the same argument is passed in both. If set to `False`, a task's docker arguments will override the `extra_docker_arguments`.
---
2021-10-21 06:45:44 +00:00
**`agent.docker_container_name_format`** (*string*)
2021-11-10 07:54:44 +00:00
:::note Compatibility Required
Compatible with Docker versions 0.6.5 and above
2021-10-21 06:45:44 +00:00
:::
2024-08-04 15:50:09 +00:00
* Set a name format for Docker containers created by an agent running in [Docker mode](../clearml_agent/clearml_agent_execution_env.md#docker-mode)
2021-10-21 06:45:44 +00:00
* The following variables can be used:
* `task_id`
* `worker_id`
* `rand_string` - random lower-case letters string (up to 32 characters)
2021-10-21 06:45:44 +00:00
* The resulting name must start with an alphanumeric character, while the rest of the name may contain alphanumeric characters,
2023-04-04 13:16:54 +00:00
underscores (`_`), dots (`.`) and/or dashes (`-`)
2021-11-10 07:54:44 +00:00
* For example: `clearml-id-{task_id}-{rand_string:.8}`
2021-10-21 06:45:44 +00:00
---
2021-05-13 23:48:51 +00:00
**`agent.docker_force_pull`** (*bool*)
* Always update the Docker image by forcing a Docker `pull` before running an experiment
The values are:
* `true` - Always update the Docker image.
* `false` - Do not always update.
2021-10-21 06:45:44 +00:00
---
2022-04-27 10:57:21 +00:00
**`agent.docker_install_opencv_libs`** (*bool*)
2023-08-27 07:23:06 +00:00
* Install the required packages for opencv libraries (`libsm6 libxext6 libxrender-dev libglib2.0-0`), for backwards
2022-04-27 10:57:21 +00:00
compatibility reasons. Change to `false` to skip installation and decrease docker spin-up time.
---
<a id="docker_internal_mounts"/>
**`agent.docker_internal_mounts`** (*dict*)
2021-10-21 06:45:44 +00:00
2021-11-10 07:54:44 +00:00
* Set internal mount points inside the Docker. This is especially useful for non-root Docker container images.
For example:
```
docker_internal_mounts {
sdk_cache: "/clearml_agent_cache"
apt_cache: "/var/cache/apt/archives"
ssh_folder: "/root/.ssh"
pip_cache: "/root/.cache/pip"
poetry_cache: "/root/.cache/pypoetry"
vcs_cache: "/root/.clearml/vcs-cache"
venv_build: "/root/.clearml/venvs-builds"
pip_download: "/root/.clearml/pip-download-cache"
}
```
2021-10-21 06:45:44 +00:00
2021-05-13 23:48:51 +00:00
---
**`agent.docker_pip_cache`** (*string*)
* The pip (Python package tool) cache folder for mapping Python package caching into Docker.
---
**`agent.docker_use_activated_venv`** (*bool*)
2024-08-04 15:50:09 +00:00
* In [Docker mode](../clearml_agent/clearml_agent_execution_env.md#docker-mode), if the container's entrypoint automatically activates a virtual environment, the activated virtual
environment is used and everything is installed in it. Set to `false` to disable, and always create a new venv inheriting
from `system_site_packages`
---
**`agent.enable_git_ask_pass`** (*bool*)
:::note
`enable_git_ask_pass` is supported only on Linux systems
:::
* If enabled, uses `GIT_ASKPASS` to pass Git user/pass when cloning/fetching repositories
* It solves passing user/token to git submodules.
* This is a safer way to ensure multiple users using the same repository will not accidentally leak credentials
---
2021-05-13 23:48:51 +00:00
**`agent.enable_task_env`** (*bool*)
* Set the OS environments based on the Task's Environment section before launching the Task process.
---
**`agent.extra_docker_arguments`** (*[string]*)
2024-08-04 15:50:09 +00:00
* Optional arguments to pass to the Docker image when ClearML Agent is running in [Docker mode](../clearml_agent/clearml_agent_execution_env.md#docker-mode). These are local for this agent, and will not be updated in the experiment's `docker_cmd` section. For example, `["--ipc=host", ]`.
2021-05-13 23:48:51 +00:00
---
**`agent.extra_docker_shell_script`** (*[string]*)
2024-08-04 15:50:09 +00:00
* When ClearML Agent is running in [Docker mode](../clearml_agent/clearml_agent_execution_env.md#docker-mode), this
optional shell script executes inside the Docker on startup, before the experiment starts. For example, `["apt-get install -y bindfs", ]`.
2021-05-13 23:48:51 +00:00
---
**`agent.force_git_root_python_path`** (*bool*)
* Force the root folder of the git repository (instead of the working directory) into the `PYHTONPATH` environment variable.
`false` by default, so only the working directory will be added to `PYHTONPATH`
---
2021-05-13 23:48:51 +00:00
**`agent.force_git_ssh_protocol`** (*bool*)
* Force Git protocol to use SSH regardless of the Git URL. This assumes the Git user/pass are blank.
The values are:
* `true` - Force
* `false` - Do not force
---
**`agent.force_git_ssh_port`** (*integer*)
* Force a specific SSH port when converting HTTP to SSH links. The domain remains unchanged.
---
**`agent.force_git_ssh_user`** (*string*)
* Force a specific SSH username when converting HTTP to SSH links (the default username is 'git')
---
**`agent.git_host`** (*string*)
* Limit Git credentials usage to this host. The environment variable `CLEARML_AGENT_GIT_HOST` overrides this configuration option.
---
**`agent.git_pass`** (*string*)
* Git repository password.
* If using Git SSH credentials, do not specify this option.
* If not using Git SSH credentials, use this option to specify a Git password for cloning your repositories.
---
**`agent.git_user`** (*string*)
* Git repository username.
* If using Git SSH credentials, do not specify this option.
* If not using Git SSH credentials, use this option to specify a Git password for cloning your repositories.
---
2021-10-21 06:45:44 +00:00
2022-12-06 12:04:39 +00:00
<a id="hide_docker"/>
2022-12-06 07:44:52 +00:00
2021-10-21 06:45:44 +00:00
**`agent.hide_docker_command_env_vars`** (*dict*)
2021-11-10 07:54:44 +00:00
* Hide Docker environment variables containing secrets when printing out the Docker command. When printed, the variable
2021-10-21 06:45:44 +00:00
values will be replaced by `********`
2021-11-10 07:54:44 +00:00
* Enable this feature by setting `enabled` to `true`. Doing this will hide the following environment variables values:
2021-10-21 06:45:44 +00:00
* `CLEARML_API_SECRET_KEY`
* `CLEARML_AGENT_GIT_PASS`
* `AWS_SECRET_ACCESS_KEY`
* `AZURE_STORAGE_KEY`
2023-10-11 09:29:56 +00:00
* To mask additional environment variables, add their keys to the `extra_keys` list.
2021-11-10 07:54:44 +00:00
For example, to hide the value of a custom environment variable named `MY_SPECIAL_PASSWORD`, set `extra_keys: ["MY_SPECIAL_PASSWORD"]`
2022-04-27 10:57:21 +00:00
* By default, `parse_embedded_urls` is set to `true`, so agent will also hide passwords in URLs and handle environment variables
containing docker commands
2021-11-10 07:54:44 +00:00
```
hide_docker_command_env_vars {
enabled: true
extra_keys: ["MY_SPECIAL_PASSWORD"]
2022-04-27 10:57:21 +00:00
parse_embedded_urls: true
2021-11-10 07:54:44 +00:00
}
```
2021-10-21 06:45:44 +00:00
---
**`agent.ignore_requested_python_version`** (*bool*)
* Indicates whether to ignore any requested python version
* The values are:
* `true` - ignore any requested python version
* `false` - if a task was using a specific python version, and the system supports multiple versions, the agent will
2021-10-21 06:45:44 +00:00
use the requested python version (default)
___
**`agent.protected_docker_extra_args`** (*[string]*)
* Prevent listed task docker arguments from being used if they are already specified in `agent.extra_docker_arguments`.
---
2021-05-13 23:48:51 +00:00
**`agent.python_binary`** (*string*)
* Set the Python version to use when creating the virtual environment, and when launching the experiment. For example, `/usr/bin/python3` or `/usr/local/bin/python3.6`.
---
**`agent.reload_config`** (*bool*)
* Indicates whether to reload the configuration each time the worker daemon is executed.
---
**`agent.translate_ssh`** (*bool*)
* Translate HTTPS communication to SSH
---
**`agent.venvs_dir`** (*string*)
* The target folder for virtual environments builds that are created when executing an experiment.
---
**`agent.worker_id`** (*string*)
2023-01-31 11:52:01 +00:00
* When creating a worker, assign the worker an ID.
2021-05-13 23:48:51 +00:00
* If specified, a unique name for the worker. For example, `clearml-agent-machine1:gpu0`.
* If not specified, the following is used: `<hostname>:<process_id>`.
For example, `MyHost:12345`.
2023-01-31 11:52:01 +00:00
Alternatively, specify the environment variable `CLEARML_WORKER_ID` to override this worker name.
2021-05-13 23:48:51 +00:00
---
**`agent.worker_name`** (*string*)
2023-01-10 08:29:40 +00:00
* Use to replace the hostname when creating a worker if `agent.worker_id` is not specified. For example, if `worker_name`
is `MyMachine` and the `process_id` is `12345`, then the worker is named `MyMachine.12345`.
2021-05-13 23:48:51 +00:00
2023-01-31 11:52:01 +00:00
Alternatively, specify the environment variable `CLEARML_WORKER_NAME` to override this worker name.
2021-05-13 23:48:51 +00:00
<br/>
#### agent.default_docker
<a class="tr_top_negative" name="agent_default_docker"></a>
**`agent.default_docker`** (*dict*)
2024-08-04 15:50:09 +00:00
* Dictionary containing the default options for workers in [Docker mode](../clearml_agent/clearml_agent_execution_env.md#docker-mode).
2021-05-13 23:48:51 +00:00
---
**`agent.default_docker.arguments`** (*string*)
2024-08-04 15:50:09 +00:00
* If running a worker in [Docker mode](../clearml_agent/clearml_agent_execution_env.md#docker-mode), this option specifies the options to pass to the Docker container.
2021-05-13 23:48:51 +00:00
---
**`agent.default_docker.image`** (*string*)
2024-08-04 15:50:09 +00:00
* If running a worker in [Docker mode](../clearml_agent/clearml_agent_execution_env.md#docker-mode), this option specifies the default Docker image to use.
2021-05-13 23:48:51 +00:00
2022-04-27 10:57:21 +00:00
---
2024-05-16 12:54:35 +00:00
**`agent.default_docker.match_rules`** (*[dict]*)
2022-04-27 10:57:21 +00:00
2024-02-15 13:28:26 +00:00
:::important Enterprise Feature
2022-04-27 10:57:21 +00:00
This feature is available under the ClearML Enterprise plan
:::
2024-08-04 15:50:09 +00:00
* Lookup table of rules for default container if running a worker in [Docker mode](../clearml_agent/clearml_agent_execution_env.md#docker-mode).
The first matched rule will be picked, according to rule order.
2022-04-27 10:57:21 +00:00
* Each dictionary in the list lays out rules, and the container to be used if the rules are matched. The
rules can be script requirements, Git details, and/or Python binary, and/or the task's project.
```console
match_rules: [
{
image: "nvidia/cuda:10.1-cudnn7-runtime-ubuntu18.04"
arguments: "-e define=value"
match: {
2023-11-05 08:30:37 +00:00
script {
2022-04-27 10:57:21 +00:00
# Optional: must match all requirements (not partial)
requirements: {
# version selection matching PEP-440
pip: {
tensorflow: "~=2.6"
},
}
# Optional: matching based on regular expression, example: "^exact_match$"
repository: "/my_repository/"
branch: "main"
binary: "python3.6"
}
# Optional: matching based on regular expression, example: "^exact_match$"
project: "project/sub_project"
}
},
]
```
2021-05-13 23:48:51 +00:00
<br/>
#### agent.package_manager
**`agent.package_manager`** (*dict*)
* Dictionary containing the options for the Python package manager. The currently supported package managers are pip, conda,
2022-12-27 14:01:47 +00:00
and, if the repository contains a `poetry.lock` file, poetry.
2021-05-13 23:48:51 +00:00
---
**`agent.package_manager.conda_channels`** (*[string]*)
2023-01-10 08:29:40 +00:00
* If conda is used, then this is the list of conda channels to use when installing Python packages.
2021-05-13 23:48:51 +00:00
---
**`agent.package_manager.conda_full_env_update`** (*bool*)
* Enables update of conda environment (Conda environment does not update by default as it might break)
---
**`agent.package_manager.conda_env_as_base_docker`** (*bool*)
2023-04-16 09:32:48 +00:00
* Uses conda environment for execution (like a docker)
2021-05-13 23:48:51 +00:00
2024-05-16 12:54:35 +00:00
---
**`agent.package_manager.use_conda_base_env`** (*bool*)
2024-07-15 12:53:41 +00:00
* When set to `True`, installation will be performed into the base Conda environment. Use in [Docker mode](../clearml_agent/clearml_agent_execution_env.md#docker-mode).
2024-05-16 12:54:35 +00:00
2021-05-13 23:48:51 +00:00
___
**`agent.package_manager.extra_index_url`** (*[string]*)
* A list of URLs for additional artifact repositories when installing Python packages.
---
**`agent.package_manager.extra_pip_install_flags`** (*[string]*)
* A list of additional flags to use when the agent install packages. For example: `["--use-deprecated=legacy-resolver", ]`
2021-05-13 23:48:51 +00:00
---
**`agent.package_manager.force_upgrade`** (*bool*)
* Indicates whether to force an upgrade of Python packages.
The values are:
* `true` - Force
* `false` - Do not force
---
**`agent.package_manager.pip_version`** (*string*)
* The `pip` version to use. For example, `"<20"`, `"==19.3.1"`, `""` (empty string will install the latest version).
2022-04-27 10:57:21 +00:00
---
**`agent.package_manager.poetry_version`** (*string*)
* The `poetry` version to use. For example, `"<2"`, `"==1.1.1"`, `""` (empty string will install the latest version).
2021-05-13 23:48:51 +00:00
---
**`agent.package_manager.poetry_install_extra_args`** (*list*)
* List extra command-line arguments to pass when using `poetry`
---
2021-05-13 23:48:51 +00:00
**`agent.package_manager.post_optional_packages`** (*string*)
* A list of optional packages that will be installed after the required packages. If the installation of an optional post
package fails, the package is ignored, and the virtual environment process continues.
---
**`agent.package_manager.post_packages`** (*[string]*)
* A list of packages that will be installed after the required packages.
___
**`agent.package_manager.priority_optional_packages`** (*[string]*)
* A list of optional priority packages to be installed before the rest of the required packages, but in case a
package installation fails, the package will be ignored, and the virtual environment process will continue.
---
**`agent.package_manager.priority_packages`** (*[string]*)
* A list of packages with priority to be installed before the rest of the required packages. For example: `["cython", "numpy", "setuptools", ]`
---
**`agent.package_manager.pytorch_resolve`** (*str*)
* Set the PyTorch resolving mode. The options are:
* `pip` (default) - Sets extra index based on cuda and lets pip resolve
* `none` - No resolving. Install PyTorch like any other package
* `direct` - Resolve a direct link to the PyTorch wheel by parsing the pytorch.org pip repository and matching the
automatically detected cuda version with the required PyTorch wheel. If the exact cuda version is not found for the
required PyTorch wheel, it will try a lower cuda version until a match is found
---
<a id="system_site_packages"/>
2021-05-13 23:48:51 +00:00
**`agent.package_manager.system_site_packages`** (*bool*)
* Indicates whether Python packages for virtual environments are inherited from the system when building a virtual environment
for an experiment.
The values are:
* `true` - Inherit
* `false` - Do not inherit (load Python packages)
---
**`agent.package_manager.torch_nightly`** (*bool*)
* Indicates whether to support installing PyTorch Nightly builds.
The values are:
* `true` - If a stable `torch` wheel is not found, install the nightly build.
* `false` - Do not install.
:::note
Torch Nightly builds are ephemeral and are deleted from time to time.
:::
---
**`agent.package_manager.type`** (*string*)
* Indicates the type of Python package manager to use.
The values are:
2022-04-27 10:57:21 +00:00
* `pip`
* `conda`
* `poetry`
* If `pip` or `conda` are used, the agent installs the required packages based on the "installed packages" section of the
Task. If the "installed packages" is empty, it will revert to using `requirements.txt` from the repository's root
directory. If `poetry` is selected, and the root repository contains `poetry.lock` or `pyproject.toml`, the "installed
packages" section is ignored, and `poetry` is used. If `poetry` is selected and no lock file is found, it reverts to
`pip` package manager behaviour.
2021-05-13 23:48:51 +00:00
<br/>
#### agent.pip_download_cache
**`agent.pip_download_cache`** (*dict*)
* Dictionary containing pip download cache options.
---
**`agent.pip_download_cache.enabled`** (*bool*)
* Indicates whether to use a specific cache folder for Python package downloads.
The values are:
* `true` - Use a specific folder which is specified in the option `agent.pip_download_cache.path`
* `false` - Do not use a specific folder.
---
**`agent.pip_download_cache.path`** (*string*)
* If `agent.pip_download_cache.enabled` is `true`, then this specifies the cache folder.
<br/>
#### agent.vcs_cache
**`agent.vcs_cache`** (*dict*)
* Dictionary containing version control system clone cache folder.
---
**`agent.vcs_cache.enabled`** (*bool*)
* Indicates whether the version control system cache is used.
The values are:
* `true` - Use cache
* `false` - Do not use cache
---
**`agent.vcs_cache.path`** (*string*)
* The version control system cache clone folder when executing experiments.
<br/>
#### agent.venvs_cache
**`agent.venvs_cache`** (*dict*)
* Dictionary containing virtual environment cache options.
---
**`agent.venvs_cache.free_space_threshold_gb`** (*integer*)
* Minimum required free space to allow for cache entry.
* Disable minimum by passing 0 or negative value.
---
**`agent.venvs_cache.max_entries`** (*integer*)
* Maximum number of cached virtual environments.
---
**`agent.venvs_cache.path`** (*string*)
* Folder of the virtual environment cache.
* Uncomment to enable virtual environment caching.
<br/>
#### agent.venv_update
2024-05-16 12:54:35 +00:00
:::note
This option is deprecated. Use `venvs_cache` and set `venvs_cache.path` instead.
:::
2021-05-13 23:48:51 +00:00
**`agent.venv_update`** (*dict*)
* Dictionary containing virtual environment update options.
---
**`agent.venv_update.enabled`** (*bool*)
* Indicates whether to use accelerated Python virtual environment building (this is a beta feature).
The values are:
* `true` - Accelerate
* `false` - Do not accelerate (default value)
<a class="tr_top_negative" name="api"></a>
### api section
**`api`** (*dict*)
2022-01-18 11:23:47 +00:00
Dictionary of configuration options for the ClearML Server API, web, and file servers and credentials.
2021-05-13 23:48:51 +00:00
---
**`api.api_server`** (*string*)
2022-01-18 11:23:47 +00:00
* The URL of your ClearML API server. For example, `https://api.MyDomain.com`.
2021-05-13 23:48:51 +00:00
---
**`api.web_server`** (*string*)
2022-01-18 11:23:47 +00:00
* The URL of your ClearML web server. For example, `https://app.MyDomain.com`.
2021-05-13 23:48:51 +00:00
---
**`api.files_server`** (*string*)
2022-01-18 11:23:47 +00:00
* The URL of your ClearML file server. For example, `https://files.MyDomain.com`.
2021-05-13 23:48:51 +00:00
2024-06-23 07:00:06 +00:00
:::warning
2022-04-13 07:03:22 +00:00
You must use a secure protocol with ``api.web_server``, ``api.files_server``, and ``api.api_server``. Use `https`, not `http`.
2021-05-13 23:48:51 +00:00
:::
---
**`api.http.default_method`** (*string*)
2023-09-21 10:52:36 +00:00
* Set the request method for all API requests and auth login. This can be useful when `GET` requests with payloads are
blocked by a server, and `POST` requests can be used instead. The request options are: "GET", "POST", "PUT".
2024-06-23 07:00:06 +00:00
:::warning
This configuration option is experimental, and has not been vigorously tested, so it may have unintended consequences.
:::
2021-05-13 23:48:51 +00:00
<br/>
#### api.credentials
**`api.credentials`** (*dict*)
2023-10-11 09:29:56 +00:00
* Dictionary of API credentials.
2023-09-11 10:33:30 +00:00
Alternatively, specify the environment variable `CLEARML_API_ACCESS_KEY` / `CLEARML_API_SECRET_KEY` to override these keys.
2021-05-13 23:48:51 +00:00
---
**`api.credentials.access_key`** (*string*)
2022-01-18 11:23:47 +00:00
* Your ClearML access key.
2021-05-13 23:48:51 +00:00
---
**`api.credentials.secret_key`** (*string*)
2022-01-18 11:23:47 +00:00
* Your ClearML credentials.
2021-05-13 23:48:51 +00:00
---
**`api.verify_certificate`** (*bool*)
* Indicates whether to verify the host SSL certificate.
The values are:
* `true` - Verify
* `false` - Do not verify.
2024-06-23 07:00:06 +00:00
:::warning
2021-05-13 23:48:51 +00:00
Set to False only if required.
:::
<a class="tr_top_negative" name="sdk"></a>
<br/>
### sdk section
**`sdk`** (*dict*)
2022-01-18 11:23:47 +00:00
* Dictionary that contains configuration options for the ClearML Python Package and related options, including storage,
2021-05-13 23:48:51 +00:00
metrics, network, AWS S3 buckets and credentials, Google Cloud Storage, Azure Storage, log, and development.
<br/>
#### sdk.aws
**`sdk.aws`** (*dict*)
* Dictionary with AWS storage options.
<br/>
##### sdk.aws.boto3
**`sdk.aws.boto3`** (*dict*)
* Dictionary of AWS Storage, Boto3 options. The keys include:
* `max_multipart_concurrency` (*integer*) - The maximum number of threads making requests for a transfer.
* `multipart_threshold` (*integer*) - The transfer size threshold. If size above threshold, Boto3 will automatically use multipart uploads, downloads, and copies (in bytes)
* `multipart_chunksize` (*integer*) - The size of each part of a multipart transfer (in bytes).
* `pool_connections` (*integer*) - The maximum number of Boto3 pool connections.
2021-05-13 23:48:51 +00:00
<br/>
##### sdk.aws.s3
**`sdk.aws.s3`** (*dict*)
* Dictionary of AWS Storage, AWS S3 options.
---
2022-08-10 16:38:53 +00:00
**`sdk.aws.s3.extra_args`** (*dict*)
* Additional [ExtraArgs](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-uploading-files.html#the-extraargs-parameter)
2022-08-14 09:12:18 +00:00
passed to boto3 when uploading files. This can be set per-bucket under `sdk.aws.s3.credentials`.
2022-08-10 16:38:53 +00:00
---
2021-05-13 23:48:51 +00:00
**`sdk.aws.s3.key`** (*string*)
* For AWS S3, the default access key for any bucket that is not specified in the `sdk.aws.s3.credentials` section.
---
2024-05-16 12:54:35 +00:00
**`sdk.aws.s3.profile`** (*string*)
* For AWS S3, the default profile name for any bucket that is not specified in the `sdk.aws.s3.credentials` section.
2021-05-13 23:48:51 +00:00
2024-05-16 12:54:35 +00:00
---
2021-05-13 23:48:51 +00:00
**`sdk.aws.s3.region`** (*string*)
* For AWS S3, the default region name for any bucket that is not specified in the `sdk.aws.s3.credentials` section.
---
**`sdk.aws.s3.secret`** (*string*)
* For AWS S3, the default secret access key for any bucket that is not specified in the `sdk.aws.s3.credentials` section.
2022-04-13 08:45:35 +00:00
---
**`sdk.aws.s3.use_credentials_chain`** (*bool*)
2023-11-14 11:38:51 +00:00
* Set to `true` to let Boto3 look for and pick the right credentials, instead of using the explicitly provided
default credentials (`sdk.aws.s3.secret` and `sdk.aws.s3.key`). Boto3 looks for credentials in environment variables,
a credential file, and metadata service with an IAM role configured. See [Boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html#configuring-credentials).
2022-04-13 08:45:35 +00:00
2021-05-13 23:48:51 +00:00
<br/>
###### sdk.aws.s3.credentials
**`sdk.aws.s3.credentials`** (*[dict]*)
* List of dictionaries, for AWS S3, each dictionary can contain the credentials for individual S3 buckets or hosts for individual buckets.
---
**`sdk.aws.s3.credentials.bucket`** (*string*)
* For AWS S3, if specifying credentials for individual buckets, then this is the bucket name for an individual bucket.
:::note
See the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html) for restrictions
and limitations on bucket naming.
:::
---
**`sdk.aws.s3.credentials.host`** (*string*)
* For AWS S3, if specifying credentials for individual buckets by host, then this option is the host URL and optionally the port number.
---
**`sdk.aws.s3.credentials.key`** (*string*)
* For AWS S3:
* If specifying individual bucket, then this is the access key for the bucket.
* If specifying individual buckets by host, then this is access key for all buckets on the host.
---
**`sdk.aws.s3.credentials.multipart`** (*bool*)
* For AWS S3, if specifying credentials for individual buckets by host, then this indicates whether to allow multipart upload of a single object (object as a set of parts).
The values are:
* `true` - Enabled
* `false` - Disabled
---
**`sdk.aws.s3.credentials.secret`** (*bool*)
* For AWS S3:
* If specifying credentials for a specific bucket, then this is the secret key for the bucket.
* If specifying credentials for individual buckets by host, then this is the secret key for all buckets on the host.
---
**`sdk.aws.s3.credentials.secure`** (*string*)
* For AWS S3, if specifying credentials for individual buckets by host, then this indicates whether the host is secure.
The values are:
* `true` - Secure
* `false` - Not secure
<br/>
2021-11-10 07:54:44 +00:00
---
**`sdk.aws.s3.credentials.verify`** (*string*/*boolean*)
* Specify whether to verify SSL certificates. By default, they are verified. Input a path to a CA bundle, or set to
`false` to skip SSL certificate verification.
<br/>
2021-05-13 23:48:51 +00:00
#### sdk.azure.storage
**`sdk.azure.storage.containers`** (*[dict]*)
* List of dictionaries, each dictionary contains credentials for an Azure Storage container.
---
**`sdk.azure.storage.containers.account_key`** (*string*)
* For Azure Storage, this is the credentials key.
---
**`sdk.azure.storage.containers.account_name`** (*string*)
2023-01-10 08:29:40 +00:00
* For Azure Storage, this is the account name.
2021-05-13 23:48:51 +00:00
---
**`sdk.azure.storage.containers.container_name`** (*string*)
2023-01-10 08:29:40 +00:00
* For Azure Storage, this is the container name.
2021-05-13 23:48:51 +00:00
<br/>
2024-05-16 12:54:35 +00:00
#### sdk.dataset
**`sdk.dataset.preview`** (*[dict]*)
* Set limits for the objects that are logged as dataset previews:
2024-05-19 08:49:36 +00:00
* **`sdk.dataset.preview.media`** (*dict*) - Set limits for media files that are logged as dataset previews. Available
2024-05-16 12:54:35 +00:00
options:
* **`sdk.dataset.preview.media.max_file_size`** (*int*) - Maximum file size in bytes of a preview object (e.g. image,
video, html, etc.). Files exceeding this size will not be reported as previews.
* **`sdk.dataset.preview.media.image_count`** (*int*) - The maximum number of image files reported as previews
* **`sdk.dataset.preview.media.video_count`** (*int*) - The maximum number of video files reported as previews
* **`sdk.dataset.preview.media.audio_count`** (*int*) - The maximum number of image files reported as previews
* **`sdk.dataset.preview.media.html_count`** (*int*) - The maximum number of html files reported as previews
* **`sdk.dataset.preview.media.json_count`** (*int*) - The maximum number of json files reported as previews
2024-05-19 08:49:36 +00:00
* **`sdk.dataset.preview.tabular`** (*dict*) - Set limits for tabular files that are logged as dataset previews. Available
2024-05-16 12:54:35 +00:00
options:
* **`sdk.dataset.preview.tabular.row_count`** (*int*) - The maximum number of rows for each tabular file reported as a preview. By default, it will report only the first 10 rows from a file
* **`sdk.dataset.preview.tabular.table_count`** (*int*) - The maximum number of tables reported as preview in a dataset
2021-05-13 23:48:51 +00:00
#### sdk.development
**`sdk.development`** (*dict*)
* Dictionary of development mode options.
---
**`sdk.development.default_output_uri`** (*string*) <a class="tr_top_negative" id="config_default_output_uri"></a>
* The default output destination for model checkpoints (snapshots) and artifacts. If the `output_uri` parameter is not provided
2023-06-13 09:21:35 +00:00
when calling [`Task.init()`](../references/sdk/task.md#taskinit), then use the destination in `default_output_uri`.
2021-05-13 23:48:51 +00:00
2023-01-29 12:56:24 +00:00
---
2022-04-27 10:57:21 +00:00
**`sdk.development.detailed_import_report`** (*bool*)
* If `true` (default is `false`), provide a detailed report of all python package imports as comments inside the "Installed packages" section.
2021-05-13 23:48:51 +00:00
---
2022-04-27 10:57:21 +00:00
**`sdk.development.detect_with_conda_freeze`** (*bool*)
* If `true` (default is `false`), instead of analyzing the code with Pigar, analyze with `conda freeze`
---
**`sdk.development.detect_with_pip_freeze`** (*bool*)
* If `true` (default is `false`), instead of analyzing the code with Pigar, analyze with `pip freeze`
---
**`sdk.development.force_analyze_entire_repo`** (*bool*)
* Default auto-generated requirements optimize for smaller requirements.
The values are:
* `true` - Analyze the entire repository regardless of the entry point.
* `false`- First analyze the entry point script, if it does not contain other local files,
do not analyze the entire repository.
---
**`sdk.development.log_os_environments`** (*[string]*)
* Log specific environment variables. OS environments are listed in the UI, under an experiment's
2023-01-12 10:49:55 +00:00
**CONFIGURATION > HYPERPARAMETERS > Environment** section.
2022-04-27 10:57:21 +00:00
Multiple selected variables are supported including the suffix "\*". For example: "AWS\_\*" will log any OS environment
variable starting with "AWS\_". Example: `log_os_environments: ["AWS_*", "CUDA_VERSION"]`
* This value can be overwritten with OS environment variable `CLEARML_LOG_ENVIRONMENT=AWS_*,CUDA_VERSION`.
2022-04-27 10:57:21 +00:00
---
2021-05-13 23:48:51 +00:00
2024-05-16 12:54:35 +00:00
**`sdk.development.store_uncommitted_code_diff`** (*bool*)
2021-05-13 23:48:51 +00:00
2022-04-27 10:57:21 +00:00
* For development mode, indicates whether to store the uncommitted `git diff` or `hg diff` in the experiment manifest.
2021-05-13 23:48:51 +00:00
The values are:
* `true` - Store the `diff` in the `script.requirements.diff` section
* `false` - Do not store the diff.
---
2022-04-27 10:57:21 +00:00
**`sdk.development.suppress_update_message`** (*bool*)
* If `true` (default `false`), *clearml* update messages will not be printed to the console.
* This value can be overwritten with OS environment variable `CLEARML_SUPPRESS_UPDATE_MESSAGE=1`
---
2021-05-13 23:48:51 +00:00
**`sdk.development.support_stopping`** (*bool*)
* For development mode, indicates whether to allow stopping an experiment if the experiment was aborted externally, its status was changed, or it was reset.
The values are:
* `true` - Allow
* `false` - Do not allow
---
2022-12-26 09:08:10 +00:00
<a id="task_reuse"/>
2021-05-13 23:48:51 +00:00
**`sdk.development.task_reuse_time_window_in_hours`** (*float*)
* For development mode, the number of hours after which an experiment with the same project name and experiment name is reused.
---
**`sdk.development.vcs_repo_detect_async`** (*bool*)
* For development mode, indicates whether to run version control repository detection asynchronously.
The values are:
* `true` - Run asynchronously
* `false` - Do not run asynchronously
<br/>
##### sdk.development.worker
**`sdk.development.worker`** (*dict*)
* Dictionary of development mode options for workers.
---
**`sdk.development.worker.log_stdout`** (*bool*)
* For development mode workers, indicates whether all stdout and stderr messages are logged.
The values are:
* `true` - Log all
* `false` - Do not log all
---
2024-05-16 12:54:35 +00:00
2024-05-16 15:08:58 +00:00
**`sdk.development.worker.max_wait_for_first_iteration_to_start_sec`** (*integer*)
2024-05-16 12:54:35 +00:00
* Maximum time (in seconds) for allowing the resource monitoring to switch back to reporting iterations as the x-axis
after initially starting to report "seconds from start." If the specified time limit is exceeded, the resource monitoring
will continue reporting using "seconds from start" as the x-axis.
---
2021-05-13 23:48:51 +00:00
**`sdk.development.worker.ping_period_sec`** (*integer*)
* For development mode workers, the interval in seconds for a worker to ping the server testing connectivity.
---
**`sdk.development.worker.report_event_flush_threshold`** (*integer*)
* The number of events that trigger a report
---
2021-05-13 23:48:51 +00:00
2022-04-27 10:57:21 +00:00
**`sdk.development.worker.report_global_mem_used`** (*bool*)
* Compatibility feature to report memory usage for the entire machine
The values are:
* `true` - Report memory usage for the entire machine
* `false` (default) - Report memory usage only on the running process and its sub-processes
---
2021-05-13 23:48:51 +00:00
**`sdk.development.worker.report_period_sec`** (*integer*)
2022-01-18 11:23:47 +00:00
* For development mode workers, the interval in seconds for a development mode ClearML worker to report.
2021-05-13 23:48:51 +00:00
2024-05-16 12:54:35 +00:00
---
**`sdk.development.worker.report_start_sec`** (*integer*)
* The number of seconds after which the development mode worker starts resource reporting.
---
**`sdk.development.worker.wait_for_first_iteration_to_start_sec`** (*integer*)
* Controls how long (in seconds) to wait for iteration reporting to be used as x-axis for resource monitoring. If iteration
reporting is unavailable once time is exceeded, "seconds from start" will be used for the x-axis.
2021-05-13 23:48:51 +00:00
<br/>
#### sdk.google.storage
**`sdk.google.storage`** (*dict*)
* Dictionary of Google Cloud Storage credentials.
---
**`sdk.google.storage.project`** (*string*)
* For Google Cloud Storage, the name of project.
---
**`sdk.google.storage.credentials_json`** (*string*)
* For Google Cloud Storage, the file path for the default Google storage credentials JSON file.
<br/>
##### sdk.google.storage.credentials
**`sdk.google.storage.credentials`** (*[dict]*)
2022-12-26 09:08:10 +00:00
* A list of dictionaries, with specific credentials per bucket and subdirectory
2021-05-13 23:48:51 +00:00
---
**`sdk.google.storage.credentials.bucket`** (*string*)
* For Google Cloud Storage, if specifying credentials by the individual bucket, the name of the bucket.
---
**`sdk.google.storage.credentials.credentials_json`** (*string*)
* For Google Cloud Storage, if specifying credentials by the individual bucket, the file path for the default Google storage credentials JSON file.
---
**`sdk.google.storage.credentials.project`** (*string*)
* For Google Cloud Storage, if specifying credentials by the individual bucket, the name of the project.
---
**`sdk.google.storage.credentials.subdir`** (*string*)
* For Google Cloud Storage, if specifying credentials by the individual bucket, a subdirectory within the bucket.
<br/>
#### sdk.log
**`sdk.log`** (*dict*)
* Dictionary of log options.
---
**`sdk.log.disable_urllib3_info`** (*bool*)
* Indicates whether to disable `urllib3` info messages.
The values are:
* `true` - Disable
* `false` - Do not disable
---
**`sdk.log.null_log_propagate`** (*bool*)
* As debugging feature, indicates whether to allow null log messages to propagate to the root logger (so they appear as stdout).
The values are:
* `true` - Allow
* `false` - Do not allow
---
**`sdk.log.task_log_buffer_capacity`** (*integer*)
* The maximum capacity of the log buffer.
#### sdk.metrics
**`sdk.metrics`** (*dict*)
* Dictionary of metrics options.
---
**`sdk.metrics.file_history_size`** (*string*)
* The history size for debug files per metric / variant combination
* Each metric / variant combination, `file_history_size` indicates the number of files stored in the upload destination
* Files are recycled so that `file_history_size` is the maximum number of files at any time.
---
**`sdk.metrics.matplotlib_untitled_history_size`** (*integer*)
* The maximum history size for `matplotlib` `imshow` files per plot title.
* File names for the uploaded images are recycled so that the number of images stored in the upload destination for each matplotlib plot title
will not exceed the value of `matplotlib_untitled_history_size`
---
**`sdk.metrics.plot_max_num_digits`** (*integer*)
* The maximum number of digits after the decimal point in plot reporting. This can reduce the report size.
---
**`sdk.metrics.tensorboard_single_series_per_graph`** (*bool*)
2023-12-21 09:57:16 +00:00
:::note
2024-05-16 12:54:35 +00:00
This option is deprecated. This plot behavior is now controlled via the UI
2023-12-21 09:57:16 +00:00
:::
2021-05-13 23:48:51 +00:00
* Indicates whether plots appear using TensorBoard behavior where each series is plotted in its own graph (plot-per-graph).
The values are:
* `true` - Support TensorBoard behavior
* `false` - Do not
<br/>
##### sdk.metrics.images
**`sdk.metrics.images`** (*dict*)
* Dictionary of metrics images options.
---
**`sdk.metrics.images.format`** (*string*)
2024-03-12 09:24:42 +00:00
* The image file format for generated debug images (such as "JPEG").
2021-05-13 23:48:51 +00:00
---
**`sdk.metrics.images.quality`** (*integer*)
* The image quality for generated debug images.
---
**`sdk.metrics.images.subsampling`** (*integer*)
* The image subsampling for generated debug images.
<br/>
#### sdk.network
2022-12-26 08:34:56 +00:00
**`sdk.network.file_upload_retries`** (*int*)
* Number of retries before failing to upload a file
---
2021-05-13 23:48:51 +00:00
**`sdk.network.iteration`** (*dict*)
* Dictionary of network iteration options.
---
**`sdk.network.iteration.max_retries_on_server_error`**` (*integer*)
* For retries when getting frames from the server, if the server returned an error (http code 500), then this is the maximum number of retries.
---
2022-04-27 10:57:21 +00:00
**`sdk.network.iteration.retry_backoff_factor_sec`** (*integer*)
2021-05-13 23:48:51 +00:00
* For retries when getting frames from the server, this is backoff factor for consecutive retry attempts. This is used to
2024-06-23 07:00:06 +00:00
determine the number of seconds between retries. The retry backoff factor is calculated as `{backoff factor} * (2 ^ ({number of total retries} - 1))`.
2021-05-13 23:48:51 +00:00
<br/>
##### sdk.network.metrics
**`sdk.network.metrics`** (*dict*)
* Dictionary of network metrics options.
---
**`sdk.network.metrics.file_upload_starvation_warning_sec`** (*integer*)
* The number of seconds before a warning is issued that file-bearing events are sent for upload, but no uploads occur.
---
**`sdk.network.metrics.file_upload_threads`** (*integer*)
* The number of threads allocated to uploading files when transmitting metrics for a specific iteration.
<br/>
#### sdk.storage
**`sdk.storage`** (*dict*)
* Dictionary of storage options.
<br/>
##### sdk.storage.cache
**`sdk.storage.cache`** (*dict*)
* Dictionary of storage cache options. The keys include:
* `default_base_dir` (*str*) - The default base directory for caching. The default is the `<system_temp_folder>/clearml_cache`.
* `default_cache_manager_size` (*int*) - Maximum number of files in the cache (default 100 files).
:::important Enterprise features
The ClearML Enterprise plan also supports the following configuration options under `sdk.storage.cache`:
* `size.max_used_bytes` (*str*) - Maximum size of the local cache directory. If set to `-1`, the directory can use
2024-03-12 09:24:42 +00:00
the available disk space. Specified in storage units (for example: `1GB`, `2TB`, `500MB`).
* `size.min_free_bytes` (*str*) - Minimum amount of free disk space that should be left. If `size.max_used_bytes` is
2024-05-16 12:54:35 +00:00
set to `-1`, this configuration option will limit the cache directory maximum size to `free disk space - size.min_free_bytes`.
2024-03-12 09:24:42 +00:00
Specified in storage units (for example: `1GB`, `2TB`, `500MB`).
* `zero_file_size_check` (*bool*)- If set to `True`, each cache hit will also check the cached file size, making sure
it is not zero (default `False`)
* `secondary` (*dict*) - Set up a secondary cache (acts as an L2 cache). When a request is made, the primary cache is
queried first. If the data is not in the primary cache, the secondary cache is queried. In case of a cache
miss, the data will be pulled to the primary cache, and then copied to the secondary cache. The
`sdk.storage.cache.secondary` dictionary supports the same option as the primary cache: `default_base_dir` (required), `size.max_used_bytes`,
`size.min_free_bytes`, etc. If an option is unspecified, it defaults to the primary cache's value.
:::
2021-05-13 23:48:51 +00:00
<br/>
2021-05-13 23:48:51 +00:00
##### sdk.storage.direct_access
**`sdk.storage.direct_access`** (*dict*)
* Dictionary of storage direct access options.
---
**`sdk.storage.direct_access.url`** (*string*)
* Specify a list of direct access objects using glob patterns which matches sets of files using wildcards. Direct access
objects are not downloaded or cached, and any download request will return a direct reference.
2021-10-21 06:42:11 +00:00
2022-12-26 08:34:56 +00:00
##### sdk.storage.log
**`sdk.storage.log.report_download_chunk_size_mb`** (*int*)
* Specify how often in MB the `StorageManager` reports its download progress to the console. By default, it reports
every 5MB
---
**`sdk.storage.log.report_upload_chunk_size_mb`** (*int*)
* Specify how often in MB the `StorageManager` reports its upload progress to the console. By default, it reports every
5MB
2024-05-16 12:54:35 +00:00
##### sdk.storage.path_substitution
**`sdk.storage.path_substitution`** (*[dict]*)
2024-05-16 15:08:58 +00:00
* List of dictionaries, where each dictionary contains path substitution mapping. This is useful in
cases where data was originally logged in one location and later moved, or when different workloads access the data through different mounts.
* Each dictionary contains a `registered_prefix` and a `local_prefix`. `registered_prefix` is the URL prefix logged in ClearML. `local_prefix` is the URL prefix to be used at runtime instead of the `registered_prefix` to access the data.
2024-05-16 12:54:35 +00:00
For example:
```
sdk {
storage {
path_substitution = [
{
registered_prefix = "s3://bucket/research"
local_prefix = "file:///mnt/shared/bucket/research"
},
{
registered_prefix = "file:///mnt/shared/folder/"
local_prefix = "file:///home/user/shared/folder"
}
]
}
}
```
### environment section
**`environment`** (*dict*)
Dictionary of environment variables and values which are applied to the OS environment as `key=value` for each key-value
pair.
Enable by setting `agent.apply_environment` OR `sdk.apply_environment` to `true`.
Example:
```
environment {
key_a: value_a
key_b: value_b
}
```
### files section
**`files`** (*dict*)
The `files` section allows to define files which will be auto-generated at designated paths with predefined content and
target format.
Enable by setting `agent.apply_files` OR `sdk.apply_files` to `true`.
Define each file's contents in a dictionary. Files content options include:
* `contents` - Target file's content, typically a string (or any base type int/float/list/dict etc.)
* `format` - Custom format for the contents. Currently supports `base64` to automatically decode a
base64-encoded contents string, otherwise ignored
* `path` - Target file's path, may include `~` and inplace env vars
* `target_format` - Format used to encode contents before writing into the target file. Supported values are `json`, `yaml`,
`yml`, and `bytes` (in which case the file will be written in binary mode). Default is text mode.
2024-03-12 09:24:42 +00:00
* `mode` - File-system mode (permissions) to apply to the file after its creation. The mode string will be parsed into an integer (for example: `"0o777"` for `-rwxrwxrwx`)
* `overwrite` - Overwrite the target file in case it exists. Default is `true`.
Example:
```
files {
myfile1 {
contents: "The quick brown fox jumped over the lazy dog"
path: "/tmp/fox.txt"
2023-08-09 09:06:16 +00:00
mode: "0o777"
}
myjsonfile {
contents: {
some {
nested {
value: [1, 2, 3, 4]
}
}
}
path: "/tmp/test.json"
target_format: json
}
}
# Apply top-level files section from configuration into local file system
sdk {
apply_files: true
}
```
## Configuration Vault
2021-10-21 06:42:11 +00:00
2024-02-15 13:28:26 +00:00
:::important Enterprise Feature
This feature is available under the ClearML Enterprise plan
2021-10-21 06:42:11 +00:00
:::
The ClearML Enterprise Server includes the configuration vault. Users can add configuration sections to the vault and, once
2023-04-04 13:16:54 +00:00
the vault is enabled, the configurations will be merged into the ClearML and ClearML Agent configurations upon code execution and/or agent launch.
2021-10-21 06:42:11 +00:00
These configurations override the configurations written in the configuration file.
See [configuration vault](../webapp/webapp_profile.md#configuration-vault).