Skip to content
This repository was archived by the owner on Sep 25, 2020. It is now read-only.
This repository was archived by the owner on Sep 25, 2020. It is now read-only.

Configuration loading should favor production as source of truth #24

@Raynos

Description

@Raynos

Currently we have

  • common.json
  • production.json
  • production.{dc}.json

as an a deep extend inheritance tree. where production overwrites common.

It would be a lot easier to reason about our production dependencies if we had

  • production.json
  • production.{dc}.json

Where production.{dc}.json overwrites production.

To reduce duplication for development and local environments we can have

  • production.json
  • local.json

and

  • production.json
  • development.json

If you have any configurations that are different locally or in development you can turn them off either by changing the value or setting it to null.

This encourages people to treat production.json as the source of truth and to make their local and development environments be as close to production as possible.

To avoid doing NODE_ENV=local in tests, unit tests and when running your application locally we should default NODE_ENV to the string local if it's unset.

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