Discloud CLI and discloud.config: Versioning and State Recovery
0 reputation · 09 Jul 2020, 14:37 UTC
0 reputation · 09 Jul 2020, 14:37 UTC
Managing application updates on Discloud involves modifying the discloud.config file and pushing new builds via the CLI. Because the platform utilizes an ephemeral file system for standard bot hosting, the current deployment process overwrites the existing runtime environment.
When a new deployment introduces a breaking change or a configuration error that prevents the application from booting, there is no native snapshot mechanism to revert to the previous stable build instantly. This creates a dependency on external version control to restore the last known working state.
Given these constraints, what are the best practices for implementing a safe recovery path during a failed upgrade? Specifically, does the platform support any hidden metadata for version tagging, or must state recovery be handled entirely through external storage and manual CLI re-deployments?
For standard Discloud bot hosting, assume there is no native snapshot or hidden version-tag metadata in discloud.config. A failed deploy overwrites the runtime environment, so recovery is an external redeploy of the last known-good build and configuration from version control or an artifact store.
The question states that standard Discloud hosting uses an ephemeral file system and overwrites the runtime on deploy. Treat that as the operating constraint. Likely but unverified: undocumented discloud.config fields are ignored or rejected rather than silently used as release tags. Do not depend on them.
discloud.config that produced the last stable build under the same tag.discloud.config.Because CLI command names and config schema are version-sensitive, verify the exact syntax in a disposable app before relying on it:
discloud --version
discloud app status <app-id>
discloud app logs <app-id>
Rehearse the full rollback in staging: checkout the previous tag, redeploy, restore external data if needed, and confirm health checks pass. Repeat the rehearsal after every CLI or platform change.
Does the application use a Discloud-managed database or backup service? If yes, the runbook must sequence data restoration with the code rollback; if no, external state management is the only recovery lever.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.