Remove obsolete Kamal deployment files and simplify release documentation
Remove repository files and tests used only by the retired Kamal application deployment path. Keep runtime compatibility names that are still active infrastructure contracts, including the external Docker network name `kamal` and existing `KAMAL_REGISTRY_PASSWORD` secret until a separately coordinated rename is worthwhile. Do not change deployed hosts or remove retained containers/images in this code cleanup. Rewrite deployment/README.md as a short operational reference: engine and portal release steps, concise system flow, status/inspection commands, failure/rollback actions, and one-time host requirements. Update current project/portal docs and comments that still describe Kamal as active. Historical docs may retain historical references. Acceptance: no active code/workflow references deleted Kamal scripts/config; release and CI workflows remain valid; rollout tests and targeted source builds pass; dedicated branch and Gitea PR against develop. Implemented locally on chore/remove-kamal-deployment in two commits: b4a753215 removes .kamal hooks/secrets, config/deploy*.yml, old all-in-one root Dockerfile, deploy-engines/deployment-scope scripts, Kamal config test and obsolete mocked deployment tests; updates workflows and PFE build metadata to AOEMU_RELEASE. 81b869a4c replaces deployment/README.md with a command/checklist guide for Ergo/Ithaca engines, independent portal releases, rollout order, inspection, retry, rollback, first bootstrap, host config and validation; current project/portal docs updated. Retained and documented only compatibility network name `kamal` and Forgejo secret `KAMAL_REGISTRY_PASSWORD`; kept .kamal/config Docker-context exclusions for residual local secret safety. Historical docs left unchanged. Validation passed: 17 Python rollout tests, 14 C# deployment tests, warnings-as-errors TheThreeEngines build, Python/shell/workflow YAML syntax, obsolete-file/reference checks and git diff whitespace. Two patch-scoped reviews completed; final review found no actionable issues after restoring residual exclusions, host env source-token docs, failed-drain TERM steps, protected-tag prerequisite, bootstrap steps, correct portal label inspection, destination-specific public checks, portal DB requirement and real-Docker smoke commands. Initial publication was blocked when the configured 1Password SSH agent could not sign with ED25519 "Home PC" (`communication with agent failed`); stopped without fallback or configuration changes. User restored access and explicitly requested one retry. Push then succeeded without force; branch tracks origin/chore/remove-kamal-deployment and working tree is clean. Pull request: #2766 — https://git.project-rk.com/prk/engines/pulls/2766 Title: chore: Remove obsolete Kamal deployment files Head/base: chore/remove-kamal-deployment → develop PR includes concise Summary/Testing, compatibility caveats and exact validation results. Task remains in progress pending PR review/merge. After PR creation, user separately authorized finishing live Kamal/rollback cleanup and explicitly declined retaining rollback assets; this host cleanup is operational state, not part of the repository PR. Live cleanup completed on Ergo and Ithaca without restarting active services. Removed every stopped legacy app container carrying old service/destination labels; removed root /root/.kamal app env, audit and empty proxy state after content allowlist checks; removed all non-current release bundles, previous/failure files, cutover/preparation snapshots and notice metadata. Preserved only current bundles: Ergo engines/5277-1; Ithaca engines/5280-1 and portal/5285-1, plus current/high-water/attempt/lock state. Preserved root-only /etc/prk env files, Docker registry login, infrastructure, volumes and external network `kamal`. Pruned only unused `git.project-rk.com/prk-private/engines*` local image IDs while preserving every current manifest reference (including warning CLI) and every image used by any remaining container. Ergo cleanup initially stopped after successful container/bundle/Kamal removal because an old monolithic image had multiple tags; active services remained healthy. Diagnosed Docker's tag conflict and completed using forced removal by precomputed unused image ID only. Removed 50 obsolete PRK image IDs on Ergo and 12 on Ithaca. Did not delete remote registry packages or BuildKit registry caches. Final live validation: Ergo has exactly six managed engine containers healthy with zero restarts, no service=engines legacy containers, no /root/.kamal, and only current bundle. Ithaca has exactly eight managed gameplay containers and one managed portal healthy with zero restarts, no legacy containers, no /root/.kamal, and only two current bundles. MSSQL/RabbitMQ/Traefik remain running on both hosts. Public Ergo Login/PFE/Chat, Ithaca Login/all four PFEs/Chat and portal readiness all pass; portal reports portal_v0.1.0. Cleanup reclaimed old local image storage while leaving current operation intact.
Checklist
0 of 0 completeNo checklist items.
- Area
- Project Rubi-Ka
- Project
- engines
- Kind
- Chore
- Task ID
tsk_a3ma52f4hm- Updated