Automatic Restart
Watching a config for changes requires an upgraded subscription
Watching a config for changes is available with our Team and Enterprise plans. View our plans or book a demo for more details.
The Doppler CLI can automatically restart your process when your secrets change.
Usage
To enable auto restart of your process, pass the --watch
flag to the doppler run
command.
doppler run --watch -- ./your_command.sh
Technical Details
Doppler's CLI strongly prioritizes the uptime of your application. Your process is only restarted once the latest secrets are successfully fetched. Additionally, your initial command is executed immediately, before the CLI attempts to watch for changes. This ensures that an inability to watch for changes does not prevent your process from starting.
The CLI's restart logic is as follows:
- CLI receives message over long-lived HTTP connection indicating secrets have changed
- CLI fetches the latest secrets
SIGTERM
is sent to the originally started process- CLI waits up to 10 seconds for the process to exit
- If process still hasn't exited,
SIGKILL
is sent - If using
--mount
flag, secrets file is remounted with the latest secrets - Originally provided command is re-run
Limitations
When multiple instances of the CLI are watching the same Doppler config, they will all receive the latest secrets at roughly the same time. This effectively means that all processes will be restarted at the same time. This can result in downtime when used in production. For production use cases, it is recommended to instead use the Doppler Kubernetes Operator.
Updated about 2 months ago