devo usar diferentes arquivos Dockerrun.aws.json para aws eb ou set Variáveis do ambiente via console eb

2

digamos que eu tenha vários ambientes do ElasticBeanstalk:

  • productionMyApp
  • stagingMyApp
  • qaMyApp

Cada ambiente tem um Dockerrun.aws.json realmente similar (quais volumes devem ser vinculados no local), mas variáveis de ambiente diferentes (por exemplo, o que é a URL do RDS, qual é a senha do RDS, chave de API do Mandril?)

devo armazenar as variáveis de ambiente para cada ambiente no próprio arquivo (qa-Dockerrun.aws.json, prod-Dockerrun.aws.json, ...) e informar eb deploy para usar esse arquivo (se sim, como pode Eu faço isso ??)

ou

devo definir os ambientes com eb setenv POSTGRES_PASS=xyzsecretabc doc e não coloque-os em Dockerrun.aws.json

Quaisquer outras sugestões são bem-vindas

Eu quero evitar que minhas informações confidenciais sejam armazenadas em git , é claro

Obrigado

    
por equivalent8 18.11.2015 / 15:18

1 resposta

0

Depois de passar algum tempo, decidi por esta solução:

faça as duas coisas :)

É difícil manter o controle de todas as variáveis de ambiente no pé de feijão elástico (e aparentemente há um número limite, não verificamos esse doh) e é estúpido confiar suas senhas de banco de dados ao controle de versão.

mantém coisas que já são públicas como DB_PORT_5432_TCP_ADDR (DNS público RDS), DB_ENV_POSTGRES_USERNAME (nome de usuário postgres), REDIS_PORT_6379_TCP_ADDR , S3_BUCKET_NAME (depósito de armazenamento de ativos) em Dockerrun.aws.json e sob controle de versão (git)

mas coisas como DB_ENV_POSTGRES_PASSWORD , SECRET_KEY_BASE , MANDRIL_API_TOKEN , AWS_SECRET_ACCESS_KEY como ambientes do Elastic Beanstalk

    
por 25.11.2015 / 18:46