Java Spring - secret keys
Estou estudando Spring Boot, e vi que não tem uma forma oficial de armazenar chaves e senhas (secrets keys), qual a forma vocês indicam?
Tive dificuldade quando precisei fazer o deploy, no sentido da dinamica de não subir para o repo os arquivos.
Se usa docker-compose pode usar .env com a opção env_file no docker-compose.yml
Se usar somente java você pode criar um application.properties
para a instância atual e mapear o caminho dentro do spring
não conheço muito de java mas acredito que todas as linguagens devem ter uma lib que consiga ler arquivos .env
No projeto que estou trabalhando atualmente não uso Docker, então, em produção, eu crio um serviço systemd
que fica responsável por gerenciar minha aplicação, vc pode ler mais sobre isso aqui
No arquivo de configuração do serviço, na seção [service]
, eu adiciono a propriedade EnvironmentFile
, que permite especificar o caminho do seu arquivo .env
.
Seguindo o exemplo do link acima, ficaria tipo assim:
# ...
[Service]
User=myapp
Group=myapp
EnvironmentFile=/path/to/your/.env
Type=exec
ExecStart=/path/to/java/home/bin/java -jar /var/myapp/myapp.jar
WorkingDirectory=/var/myapp
SuccessExitStatus=143
# ...