Commit Graph

21 Commits

Author SHA1 Message Date
565b60a970 PERF(storage): add high-priority to MinIO and CNPG
- Remove MinIO tolerations (PreferNoSchedule handles it)
- Add high-priority to MinIO (4 replicas for erasure coding)
- Add high-priority to CNPG operator
2026-01-10 13:14:08 +09:00
6cc795c3ef CHORE(resources): set memory limits equal to memory requests
Align memory limits with memory requests for guaranteed QoS class.
- velero: main, nodeAgent
- postgresql: cluster
- minio: console
- zot, cnpg, pgweb
2026-01-09 21:46:58 +09:00
2881589c45 FIX(cnpg): add ServerSideApply to prevent annotation size limit
- Add ServerSideApply=true syncOption
- Prevents kubectl.kubernetes.io/last-applied-configuration
- CRD annotation was 255KB, near 256KB limit
2026-01-09 21:46:40 +09:00
df311073b3 FIX(cnpg): ignore CRD annotations to prevent size limit
- Add ignoreDifferences for CustomResourceDefinition annotations
- Fix ArgoCD sync error due to annotations exceeding 262144 bytes
2026-01-08 14:48:54 +09:00
7487b477a7 FEAT(storage): enable HA with replica 2 and soft anti-affinity
- Add replicaCount: 2 to cnpg, pgweb, velero-ui, minio-console
- Add soft pod anti-affinity for node distribution
- Configure affinity for all storage components
2026-01-08 13:16:43 +09:00
35df7aa64e PERF(resources): remove CPU limits - keep memory limits only
- CPU throttling prevents app startup, not crashes
- Memory OOM is the real cascading failure cause
- CPU request ensures fair scheduling
2026-01-07 23:48:47 +09:00
44f773b827 REFACTOR(storage): storage repo structure
- Add application.yaml for ArgoCD app-of-apps
- Add kustomization.yaml with storage components
- Add renovate.json for automated updates
- Update all component argocd.yaml repoURLs to storage repo

Components: longhorn, minio, postgresql, postgresql-dev, pgweb, cnpg,
velero
2026-01-05 00:39:12 +09:00
c2cda8ee36 REFACTOR(repo): migrate repoURL to K3S-HOME
- Update repository URL to K3S-HOME organization
- Change from personal to organization repo
2026-01-05 00:39:12 +09:00
4a4dbb7937 REFACTOR(argocd): remove serversideapply
- from argocd applications
- Fixes OutOfSync issues caused by operator-added default values
- ServerSideApply causes stricter field management that conflicts with
  CRD defaults
2026-01-05 00:39:12 +09:00
a586febc4c REFACTOR(gitea): migrate repoURL from Gitea to GitHub
- Update repository URL to GitHub
- Change source control provider
2026-01-05 00:39:12 +09:00
8ac235fb17 CHORE(cnpg): update CNPG chart version to 0.27.0
- Upgrade CloudNativePG chart
- Apply dependency updates
2026-01-05 00:39:12 +09:00
9abcdfa98d 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-05 00:39:12 +09:00
54f7f152da REFACTOR(cnpg): change CNPG namespace
- Update namespace configuration
- Standardize naming
2026-01-04 23:47:13 +09:00
b17eb6309a CHORE(repo): clean kustomization files
- Remove unused entries from kustomization
- Clean up configuration
2026-01-04 23:47:13 +09:00
ad12f641a2 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:47:13 +09:00
55380edbd4 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:47:13 +09:00
9276070f86 CHORE(grafana): disable cnpg grafana dashboard
- auto-creation
Dashboard JSON exceeds Kubernetes ConfigMap annotation size limit.
Dashboard can be manually imported from Grafana.com (ID: 20417).
2026-01-04 23:47:13 +09:00
4c408901e6 FEAT(grafana): enable grafana dashboard
- auto-creation for cnpg operator
Add monitoring.grafanaDashboard.create=true to automatically deploy
the official CNPG Grafana dashboard as a ConfigMap that Grafana can
discover and import.
2026-01-04 23:47:13 +09:00
a15cb1510f PERF(grafana): optimize cpu requests based on
- actual usage from grafa...
- external-secrets: 20m → 5m (actual: 1m)
- external-secrets-webhook: 10m → 2m (actual: 1m)
- external-secrets-cert: 10m → 2m (actual: 1m)
- cnpg: 100m → 5m (actual: 2m)
- haproxy-ingress: 100m → 15m (actual: 9-10m)
2026-01-04 23:47:13 +09:00
b59c5618ea 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:47:13 +09:00
3366a6b5b8 FEAT(velero): Add Velero, Falco,
- and CNPG infrastructure components
Add three critical infrastructure components via GitOps:

- Velero: Backup and disaster recovery solution
  - Configured with Minio S3 backend
  - Daily full cluster backups (30-day retention)
  - Hourly backups for critical namespaces (7-day retention)
  - Credentials managed via External Secrets from Vault

- Falco: Runtime security monitoring
  - eBPF-based threat detection
  - Custom rules for container security
  - Falcosidekick for alert forwarding
  - Prometheus metrics enabled

- CNPG (CloudNativePG): PostgreSQL operator
  - Kubernetes-native PostgreSQL management
  - Automated failover and backups
  - Will replace Bitnami PostgreSQL

All components follow existing GitOps patterns:
- Helm charts deployed via ArgoCD
- Values managed in Git
- Automated sync with selfHeal enabled
2026-01-04 23:47:13 +09:00