Skip to content

bug(engine): DATABASE_NAME is written into every bring-your-own container's env file, even when the service never asked for the shared Postgres #3026

Closed

Description

@odykyi

Found re-verifying dilolabs/nosia#386 and LycheeOrg/Lychee#4936 on Flisk 1.4.30. After #3010, DATABASE_URL and TILT_DATABASE_URL are no longer injected into a plain bring-your-own service, but DATABASE_NAME still is: docker inspect shows DATABASE_NAME=nosia_nosia in all five nosia containers (db-migrate, web, solidq, postgres-db, reverse-proxy) and DATABASE_NAME=lychee_lychee in Lychee's API.

Source: runtime/engine/topologies/tilt/resources/orchestrator/generators/env.star (the generated .env.*.autogenerated file that the Compose entry lists under env_file) writes DATABASE_NAME={db_name} for every service; runtime/engine/topologies/platform/docker/layers/infisical/infisical_docker.star sets it too.

Harmless to these two apps (they read DATABASE_URL / DB_*), but an app that reads DATABASE_NAME (several do) would pick up a name for a database that does not exist. Same rule as #2991: a bring-your-own service gets the shared-database variables only when it asks (byo_wants_shared_database), and never over its own env.

Wanted: stop writing DATABASE_NAME for a bring-your-own service that did not ask; test with a plain BYO manifest and with one that does ask; docker inspect check on a real stack.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions