Skip to content

Config reference


Configuration for dda itself is stored in a config.toml file located by default in one of the following platform-specific directories:

Platform Directory
macOS ~/Library/Application Support/dd-agent-dev
Windows %USERPROFILE%\AppData\Local\dd-agent-dev
Linux $XDG_CONFIG_HOME/dd-agent-dev (the XDG_CONFIG_HOME environment variable defaults to ~/.config on Linux)

You can select a custom path to the file using the --config root option or by setting the ConfigEnvVars.CONFIG environment variable.

The file can be managed by the config command group.

Root

RootConfig

The root configuration for the application. This is available as the Application.config property.

orgs

orgs: dict[str, OrgConfig] = field(default_factory=_default_orgs)

env

env: EnvConfig = field(default_factory=EnvConfig)

envs

envs: dict[str, dict[str, Any]] = {}

storage

storage: StorageDirs = field(default_factory=StorageDirs)

git

git: GitConfig = field(default_factory=GitConfig)

github

github: GitHubConfig = field(default_factory=GitHubConfig)

terminal

terminal: TerminalConfig = field(default_factory=TerminalConfig)

Environments

EnvConfig

dev

dev: DevEnvConfig = field(default_factory=DevEnvConfig)

DevEnvConfig

[env.dev]
default-type = "linux-container"
clone-repos = false
universal-shell = false

default_type

default_type: str = field(
    name="default-type", default=DEFAULT_DEV_ENV
)

clone_repos

clone_repos: bool = field(name='clone-repos', default=False)

universal_shell

universal_shell: bool = field(name='universal-shell', default=False)

Git

GitConfig

user

user: GitUser = field(default_factory=GitUser)

GitUser

[git.user]
name = "U.N. Owen"
email = "void@some.where"

name

name: str = field(default_factory=default_user_name)

email

email: str = field(default_factory=default_user_email)

GitHub

GitHubConfig

auth

auth: GitHubAuth = field(default_factory=GitHubAuth)

GitHubAuth

[github.auth]
user = "username"
token = "*****"

user

user: str = ''

token

token: str = ''

Organization

OrgConfig

[orgs.default]
api_key = "*****"
app_key = "*****"
site = "datadoghq.com"
dd_url = "https://app.datadoghq.com"
logs_url = ""

api_key

api_key: str = os.environ.get('DD_API_KEY', '')

app_key

app_key: str = os.environ.get('DD_APP_KEY', '')

site

site: str = os.environ.get('DD_SITE', 'datadoghq.com')

dd_url

dd_url: str = os.environ.get("DD_DD_URL", "https://app.datadoghq.com")

logs_url

logs_url: str = os.environ.get('DD_LOGS_CONFIG_LOGS_DD_URL', '')

Storage

StorageDirs

[storage]
data = "/path/to/data"
cache = "/path/to/cache"

data

data: Path = field(default_factory=default_data_dir)

This is the directory that is used to persist data. By default it is set to one of the following platform-specific directories:

Platform Directory
macOS ~/Library/Application Support/dd-agent-dev
Windows %USERPROFILE%\AppData\Local\dd-agent-dev
Linux $XDG_DATA_HOME/dd-agent-dev (the XDG_DATA_HOME environment variable defaults to ~/.local/share on Linux)

You can select a custom path to the directory using the --data-dir root option or by setting the ConfigEnvVars.DATA environment variable.

cache

cache: Path = field(default_factory=default_cache_dir)

This is the directory that is used to cache data. By default it is set to one of the following platform-specific directories:

Platform Directory
macOS ~/Library/Caches/dd-agent-dev
Windows %USERPROFILE%\AppData\Local\dd-agent-dev\Cache
Linux $XDG_CACHE_HOME/dd-agent-dev (the XDG_CACHE_HOME environment variable defaults to ~/.cache on Linux)

You can select a custom path to the directory using the --cache-dir root option or by setting the ConfigEnvVars.CACHE environment variable.

join

join(*parts: str) -> StorageDirs

Join the storage directories with the given parts.

Parameters:

Name Type Description Default
parts str

The parts to join.

()

Returns:

Type Description
StorageDirs

A new StorageDirs instance with the joined paths.

Terminal

TerminalConfig

[terminal]
verbosity = 0

verbosity

verbosity: Verbosity = INFO

styles

styles: TerminalStyles = field(default_factory=TerminalStyles)

TerminalStyles

Styling documentation:

[terminal.styles]
error = "bold red"
warning = "bold yellow"
info = "bold"
success = "bold cyan"
waiting = "bold magenta"
debug = "bold on bright_black"
spinner = "simpleDotsScrolling"

error

error: str = 'bold red'

warning

warning: str = 'bold yellow'

info

info: str = 'bold'

success

success: str = 'bold cyan'

waiting

waiting: str = 'bold magenta'

debug

debug: str = 'bold on bright_black'

spinner

spinner: str = 'simpleDotsScrolling'

The list of available spinners can be found here.