Configuration Overview
The probod daemon natively supports YAML configuration files for comprehensive control over all settings. To make deployment easier in cloud-native environments, Docker containers include an entrypoint script that can automatically generate YAML configuration from environment variables.
Configuration Methods
Section titled “Configuration Methods”Probo supports two configuration methods depending on your deployment scenario:
- Config File — YAML configuration files read directly by
probod. This is the native configuration method and supports all settings. Use this when runningproboddirectly on a host or when you need fine-grained control. - Environment Variables — A Docker-specific convenience layer. The container’s entrypoint script translates environment variables into a YAML config file at startup. Use this for Docker Compose, Kubernetes, or other container orchestrators where environment variables are the natural configuration mechanism.
How Configuration is Loaded
Section titled “How Configuration is Loaded”-
Direct
probodusage: Pass a YAML file with the-cfg-fileflag. No config is loaded by default — you must always specify the file explicitly.Terminal window probod -cfg-file /path/to/config.yaml -
Docker containers: The entrypoint script checks for a config file at
/etc/probod/config.yml. If one exists (e.g., mounted as a volume), it is used as-is. If not, the script generates one from environment variables. -
Precedence: When running in Docker, a mounted config file always takes priority over environment variables. If both are present, the file wins and environment variables are ignored.
Which Method Should I Use?
Section titled “Which Method Should I Use?”| Scenario | Recommended Method |
|---|---|
| Docker Compose (development) | Environment variables |
| Docker Compose (production) | Config file (mounted as volume) |
| Kubernetes | Environment variables or config file via ConfigMap/Secret |
| Direct host deployment | Config file |