chore(infra)!: replace CouchDB with DocumentDB in docker-compose#205
Draft
ogruene wants to merge 1 commit into
Draft
chore(infra)!: replace CouchDB with DocumentDB in docker-compose#205ogruene wants to merge 1 commit into
ogruene wants to merge 1 commit into
Conversation
This commit updates the docker-compose configuration to switch from CouchDB to DocumentDB. BREAKING CHANGE: Data from former docker-compose runs will not be available any longer. Assisted-by: GitHub Copilot
861ca6b to
e4406f0
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.
Replace CouchDB with DocumentDB
Migrates the local development database from CouchDB to DocumentDB Local, a MongoDB-compatible document database built on PostgreSQL.
What changed
docker-compose.yml: replacedcouchdbimage withghcr.io/documentdb/documentdb/documentdb-local:lateston port10260, updatedserverenvironment to useDATABASE_TYPE=MongoDB, new credentials, andDATABASE_SKIP_VERIFY=truefor the auto-generated TLS certificatecouchdb_data→documentdb_dataWhy
pg_isreadyinstead ofmongoshfor the healthcheckDocumentDB Local runs a MongoDB-compatible gateway (port 10260) on top of PostgreSQL (port 9712). The obvious healthcheck would use
mongoshto ping the gateway — but this causes significant log pollution:mongoshrequires?tls=true&tlsAllowInvalidCertificates=truemongoshconnection unconditionally issuesatlasVersionandgetParameterstartup probes that DocumentDB does not implement, logging server-side errors on every healthcheck interval — not suppressiblepg_isreadychecks the underlying PostgreSQL socket directly, generates zero log entries, and is already present in the container image. The trade-off is that it does not verify the gateway layer. For local development this is acceptable since the gateway rarely fails independently of PostgreSQL.