Sign inSign up

pagarme/docker-nodejs

By pagarme

Updated over 4 years ago

nodejs base image

Image
0

10K+

pagarme/docker-nodejs repository overview

Base image for nodejs apps

Inspiração

Em nosso ambiente nos preocupamos quanto ao uso de dados sensíveis, somos uma solução de pagamentos e devemos nos preocupar muito com segurança.

Seguindo a guia do 12factor, nos inspiramos em serviços como confd e vault, mas de forma simplificada e que utilizasse recursos da AWS, para simplificar nossas responsabilidades.

Como funciona em teoria

Estamos usando o seguinte fluxo:

  • Armazenamos dados sensíveis no dynamodb criptografados com kms

  • Gerenciamos nível de acesso às tabelas do dynamodb por serviço através de roles associados ao serviço no ECS-Fargate quando configuramos a infra que envolve o serviço no terraform.

  • o binário gcredstash intercepta as credenciais dentro do entrypoint preenchendo o arquivo configurado na variável DOTENV_PATH com os valores definidos da seguinte forma:

<nome-da-chave>={{get "<nome-da-chave>"}}

Como funciona em prática

  • utilize nossa imagem base:
FROM pagarme/node:8.9
  • defina sua aplicação usando a variável APP_NAME e onde está seu .env para obter os valores da chave em DOTENV_PATH

  • seu .env deve seguir a nossa configuração de exemplo abaixo:

MY_KEY={{get "MY_KEY"}}
  • caso tenha seu próprio entrypoint em seu Docker, observe que precisamos executar nosso entrypoint antes de executar o da aplicação, então uma estratégia é contruir um entrypoint em cima do nosso e implementar da sua forma.

  • seja feliz e lembre de deixar essas chaves já configuradas em seu ambiente.

  • Caso queira ver um exemplo prático, basta vir aqui

Tag summary

Content type

Image

Digest

Size

25.5 MB

Last updated

over 8 years ago

docker pull pagarme/docker-nodejs