Bom dia!
Existe alguma forma de não armazenar as credenciais de banco de dados, por exemplo, no application-dev.yml? Já vi em outras soluções que essas informações ficam referenciadas em variáveis de ambiente por exemplo.
Bom dia!
Existe alguma forma de não armazenar as credenciais de banco de dados, por exemplo, no application-dev.yml? Já vi em outras soluções que essas informações ficam referenciadas em variáveis de ambiente por exemplo.
Como vc mesmo mencionou, vc pode utilizar variáveis de ambiente para armazenar estas informações. Na verdade, na maiorias das aplicações reais que tive a oportunidade de trabalhar sempre os dados mais sensíveis como credenciais de APIs, chaves de seguranças dentre outras são armazenadas em variáveis de ambiente.
Outra abordagem interessante que eu conheci recentemente foi a utlização do Github secrets para armazenar estas informações, é bem legal. Você pode incluir as secrets no repositório da aplicação e obt-las através de workflows do Github Actions.
Pra te ajudar contei com a ajuda do nosso amigo ChatGPT para exemplificar como vc pode fazer isso na prática:
Armazenamento de credenciais no Github Secrets:
Acesso às credenciais no código Kotlin:
fun main() {
val password = System.getenv("DB_PASSWORD")
println("Password: $password")
}
Configuração do Github Actions:
name: CI
on:
push:
branches:
- main
env:
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up JDK
uses: actions/setup-java@v1
with:
java-version: 11
- name: Build with Gradle
run: ./gradlew build
- name: Run application
run: ./gradlew run
Neste exemplo, estamos configurando um fluxo de trabalho chamado "CI" que será acionado a cada push para o branch principal. O Github Actions está definindo a variável de ambiente "DB_PASSWORD" com o valor armazenado no Github Secrets. Em seguida, o fluxo de trabalho compila e executa sua aplicação Kotlin. Ao executar sua aplicação, você poderá acessar a senha do banco de dados através da variável de ambiente "DB_PASSWORD".