fix(deploy): correct service selection and recovery validation
ci / Workflows (pull_request) Successful in 6s
ci / Shell (pull_request) Successful in 16s
ci / Python and tests (pull_request) Successful in 6s
ci / Compose (pull_request) Successful in 12s
ci / Formatting (pull_request) Successful in 15s
ci / Dockerfiles (pull_request) Successful in 4s
ci / YAML (pull_request) Successful in 19s
ci / Kubernetes (pull_request) Successful in 7s
ci / image-plan (pull_request) Skipped
ci / Image (${{ matrix.name }}) (pull_request) Skipped
ci / build (pull_request) Skipped
ci / Workflows (pull_request) Successful in 6s
ci / Shell (pull_request) Successful in 16s
ci / Python and tests (pull_request) Successful in 6s
ci / Compose (pull_request) Successful in 12s
ci / Formatting (pull_request) Successful in 15s
ci / Dockerfiles (pull_request) Successful in 4s
ci / YAML (pull_request) Successful in 19s
ci / Kubernetes (pull_request) Successful in 7s
ci / image-plan (pull_request) Skipped
ci / Image (${{ matrix.name }}) (pull_request) Skipped
ci / build (pull_request) Skipped
This commit is contained in:
1 parent
4c7c53e0f2
commit
c4cbd87590
7 files changed
+272
-18
No files matched your search
@@ -157,3 +157,25 @@ run first. Restore the runner config/unit from `.before-<timestamp>` backups,
|
||||
reload systemd and restart the runner. Restore the prior workflows from Git.
|
||||
Production data and persistent volumes stay where they were. Do not remove run
|
||||
state or Compose recovery files until recovery is confirmed.
|
||||
|
||||
### Compose configuration recovery
|
||||
|
||||
Successful deploys save the complete resolved Compose configuration in
|
||||
`~/.local/state/homelab-deploy/compose-configs/`. These files can contain secrets.
|
||||
Keep them private and do not commit or upload them.
|
||||
The next deploy uses this configuration for its recovery file, including old
|
||||
commands, environment, mounts, ports, and removed services. The recovery command
|
||||
uses `--remove-orphans` to remove services added by the failed deploy. It does
|
||||
not restore volume data or reverse database migrations.
|
||||
|
||||
On the first run after this update, the controller can use the Compose file
|
||||
from the previous successful run. If that file is absent, it reads the persistent
|
||||
checkout and checks its service configuration hashes against existing containers.
|
||||
A mismatch stops preflight. Restore the previous configuration before retrying.
|
||||
Update the installed controller with `bash .gitea/runner/setup-workstation.sh`
|
||||
from the reviewed checkout before using this change.
|
||||
|
||||
New namespaces are checked during preflight. Server validation of their resources
|
||||
runs after namespace creation and before application resources are applied.
|
||||
Plan mode does not create namespaces. A failed deferred check can leave an empty
|
||||
namespace; inspect it before removing it.
|
||||
Reference in new issue
Block a user