Replace deprecated Bullseye VM in Cloud VPS#473
Merged
Conversation
Orients Claude Code on the Django layout, the domain model, the current Docker Swarm deployment, and the in-flight move to the CloudVPS Compose Deploy toolkit under T402055. Every concrete claim was validated against the code, the project wiki, and Phabricator before writing; the deployment section points at the toolkit contract so changes favor the migration rather than the swarm-era setup. Assisted-by: Claude Opus 4.8
Prepares the repo for the CloudVPS Compose Deploy toolkit (rootless docker compose) that replaces the Bullseye swarm VM; master is the deploy branch. Compose files: - Publish only nginx to the host everywhere; drop the dev-only host publishes on externallinks, db, and cache. The app is reached through nginx, and ad-hoc service access goes through docker compose exec - Add docker-compose.deploy.yml carrying the production-runtime concerns the base omits for dev, currently a restart policy on every service. The toolkit selects it via COMPOSE_FILE and pulls prebuilt images, since the base already declares image: on every service Toolkit contract: - Add conf/crontab with the redeploy tick and the toolkit's envsubst placeholders; the app's own jobs stay in-container off ./crontab - Repoint the HOST_BACKUP_DIR guidance in template.env at the toolkit's backup mount CI: - Validate the base + deploy-overlay merge the toolkit runs, which the existing build-and-test job never exercises Assisted-by: Claude Opus 4.8 Bug: T402055
The compose-deploy config is now in, so the swarm-is-current framing in the deployment section is stale. Assisted-by: Claude Opus 4.8 Bug: T402055
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Replace deprecated Bullseye VM in Cloud VPS:
Rationale
We need to migrate this app to a new VM. Every VM needs replaced every few years, and our fleet is growing. Using this share deploy toolkit dramatically reduces the risk and effort involved with these via automation and conventions. Same thing with adding Claude config. We're doing almost the same thing with every VM migration, and Claude is able to tackle the required changes with review.
Phabricator Ticket
T402055
How Has This Been Tested?
There are no app level changes to test here. I have added a config smoke test for the image publishing step ins ci, but otherwise, deployment is the test
Screenshots of your changes (if appropriate):
Types of changes
What types of changes does your code introduce? Add an
xin all the boxes that apply: