chore: infra, compose, makefile and env cleanup - #156
Open
Gautam7352 wants to merge 2 commits into
Open
Conversation
- compose.yml: hardcode POSTGRES_HOST=capuchin-db, remove depends_on, add JWT_SECRET env - compose-dev.yml: use named dev volume, hardcode POSTGRES_HOST, add JWT_SECRET env - Makefile: add migrate/migrate-down/seed targets, help target, fix dev-logs to follow - .env.example: remove POSTGRES_HOST (now hardcoded in compose), add VITE_API_URL - .gitignore: add test.sh, .kiro - backend/Dockerfile: build updates - backend/.dockerignore: cleanup - backend/.gitignore: removed (unified into root .gitignore) - backend/air.toml: remove build.bin deprecation warning - docs/: remove stale doc files
TanishqSingla
requested changes
Apr 17, 2026
| POSTGRES_HOST=capuchin-db | ||
| POSTGRES_PORT=5432 | ||
| # Only needed when running the backend outside Docker (e.g. `go run` or `air` directly). | ||
| # In compose, the host is hardcoded to the postgres container name (capuchin-db). |
Contributor
There was a problem hiding this comment.
It's not hardcoded, compose is using the network name which is capuchin-db else you won't be able to connect
| @@ -1 +1 @@ | |||
| VITE_API_URL=http://localhost:8080 | |||
Contributor
There was a problem hiding this comment.
Keep react related env in frontend folder only
|
|
||
|
|
||
| # removing for now | ||
| .github/ |
Contributor
There was a problem hiding this comment.
.github contains workflow folder, which are our github action files. Why are we ignoring them?
Contributor
Author
There was a problem hiding this comment.
it's intentional, I don't want ci pipeline to be triggered yet, once migration implementation is merged then this can be removed
Contributor
There was a problem hiding this comment.
Don't create the PR then, or use a feature called 'Draft PR'
| cd backend && air | ||
|
|
||
| .PHONY: dev dev-logs dev-down prod logs down | ||
| # ── Database ────────────────────────────────────────────────────────────────── |
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.
What & Why
Housekeeping PR — no logic changes, no new features. Cleans up Docker Compose files, Makefile, environment config, and removes stale docs that were out of sync with the codebase.
The migration work introduced new conventions (hardcoded service hostnames in compose, new
migrate/seedmake targets,JWT_SECRETas a required env var). The infra files needed to reflect that before anything merges todev.How to check failure (what broke before this PR)
make devwould start the backend withoutJWT_SECRETset, causing silent auth failures at runtimePOSTGRES_HOSTwas an env var passed through compose — if it was missing or wrong in.env, the DB connection would fail with a confusing error instead of using the known container namemake dev-logsdidn't follow logs (missing-fflag), so it would print once and exitmake migrateormake seedtargets existed — developers had to manually construct thego runcommandsbackend/.gitignoreexisted separately from the root.gitignore, causing confusion about what was actually ignoreddocs/were stale and contradicted the actual implementationChanges
compose.ymlPOSTGRES_HOST=capuchin-db, addJWT_SECRETenv var, removedepends_on(backend now handles retry itself)compose-dev.ymlPOSTGRES_HOST=capuchin-db, addJWT_SECRETenv var, switch to namedcapuchin-dev-datavolume to isolate dev data from prod backupMakefilemigrate,migrate-down,seedtargets; addhelptarget; fixdev-logsto use-f; add inline comments.env.examplePOSTGRES_HOST(now hardcoded in compose); addVITE_API_URL.gitignoretest.sh,.kiro/backend/Dockerfilebackend/.dockerignorebackend/.gitignore.gitignorebackend/air.tomlbuild.binwarningdocs/backend_api.mddocs/backend_architecture.mddocs/backend_best_practices.mddocs/backend_schema.mddocs/readme.mdreadme.mdHow to verify