mirror of
https://github.com/quay/quay.git
synced 2026-10-24 21:59:23 +03:00
* feat(migrate): prototype PostgreSQL source conversion * feat(migrate): freeze PostgreSQL compatibility profile * feat(migration): support OMR PostgreSQL sources Detect the supported KCS PostgreSQL topology and convert it through the existing quay migrate path while preserving SQLite behavior. Add cutover and rollback safeguards, bridge convergence fixes, and rootless end-to-end CI coverage. * fix(migration): address PostgreSQL review feedback * pin new and rename existing migrate job Signed-off-by: Brady Pratt <bpratt@redhat.com> * fix(ci): use rootful podman for old OMR in postgres migration job The rootless OMR installation fails health checks with SSL: UNEXPECTED_EOF_WHILE_READING through the userspace port forwarder. Switch to sudo (matching the proven SQLite migration job) for the old OMR lifecycle, PostgreSQL sidecar, and migration invocation. * fix(ci): initialize postgres migration source user * fix(ci): verify preserved postgres source user * fix(migration): address review feedback * fix runner bump Signed-off-by: Brady Pratt <bpratt@redhat.com> * fix(migration): address review feedback on PostgreSQL preflights and URI parsing - Split generic PostgreSQL DB_URI validation in parsePostgresURI into explicit error diagnostics for scheme, username, password, host, port, path, query parameters, and fragments without leaking credentials. - Add an explicit target-directory cleanliness preflight check in validatePostgresBeforeStop so populated or corrupted data directories fail early before stopping the source application. - Clarify SQLite-only flags in migrate CLI flag usage strings. - Drop non-idempotent retry options from the CI user initialization step. - Add unit and regression tests covering invalid DB_URI diagnostics, password redaction, and unclean target directory rejection. * fix(migration): remove ineffectual assignment and formatting in stopSourceServices * fix(config): map FEATURE_ENABLE_STALE_MPU_CLEANUP as known-unmapped The master merge of #6885 added FEATURE_ENABLE_STALE_MPU_CLEANUP to the Python config schema. TestSchemaFieldCoverage fails on any Python-only key absent from knownUnmapped. The Go migrate tooling does not consume this flag, so list it as intentionally unmapped alongside the other Python-only FEATURE_* flags. --------- Signed-off-by: Brady Pratt <bpratt@redhat.com>