Repository navigation
Conversation
Add a Dockerfile so cabotage can build the image, bind the web process to the cabotage unix socket when /var/run/cabotage exists (falling back to PORT otherwise), and serve GET /health for the platform's probes. Replace the hard-coded herokuapp URL in the howto page with APP_URL, and replace the Heroku deploy button in the readme with cabotage notes.
Mariatta
marked this pull request as ready for review
October 20, 2026 04:23
Declare the health route with the module's RouteTableDef like the other handlers, use APP_PROTOCOL for the howto link so local http runs work, and assert the howto page renders APP_URL instead of the old Heroku host.
This was referenced Oct 20, 2026
Mariatta
added a commit
that referenced
this pull request
Oct 20, 2026
app.json only served the "Deploy to Heroku" button, which #464 removes from the readme. blurb-it moves to cabotage, which builds from the Dockerfile and ignores this file. It was the only JSON file in the repository, so drop the check-json pre-commit hook too; otherwise check-hooks-apply fails.
Mariatta
added a commit
that referenced
this pull request
Oct 20, 2026
app.json only served the "Deploy to Heroku" button, which #464 removes from the readme. blurb-it moves to cabotage, which builds from the Dockerfile and ignores this file. It was the only JSON file in the repository, so drop the check-json pre-commit hook too; otherwise check-hooks-apply fails.
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.
Part of moving the Python bots from Heroku to PSF cabotage, alongside python/bedevere#685 and python/miss-islington#729.
Changes
Dockerfileand.dockerignore. cabotage builds the image from the repo; thewebprocess still comes from theProcfile, so Heroku and cabotage can run side by side from the same branch.webprocess binds the unix socket/var/run/cabotage/cabotage.sockwhen that directory exists, withumask(0)so the TLS sidecar can connect. Otherwise it keeps usingPORT, so local runs and Heroku are unchanged.GET /healthreturns200 OKfor cabotage's liveness and readiness probes.blurb-it.herokuapp.comURL. It now usesAPP_URL, which the handler already passes to the template, so the page is correct on both hosts during the cutover.Verified locally
/health.PORTmode:/,/healthand/static/css/cover.cssall return 200.nobodywithHOME=/nonexistentand a tmpfs at/var/run/cabotage, which is how cabotage runs it. The socket is created with mode0777and/healthanswers over it.Still needed outside this PR
GH_CLIENT_ID,GH_CLIENT_SECRET,GH_APP_ID,GH_PRIVATE_KEY,APP_URL,SENTRY_DSN. Set the health path to/health.webto 1 (new processes start at zero replicas).APP_URLand the GitHub OAuth App callback URL at the new hostname, and updateBLURB_IT_URLin bedevere'snews.py.