Commit Graph

38 Commits

Author SHA1 Message Date
b4049151d6 PERF(minio): disable scanner to reduce CPU usage
- Change MINIO_SCANNER_SPEED from slow to off
- Velero backups provide data redundancy instead
2026-01-10 16:18:12 +09:00
485b588a7e PERF(storage): adjust resources based on VPA
- Update minio memory 263Mi→175Mi
- Update cnpg memory 128Mi→121Mi
- Update zot memory 128Mi→121Mi
- Update velero memory 128Mi→75Mi
- Update velero nodeAgent memory 256Mi→100Mi
2026-01-10 14:34:29 +09:00
6b626b099a PERF(storage): reduce replicas to 1
- Reduce pgweb replicas from 2 to 1
- Reduce MinIO console replicas from 2 to 1
2026-01-10 13:15:56 +09:00
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
e1850865fb FIX(minio): enable ServiceMonitor for Prometheus
- Enable ServiceMonitor to allow Prometheus direct scraping
- Fix missing metrics in Grafana dashboard after OTel migration
2026-01-10 02:53:15 +09:00
ec8e881a37 PERF(minio): reduce CPU by disabling unused workers
- Set replication workers to minimum (1)
- Set transition workers to minimum (1)
- Change scanner speed to slow
- Reduces CPU from ~400m to ~100m
2026-01-09 21:46:58 +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
613ef5984e REFACTOR(repo): standardize taint to control-plane
- Change node-role.kubernetes.io/master to control-plane
- Update velero, zot, postgresql, minio tolerations
- Change effect from NoExecute to NoSchedule (K3s standard)
2026-01-09 21:46:40 +09:00
5753098d10 FIX(minio): correct ClusterExternalSecret defaults
- Add default values (conversionStrategy, decodingStrategy, metadataPolicy)
- Match ClusterExternalSecret controller defaults
- Fix ArgoCD OutOfSync caused by controller defaults
2026-01-09 21:46:39 +09:00
381b7cda3f FEAT(minio): add ClusterExternalSecret for S3 credentials
- Add minio-s3-credentials ClusterExternalSecret
- Auto-create secret in namespaces with minio-s3: enabled label
- Add minio-s3 label to zot namespace via managedNamespaceMetadata
- Credentials stored in Vault at secret/minio-s3-credentials
2026-01-08 17:15:50 +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
9c0fddb0ef REFACTOR(secrets): flatten Vault paths
- Change secret paths from <category>/<app> to <app>
- databases/postgresql → postgresql
- databases/minio → minio
- databases/pgweb → pgweb
- cluster-infrastructure/velero → velero
2026-01-06 16:52:54 +09:00
b5f93b3812 REFACTOR(repo): move vault/ to manifests/
- Move ExternalSecret files from vault/ to manifests/secret.yaml
- Merge multiple secrets with --- separator (postgresql)
- Update kustomization.yaml references
- Remove vault/ folders

Apps: postgresql, postgresql-dev, pgweb, minio, velero
2026-01-06 16:42:24 +09:00
c46de7c16e REFACTOR(minio): integrate API ingress
- Add API ingress (s3.minio0213.kro.kr) to helm-values.yaml
- Move storage-class.yaml, persistent-volumes.yaml to manifests/
- Move console-deployment.yaml to manifests/
- Create console-ingress.yaml in manifests/ for custom console
2026-01-06 15:12:52 +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
renovate[bot]
039dfa9c73 CHORE(minio): update Helm release minio to v5.4.0
- Upgrade MinIO chart version
- Apply dependency updates
2026-01-05 00:39:12 +09:00
505d8bc4c9 FIX(minio): minio post-job by setting trigger
- values to empty arrays
- buckets, users, policies, customCommands, svcaccts must be empty
- Previous makeBucketJob.enabled etc. did not prevent Job creation
2026-01-05 00:39:12 +09:00
427b45ddc6 REFACTOR(minio): rename custom console Service
- to minio-console-ui
- Avoids conflict with Helm chart's consoleService (minio-console)
- Update ingress to reference minio-console-ui
2026-01-05 00:39:12 +09:00
1ce9b8ab85 CHORE(argocd): disable minio post-install jobs
- to fix argocd sync hang
2026-01-05 00:39:12 +09:00
b1d195958a FIX(postgresql): minio and pg-dev sync issues
- MinIO: Disable consoleService (duplicate with console-deployment.yaml)
- postgresql-dev: Add ignoreDifferences for CPU limits to prevent
  OutOfSync
2026-01-05 00:39:12 +09:00
758149fb99 FEAT(authelia): add oidc config
- for authelia sso (secrets from...
2026-01-05 00:39:12 +09:00
804207b02b FEAT(authelia): add authelia sso
- to minio console and pgweb
- minio: Add Authelia middleware to console ingress (API excluded for S3
  access)
- pgweb: Add Authelia middleware to ingress
2026-01-05 00:39:12 +09:00
d60617f00c REFACTOR(minio): move minio disk from worker-1
- to master
- Change minio-pv-worker1-data2 to minio-pv-mayne-vcn-data2
- Master now has 2 disks, worker-1 has 1 disk
- Better distribution: master(2), worker-1(1), worker-2(1)
2026-01-05 00:39:12 +09:00
8698780758 FEAT(minio): add master node toleration to MinIO
- minio-0 disk is on master node, requires toleration for NoExecute
  taint
- Allows minio-0 to schedule on master with taint
2026-01-05 00:39:12 +09:00
57524aaa93 REFACTOR(traefik): switch ingress to Traefik
- Update ingressClassName from haproxy to traefik
- Remove nginx annotations from minio ingress
2026-01-05 00:39:12 +09:00
a41dce6acb FIX(minio): fix MinIO ingress service names
- Correct service name references
- Fix ingress routing
2026-01-05 00:39:12 +09:00
ab80e14e0a CHORE(external-secrets): update ESO API version from v1beta1 to v1
- Update ExternalSecret API version
- Migrate to stable API
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
0f9f427e44 FEAT(minio): add minio storageclass
- and persistentvolumes for local d...
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
50c3ad5e9e REFACTOR(minio): arrange folder structure for Longhorn and MinIO
- Reorganize folder structure
- Clean up configuration files
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
ecb04fc14a FEAT(velero): configure minio
- for selective velero backup
Added pod annotation to exclude PVC data from Velero backups while
preserving MinIO resource definitions:
- backup.velero.io/backup-volumes-excludes: export

This prevents circular backup of the velero-backups bucket while
still backing up MinIO StatefulSet, Services, and configuration.

Note: MinIO bucket data (bucket, bucket-dev, velero-backups) will
NOT be backed up. Consider separate backup strategy for critical
bucket data if needed.
2026-01-04 23:47:13 +09:00
f1b99f0bdf FEAT(traefik): add per-application ingress
- management
- Added ingress files for MinIO (API and Console) and pgweb
- Updated kustomization files to include ingress resources
- Migrated from centralized ingress management to per-app architecture
2026-01-04 23:47:13 +09:00
b6802a45e6 REFACTOR(vault): update Vault secret paths
- Update secret paths for databases/*
- Reorganize secret structure
2025-12-17 21:32:31 +09:00
26378b9143 FEAT(minio): add minio and pgweb
- move from applications to databases
2025-12-17 15:17:45 +09:00