Replace postgres jobs with postgres release#2764
Draft
ZPascal wants to merge 1 commit into
Draft
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
af5ca8a to
c9f5ec4
Compare
feat: Remove postgres job, packages, and blob-bumping CI tasks feat: Add postgres migration guide for operators feat: Update BRATS manifests to use postgres-release job and databases.* properties feat: Read postgres version from PG_VERSION env var instead of bosh job spec feat: Add BRATS matrix tests for postgres-release versions 15/16/17/18
cd8eaf2 to
d8874e6
Compare
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.
Summary
This PR removes the
postgresandpostgres-13jobs that have been bundled inside the bosh release and replaces them with the cloudfoundry/postgres-release, which ships PostgreSQL 15, 16, 17, and 18 with built-inpg_upgradesupport for major-version upgrades.What changed
jobs/postgres(fully deleted) and its packages (postgres-13,postgres-15), blob entries, and the CI blob-bumping tasks that maintained themjobs/postgres-13— the job spec now carries a deprecation notice directing operators to postgres-release; the job will be removed in the next bosh releasedocs/postgres-migration.mdwith a property-mapping table and in-place cutover procedure for operators switching from either old jobPG_VERSIONenv var to the director unit test tasks, and add four new BRATS acceptance jobs (postgres-release 15/16/17/18)src/brats/acceptance/postgres_release_test.go— matrix BRATS tests that verify the bosh director works correctly against each postgres-release versiondatabases.*properties instead of the oldpostgres.*namespace;postgres_version_helper.rbnow readsPG_VERSIONfrom the environment instead of the bosh job specWhy
The in-tree postgres jobs have been a maintenance burden: every PostgreSQL minor release required a blob bump, a packaging script change, and a new Docker image. postgres-release is a dedicated, well-maintained release that handles packaging, upgrades, and OS compatibility. Offloading PostgreSQL to postgres-release lets us stop duplicating that work and gives operators access to more recent PostgreSQL versions (16, 17, 18) that bosh never shipped.
Migration path for operators
See
docs/postgres-migration.mdfor the full guide. The short version: add postgres-release to your director manifest, replace thepostgres.*properties withdatabases.*properties, and setdatabases.versionto match your existing on-disk PostgreSQL major version. An existing data directory is detected and reused — no dump/restore required.Test plan
bosh deployoutput when the job is still present