Helm Chart para implantação da aplicação Giropops Senhas no Kubernetes, desenvolvido como parte do curso Descomplicando Kubernetes da LinuxTips.
A aplicação original pode ser encontrada em: badtuxx/giropops-senhas
Este chart implanta dois componentes:
| Componente | Imagem | Réplicas padrão | Porta(s) |
|---|---|---|---|
giropops-senhas |
zenardi/giropops-senhas:4.0 |
3 | 5000, 8088 |
redis |
redis |
1 | 6379 |
giropops-senhas-database-config)giropops-senhas-observability-config)kubectl configurado e apontando para o cluster alvohelm repo add giropops-senhas https://zenardi.github.io/giropops-senhas-chart/
helm repo update
helm install giropops-senhas giropops-senhas/giropops-senhas
Com um namespace dedicado:
helm install giropops-senhas giropops-senhas/giropops-senhas \
--namespace giropops \
--create-namespace
git clone https://github.com/zenardi/giropops-senhas-chart.git
cd giropops-senhas-chart
helm install giropops-senhas ./charts
Todos os valores configuráveis estão em charts/values.yaml. Abaixo estão os principais parâmetros.
| Parâmetro | Descrição | Padrão |
|---|---|---|
deployments.giropops-senhas.image |
Imagem da aplicação | zenardi/giropops-senhas:4.0 |
deployments.giropops-senhas.replicas |
Número de réplicas | 3 |
deployments.giropops-senhas.resources.requests.memory |
Memória mínima | 128Mi |
deployments.giropops-senhas.resources.requests.cpu |
CPU mínima | 250m |
deployments.giropops-senhas.resources.limits.memory |
Limite de memória | 256Mi |
deployments.giropops-senhas.resources.limits.cpu |
Limite de CPU | 500m |
deployments.redis.image |
Imagem do Redis | redis |
deployments.redis.replicas |
Número de réplicas do Redis | 1 |
| Parâmetro | Descrição | Padrão |
|---|---|---|
services.giropops-senhas.ports[0].serviceType |
Tipo do serviço da aplicação | NodePort |
services.giropops-senhas.ports[0].NodePort |
NodePort exposto | 32500 |
services.giropops-senhas.ports[1].serviceType |
Tipo do serviço de métricas | ClusterIP |
services.redis.ports[0].serviceType |
Tipo do serviço Redis | ClusterIP |
| Parâmetro | Descrição | Padrão |
|---|---|---|
observability.giropops-senhas.logging |
Habilita logging | "true" |
observability.giropops-senhas.metrics.enabled |
Habilita métricas Prometheus | "true" |
observability.giropops-senhas.metrics.path |
Path das métricas | /metrics |
| Parâmetro | Descrição | Padrão |
|---|---|---|
databases.giropops-senhas.mysql.host |
Host do MySQL | mysql.svc.cluster.local |
databases.giropops-senhas.mysql.port |
Porta do MySQL | 3306 |
databases.giropops-senhas.mysql.name |
Nome do banco | MyDB |
helm install giropops-senhas ./charts \
--set deployments.giropops-senhas.replicas=5 \
--set deployments.giropops-senhas.image=zenardi/giropops-senhas:5.0
Ou via arquivo de valores customizados:
helm install giropops-senhas ./charts -f meus-valores.yaml
Após a instalação, a aplicação estará acessível via NodePort na porta 32500:
# Obtendo o IP de um nó do cluster
kubectl get nodes -o wide
# Acessando a aplicação
curl http://<NODE_IP>:32500
As métricas Prometheus ficam disponíveis internamente na porta 8088 no path /metrics.
helm upgrade giropops-senhas ./charts
helm uninstall giropops-senhas
charts/
├── Chart.yaml # Metadados do chart (nome, versão, descrição)
├── values.yaml # Valores padrão configuráveis
└── templates/
├── _helpers.tpl # Helpers reutilizáveis (labels, ports, resources, configmaps)
├── deployments.yaml # Template de Deployments (gerado dinamicamente via range)
├── services.yaml # Template de Services
├── databases-configmap.yaml # ConfigMap de configuração de banco de dados
└── observability-configmap.yaml # ConfigMap de configuração de observabilidade
| Chart | App | Data |
|---|---|---|
| 0.1.0 | 1.0 | 2026-03-21 |