Fix production deployment: add missing S3 service binding#1933
Fix production deployment: add missing S3 service binding#1933rileyseaburg merged 6 commits intoproductionfrom
Conversation
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Riley Seaburg <riley@rileyseaburg.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Riley Seaburg <riley@rileyseaburg.com>
Fix cf-cli installation using APT repository
The production deployment was failing because new instances crashed on startup. Root cause: the manifest was missing the touchpoints-s3-uploads service that the app expects. CF was unbinding this service during rolling deployments, causing Rails to exit with status 1.
There was a problem hiding this comment.
Pull request overview
This PR fixes a critical production deployment issue by adding the missing touchpoints-s3-uploads service binding to the production manifest and updating the CF CLI installation method in CircleCI to use the APT repository instead of direct download.
Key Changes:
- Added
touchpoints-s3-uploadsservice binding to prevent application crashes during rolling deployments - Replaced direct CF CLI download with APT repository installation (referenced from PR #1932) to resolve download failures in CI
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| touchpoints.yml | Added missing touchpoints-s3-uploads service binding to production manifest |
| .circleci/config.yml | Updated CF CLI installation to use APT repository in both build and cron_tasks jobs; fixed indentation in rspec test command |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| command: | | ||
| curl -v -L -o cf-cli_amd64.deb 'https://packages.cloudfoundry.org/stable?release=debian64&source=github' | ||
| sudo dpkg -i cf-cli_amd64.deb | ||
| # Install Cloud Foundry CLI repository key using modern signed-by mechanism |
There was a problem hiding this comment.
The CF CLI installation in the cron_tasks job is missing the command to create the trusted GPG directory. The build job includes sudo mkdir -p /etc/apt/trusted.gpg.d at line 133, but the cron_tasks job does not. This could cause the installation to fail if the directory doesn't already exist in the cimg/base:2025.01 image. Consider adding this line for consistency and reliability.
| # Install Cloud Foundry CLI repository key using modern signed-by mechanism | |
| # Install Cloud Foundry CLI repository key using modern signed-by mechanism | |
| sudo mkdir -p /etc/apt/trusted.gpg.d |
Summary
touchpoints-s3-uploadsservice binding to production manifestProblem
Production deployments were failing because:
touchpoints.ymlmanifest was missing thetouchpoints-s3-uploadsservice bindingChanges
touchpoints.yml: Addedtouchpoints-s3-uploadsto services list.circleci/config.yml: Fixed CF CLI installation to use APT repository (PR Fix cf-cli installation using APT repository #1932)Testing