- Java 17
- Spring Boot
- Postgres SQL
- Docker
- Swagger
- Java Version: 17
- Gradle
- IDE IntelliJ
- Docker
- Kubernetes - K8S
docker compose up --build -d
Após rodar a primeira o comando acima, execute o seguinte comando abaixo para que apenas execute os containers sem a etapa de build e migration.
docker compose up -d app db
DATABASE_USERNAME=username_do_banco
DATABASE_PASSWORD=password_do_banco
Antes de subir os pods com a aplicação é necessário confirmar que o K8S esteja executando e depois executar os seguintes comandos a partir da pasta raiz do projeto para subir o pod do Postgres. A ordem dos comandos precisa ser mantida.
kubectl apply -f k8s/db/postgres-db-pv.yml
kubectl apply -f k8s/db/postgres-db-pvc.yml
kubectl apply -f k8s/db/postgres-db-secrets.yml
kubectl apply -f k8s/db/postgres-db-configmap.yml
kubectl apply -f k8s/db/postgres-db-deployment.yml
kubectl apply -f k8s/db/postgres-db-svc.yml
Para confirmar que tudo deu certo, basta confirmar se tudo subiu corretamente executando um
kubectl get all
e validar se consegue visualizar o pod e service em execução.
Com o posgres executando, agora é fora de executar a migração para criação das tabelas.
kubectl apply -f k8s/migration/flyway-configmap.yml
kubectl apply -f k8s/app/fourlanches-secrets.yml
kubectl apply -f k8s/migration/flyway-job.yml
Agora com o postgres executando e com as tabelas criadas, basta executar os comandos abaixo:
kubectl apply -f k8s/app/fourlanches-configmap.yml
kubectl apply -f k8s/app/fourlanches-deployment.yml
kubectl apply -f k8s/app/fourlanches-loadbalancer.yml
kubectl apply -f k8s/app/fourlanches-svc.yml
Para executar as requisições com o insomnia, basta importar o arquivo insomnia-collection.json
no seu insomnia que a collection estará pronta para ser usada.
Subindo a aplicação via docker, a mesma se encotrará disponível no localhost:8080 para ser acessada
Para testar os endpoints caso a execução seja realizada via K8S, deverá ser atualizada a URL com a PORTA correta exposta
pelo K8S. Por exemplo, caso use o minikube basta executar o comando minikube service fourlanches-loadbalancer
e o mesmo
irá expor a url e porta correta e abrirá o link direto no nvaegador.