app-sre / vault-manager

an automation tool for managing HashiCorp vault configurations based on Vault GO API Client
Apache License 2.0
6 stars 18 forks source link

Improve .env handling across makefile + tests #40

Closed TGPSKI closed 2 years ago

TGPSKI commented 2 years ago

After the merge to update the test dependency structure, we're getting fragmented in terms of how we handle environment variables across makefiles + test use cases.

The makefile needs this set of env vars:

VAULT_IMAGE := quay.io/app-sre/vault
VAULT_IMAGE_TAG := 1.5.4
QONTRACT_SERVER_IMAGE := quay.io/app-sre/qontract-server
QONTRACT_SERVER_IMAGE_TAG := 64b433b
KEYCLOAK_IMAGE := quay.io/keycloak/keycloak
KEYCLOAK_IMAGE_TAG := 17.0
KEYCLOAK_CLI_IMAGE := quay.io/app-sre/keycloak-config-cli
KEYCLOAK_CLI_IMAGE_TAG := 5.0.0-17.0.1

run_tests.sh needs additional env vars:

export QONTRACT_SERVER_NAME=qontract-server
export QONTRACT_SERVER_IMAGE=quay.io/app-sre/qontract-server
export QONTRACT_SERVER_IMAGE_TAG=64b433b

export KEYCLOAK_NAME=keycloak
export KEYCLOAK_IMAGE=quay.io/keycloak/keycloak
export KEYCLOAK_IMAGE_TAG=17.0
export KEYCLOAK_USER=admin
export KEYCLOAK_PASSWORD=admin

export KEYCLOAK_CLI_NAME=keycloak_cli
export KEYCLOAK_CLI_IMAGE=quay.io/app-sre/keycloak-config-cli
export KEYCLOAK_CLI_IMAGE_TAG=5.0.0-17.0.1

export VAULT_NAME=vault-dev-server
export VAULT_IMAGE=quay.io/app-sre/vault
export VAULT_IMAGE_TAG=1.5.4
export VAULT_ADDR=http://127.0.0.1:8200
export VAULT_TOKEN=root
export VAULT_AUTHTYPE=token

And the new app-interface instance in ./tests/app-interface has its own set of env vars.

export QONTRACT_SERVER_REPO=https://github.com/app-sre/qontract-server
export QONTRACT_SERVER_IMAGE=quay.io/app-sre/qontract-server
# replace the above line if quay.io is down
# export QONTRACT_SERVER_IMAGE=gcr.io/app-sre/qontract-server
export QONTRACT_SERVER_IMAGE_TAG=64b433b

export VALIDATOR_REPO=https://github.com/app-sre/qontract-validator
export VALIDATOR_IMAGE=quay.io/app-sre/qontract-validator
# replace the above line if quay.io is down
# export VALIDATOR_IMAGE=gcr.io/app-sre/qontract-validator
export VALIDATOR_IMAGE_TAG=f412923

export SCHEMAS_REPO=https://github.com/app-sre/qontract-schemas
export SCHEMAS_IMAGE=quay.io/app-sre/qontract-schemas
# replace the above line if quay.io is down
# export SCHEMAS_IMAGE=gcr.io/app-sre/qontract-schemas
export SCHEMAS_IMAGE_TAG=e45b092

This ticket is to track the work of consolidating the different locations for env vars and importing a common file across all three domains.

TGPSKI commented 2 years ago

Also to note that you can't run make test in the current master branch due to missing env vars (the batch I listed first above).