--- since: 1.0.6 --- # Configuration Contract The CLI reads its primary configuration from: ```text ~/.dplay/config.yaml ``` Secrets are optionally loaded from: ```text ~/.dplay/.secrets ``` ## Configuration consumed by the CLI The current implementation reads the following keys. ```yaml site: host: localhost http_port: 8000 http_protocol: http http_url: http://localhost:8000 ssl_port: 8443 ssl_protocol: https ssl_url: https://localhost:8443 django: settings_module: paystream.settings subdomains: - issues.localhost - docs.localhost ``` The exact values are application-specific. ### `site` Used by HTTP/HTTPS startup to derive: - host - port - protocol - browser URL ### `django.settings_module` Used to construct the environment passed to Celery subprocesses. ### `subdomains` The current SSL implementation iterates this value and creates explicit SAN entries as `.`. Do not assume a nested `subdomains.extra_domains` structure unless the host application's configuration loader normalizes it before the CLI sees it. ## Secrets file `.secrets` is parsed as simple `KEY=VALUE` lines. Comments and blank lines are ignored. Example: ```text DATABASE_PASSWORD=... API_KEY=... ``` Values are placed into the current process environment. Do not commit this file.