Skip to content

Must-have configs #1040

@mzikherman

Description

@mzikherman

We have a list of 'must have' configs, and we throw an error if any of them are missing:

Object.keys(mustHave).forEach(key => {

I this is a cool idea! Rather than fail silently/mysteriously at a future point, we enforce their presence.

However, I think there are two current issues with Metaphysics and its handling of the 'must-have' configs that we should solve to get this working right.

Flag to disable this check, when running yarn sync-schema, etc.

The ENV vars don't need to be set in order to run:

metaphysics/package.json

Lines 20 to 21 in 33eac8c

"dump-schema": "babel-node --extensions '.ts,.js' ./scripts/dump-schema.js",
"dump-remote-schema": "babel-node --extensions '.ts,.js' ./scripts/dump-remote-schema.js",
(one of which is run from Emission/Reaction, where Metaphysics is a submodule). Rather than go the route of providing dummy ENV vars to silence the warnings: #1039 , we should be able to run these scripts without these.

So, something like: DISABLE_ENV_CHECK=1 yarn dump-schema... perhaps.

Better handling of deploy failures

We had two incidents of env vars appearing in this check and then not actually being set in our k8s staging deployment. Sure enough, those deploys didn't actually return a failure, or do a rollback, but left Metaphysics in a state where it was unresponsive and had to be manually 'refreshed' (the infamous 'delete pods' UI).

Personally, I wouldn't mind commenting out the check in the meantime until the above two issues are resolved. Once they are however, I would love having the check back.

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