Commit Graph

24 Commits

Author SHA1 Message Date
5688b41026 PERF(vault): reduce Vault CPU request from 100m to 50m
- Reduce based on actual usage (24-30m)
- Optimize resource allocation
2026-01-04 23:41:39 +09:00
2a0a239260 FEAT(vault): add master node toleration to Vault
- Allows vault pods to run on master with NoExecute taint
2026-01-04 23:41:39 +09:00
dc31575f03 FIX(repo): set ha.config to empty to avoid duplicate listener
- Set HA config to empty
- Prevent duplicate listener issue
2026-01-04 23:41:39 +09:00
207351a932 FEAT(postgresql): configure vault
- to use externalsecret for postgresq...
- Add ExternalSecret to pull vault config from Vault itself
- Add RBAC for vault token reviewer (kubernetes auth)
- Update helm-values to mount secret as config
- Connection string is now stored in Vault, not in git
2026-01-04 23:41:39 +09:00
25379aebd0 PERF(authentik): increase replicas for HA
- Traefik, CoreDNS, Authentik
- Traefik: 2 replicas
- CoreDNS: 2 replicas (new HelmChartConfig)
- Authentik: 2 replicas for server and worker
- Vault: Keep file storage (standalone)
2026-01-04 23:41:39 +09:00
f38cbedcba REFACTOR(traefik): switch from HAProxy
- to Traefik ingress controller
- Update all ingress files to use ingressClassName: traefik
- Update cert-manager ClusterIssuer to use traefik class
- Remove haproxy.org annotations from ingress files
- Update vault helm-values to use traefik
2026-01-04 23:41:39 +09:00
1b139e53dc REFACTOR(postgresql): change vault storage
- from pg to file st...
- Remove PostgreSQL backend dependency to avoid circular reference
- Vault no longer needs vault-pg-connection secret to start
- Use Longhorn PVC for data persistence
2026-01-04 23:41:39 +09:00
64aeb36e78 CHORE(external-secrets): update ESO API version from v1beta1 to v1
- Update ExternalSecret API version
- Migrate to stable API
2026-01-04 23:41:39 +09:00
0a8c4bde16 REFACTOR(gitea): migrate repoURL from Gitea to GitHub
- Update repository URL to GitHub
- Change source control provider
2026-01-04 23:41:39 +09:00
a2682e292b REFACTOR(goldilocks): use managedNamespaceMetadata for namespace labels
- Remove namespace.yaml files
- Add managedNamespaceMetadata with Goldilocks label
- Set CreateNamespace=true in syncOptions
- Update kustomization.yaml to remove namespace.yaml references
2026-01-04 23:41:39 +09:00
1aca10fb2d FEAT(cert-manager): add cert-manager annotation to Vault ingress
- Add TLS certificate annotation
- Enable automatic certificate management
2026-01-04 23:41:39 +09:00
b07fcc5e74 REFACTOR(velero): simplify vault
- and velero configs
- vault: Fix CreateNamespace conflict (set to false)
- velero: Consolidate ExternalSecrets into vault/velero-secrets.yaml
- velero: Clean up kustomization.yaml
2026-01-04 23:41:39 +09:00
09f08fba75 FEAT(cert-manager): integrate cert-manager, Vault, Velero
- Add cert-manager configuration
- Add Vault and Velero integration
2026-01-04 23:41:39 +09:00
ae8414f459 FIX(argocd): helm valueFiles paths in ArgoCD
- Applications
- Update valueFiles paths from helm-values/<app>.yaml to helm-
  values.yaml
- Fixes ComparisonError after folder restructuring

Applications fixed:
- cert-manager
- cnpg
- external-secrets
- vault
- vpa
- velero
2026-01-04 23:41:39 +09:00
34a1c9f783 REFACTOR(repo): restructure infra folder structure
- Remove argocd/, helm-values/, ingress/ subdirectories
- Move files to parent directory with standardized names
- Add namespace.yaml to all apps with Goldilocks labels
- Preserve vault/ subdirectories (falco, velero)
- Update main kustomization.yaml to reference argocd.yaml files directly
- Comment out argocd.yaml in each app's kustomization.yaml to prevent
  circular reference

Applications restructured:
- cert-manager (2 ArgoCD apps)
- external-secrets
- reloader
- vault (2 ArgoCD apps)
- velero (2 ArgoCD apps)
- falco
- cnpg
- haproxy
- metallb
- vpa
- argocd
2026-01-04 23:41:39 +09:00
8e98ea181c FIX(postgresql): vault PostgreSQL connection
- using environment variable
- Removed hardcoded connection_url from config
- Use VAULT_PG_CONNECTION_URL environment variable instead
- Connection URL stored securely in vault-pg-connection Secret
- Fixes environment variable substitution issue in HCL config
2026-01-04 23:41:39 +09:00
c8f945034e REFACTOR(postgresql): change vault from dev
- to production mode with P...
- Disabled dev mode
- Added standalone mode with PostgreSQL storage backend
- Connected to postgresql-cnpg cluster (vault database)
- Added environment variable for PostgreSQL password from secret
- Increased resource limits (cpu: 100m, memory: 256Mi)
2026-01-04 23:41:39 +09:00
1408000e4c REFACTOR(falco): remove cpu limits entirely
- from vault and falco
- Remove cpu line from limits section (not just set to null)
- Prevents Helm charts from applying default CPU limit values
- Eliminates CPU throttling for infrastructure components
2026-01-04 23:41:39 +09:00
420cc38efc CHORE(vault): set CPU limits to null for Vault
- Remove CPU limits to prevent throttling
- Optimize resource configuration
2026-01-04 23:41:39 +09:00
100b7be198 REFACTOR(resources): remove cpu limits
- to prevent throttling
Removed CPU limits from all infrastructure components while keeping
memory limits for protection:

- cnpg: removed 500m CPU limit
- external-secrets: removed 200m, 100m CPU limits (operator, webhook,
  certController)
- falco: removed 500m CPU limit (falcosidekick webui)
- vault: removed 500m CPU limit
- velero: removed 500m, 1000m CPU limits (server, node-agent)

Benefits:
-  Prevents CPU throttling
-  Better performance and lower latency
-  More efficient resource utilization
-  Simpler management (only requests to tune)

Memory limits are kept to prevent memory leaks and OOM issues.
2026-01-04 23:41:39 +09:00
cf249930a7 REFACTOR(traefik): migrate all ingresses
- from NGINX to HAProxy
- Changed all ingressClassName from nginx to haproxy
- Updated NGINX to ClusterIP mode (backup)
- Set HAProxy as default ingress controller
- Affected files:
  - ingress-nginx/ingress.yaml (22 ingresses)
  - vault/helm-values/vault.yaml (1 ingress)
  - haproxy/argocd/haproxy.yaml (controller config)
  - ingress-nginx/helm-values/ingress-nginx.yaml (backup mode)

This completes the migration to HAProxy as the primary ingress
controller.
2026-01-04 23:41:39 +09:00
fa24f224ee FEAT(vault): add clustersecretstore
- for vault-backend
- Create cluster-wide secret store for External Secrets Operator
- Configure Kubernetes auth with external-secrets service account
- Enable all namespaces to access Vault secrets via ClusterSecretStore
2026-01-04 23:41:39 +09:00
05a5de7c0f CHORE(argocd): update ArgoCD applications to point to cluster-infrastructure
- Update repoURL to cluster-infrastructure repo
- Change source repository reference
2025-12-17 15:12:46 +09:00
2a89801d5e INIT(repo): cluster infrastructure setup 2025-12-17 15:04:56 +09:00