- Create multi-stage Dockerfile with node:20-alpine - Add .dockerignore for optimized build context - Create Kubernetes manifests (deployment, service, ingress, secret) - Add health check endpoint at /api/health - Configure next.config.ts with standalone output - Add comprehensive deployment documentation in README-DEPLOY.md Story: 4.1 - Criar Dockerfile e Manifests Kubernetes para Deploy 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
44 lines
1.1 KiB
YAML
44 lines
1.1 KiB
YAML
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: portal-ingress
|
|
namespace: automatizase
|
|
labels:
|
|
app: portal
|
|
annotations:
|
|
# Nginx Ingress Controller annotations
|
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
|
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
|
|
|
|
# Cert-Manager (Let's Encrypt automático)
|
|
# Descomente a linha abaixo se usar cert-manager
|
|
# cert-manager.io/cluster-issuer: letsencrypt-prod
|
|
|
|
# Tamanhos de upload (ajuste conforme necessário)
|
|
nginx.ingress.kubernetes.io/proxy-body-size: "10m"
|
|
|
|
# Timeouts
|
|
nginx.ingress.kubernetes.io/proxy-connect-timeout: "60"
|
|
nginx.ingress.kubernetes.io/proxy-send-timeout: "60"
|
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "60"
|
|
|
|
spec:
|
|
ingressClassName: nginx
|
|
|
|
tls:
|
|
- hosts:
|
|
- portal.automatizase.com.br
|
|
secretName: portal-tls-cert # Secret contendo certificado TLS
|
|
|
|
rules:
|
|
- host: portal.automatizase.com.br
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: portal-service
|
|
port:
|
|
number: 80
|