You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e02e291
Browse filesBrowse the repository at this point in the historyBrowse files
* nix: drop build-test-ami
Not really used much since AMI builds and tests mostly happen in CI.
That being the case I don't really want to have to update it in these
commits. build-test-ami will return in a future PR in a better form.
* packer: drop redundant ansible/vars.yml file provisioner
The whole ansible/ directory is already copied to /tmp/ansible-playbook
and the playbook is run from /tmp/ansible-playbook/ansible/playbook.yml,
which resolves ./vars.yml inside that copy. The standalone copy at
/tmp/ansible-playbook/vars.yml is never read.
Assisted-by: Claude Opus 5.5 <noreply@anthropic.com>
* ci: Simplify reading vars.yml in publish-nix-pgupgrade-* workflows
This was already a little convoluted and will only get more so in the
following commits but it doesn't have to be that way with a little git
and shell (low tier) magic.
* ansible: split postgres_release into ansible/postgres_release.yml
Split the postgres_release map out of ansible/vars.yml into its own file
and load it in the playbook via vars_files. This way we can update
ami-release-nix to match reality, it should only run when the version
has been updated, otherwise we'll have a ami name conflict and it'll
fail.
Assisted-by: Claude Opus 5.5 <noreply@anthropic.com>
* Simplify yq extraction of postgres_release
Just because the yaml has `""` doesn't mean we need them in the yq
filter, its smart enough to handle text w/o `"`. While here also drop
the `[]` since `.` is effectively the same and is shorter because
doesn't need ] pair.
This cleans up bunch of " escaping or '"''"' junk.
While working in these files, lets be defensive and add -e so yq errors
out instead of giving us null/""/other garbage when we have wrong
keys/missing values.
* ci/ami-release-nix: Invoke only when postgres_release.yml is updated
This workflow should only be run when the postgres_release.yml file is
updated because if there's a change to one of the other files and not
postgres_release.yml then the AMI build will fail anyway due to AMI name
conflicts.
Copy file name to clipboardExpand all lines: CLAUDE.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,7 @@ extensions not yet ported.
33
33
| Path | Purpose |
34
34
|---|---|
35
35
|`nix/`| Core build system (flake-parts modules). `nix/postgresql/` = PG version configs/patches; `nix/ext/` = one file per extension package; `nix/config.nix` = pinned PG versions/hashes per major (source of truth for "what version are we on"); `nix/tests/` = pg_regress + smoke + migration NixOS tests; `nix/docs/` = the real developer docs (start here, not README) |
36
-
|`ansible/`| Config management for the production AMI. `ansible/playbook.yml` = main playbook (Postgres/PostgREST/pgbouncer/Auth); `ansible/vars.yml` = **source of truth for AMI version tracking** (`postgres_release`, Docker release matrix); `ansible/files/postgresql_config/postgresql.conf.j2` = the actual GUC defaults shipped to customers |
36
+
|`ansible/`| Config management for the production AMI. `ansible/playbook.yml` = main playbook (Postgres/PostgREST/pgbouncer/Auth); `ansible/postgres_release.yml` = **source of truth for the packaged PG release version** (`postgres_release`, used for Docker/AMI tags); `ansible/vars.yml` = AMI component version tracking (PostgREST, pgbouncer, etc.); `ansible/files/postgresql_config/postgresql.conf.j2` = the actual GUC defaults shipped to customers |
37
37
|`migrations/db/`| SQL migrations and `init-scripts/` (what every new project's schema starts with — default-enabled extensions, roles) |
38
38
|`migrations/tests/extensions/`| pgTAP tests, one per extension, run via `pg_prove` against a Nix-built Postgres as part of `nix flake check` (`nix/checks.nix`) — not against a Docker image |
39
39
|`docker/`, `Dockerfile-*`| Container image definitions (`Dockerfile-supabase` is the version-parameterized base; `Dockerfile-multigres` layers `pgctld` + `pgbackrest` on top) |
0 commit comments