175 Commits

Author SHA1 Message Date
6f8346ebdf PERF(applications): remove CPU limits for stability
- Remove CPU limits from docusaurus, headlamp, homer, mas
- Prevents CPU throttling issues
2026-01-12 02:27:19 +09:00
9839875e2a PERF(umami,code-server): remove CPU limits for stability
- umami: increase memory to 600Mi, remove CPU limit
- code-server: increase memory to 302Mi, remove CPU limit
2026-01-12 02:00:42 +09:00
0ae70de5bc PERF(umami): increase memory limit to upperBound
- Memory limit 323Mi was causing OOMKilled
- Increase to 433Mi (VPA upperBound)
2026-01-12 01:51:37 +09:00
fcb0413aff PERF(applications): optimize resources via VPA
- code-server: CPU 15m/15m, memory 225Mi/225Mi
- docusaurus: CPU 10m/16m, memory 50Mi/50Mi
- headlamp: CPU 15m/15m, memory 100Mi/100Mi
- homer: CPU 10m/12m, memory 50Mi/50Mi
- mas: CPU 15m/15m, memory 144Mi/203Mi
- umami: CPU 15m/15m, memory 271Mi/323Mi
2026-01-12 01:08:46 +09:00
f812dcc75f refactor: update Vault secret paths to new categorized structure
- code-server: code-server → applications/code-server
- mas: mas → applications/mas, postgresql → storage/postgresql
- umami: umami → applications/umami
- headlamp: authelia → security/authelia

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 22:36:11 +09:00
58455b689f migrate: change repoURLs from GitHub to Gitea
Update all ArgoCD Application references to use Gitea (github0213.com)
instead of GitHub for K3S-HOME/applications repository.
Also update docusaurus to use gitea-creds for Image Updater write-back.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 20:43:26 +09:00
4e83ee8242 REFACTOR(gitea): move to platform repo
- Remove gitea Application manifests
- Update kustomization.yaml to exclude gitea
- Gitea now managed by platform repo
2026-01-10 19:38:54 +09:00
e5da6a1012 REFACTOR(umami): consolidate ingress into helm values
- Remove separate ingress manifests
- Define ingress directly in helm-values.yaml
- Remove kustomization ingress reference
2026-01-10 17:39:36 +09:00
a2e882853e FIX(umami): remove SSO and use default login
- Remove disableLogin setting from helm values
- Remove Authelia middleware from ingress
2026-01-10 17:32:35 +09:00
b4ae36ae61 FIX(umami): use chart-specific disableLogin setting
- Use umami.disableLogin instead of env variable
- Set removeDisableLoginEnv to false to preserve env var
2026-01-10 17:25:01 +09:00
9c4a95a586 FIX(umami): fix DISABLE_LOGIN env variable syntax
- Change env format from map to list style
- Use proper Kubernetes env var specification
2026-01-10 17:15:26 +09:00
84312ce9e4 PERF(applications): adjust resources based on VPA
- Update homer cpu 15m→11m, memory 100Mi→50Mi
- Update code-server memory 512Mi→215Mi
- Update docusaurus cpu 10m→15m
- Update gitea cpu 15m→63m, memory 200Mi→237Mi
- Update umami memory 384Mi→283Mi
- Update mas memory 150Mi→175Mi
2026-01-10 14:35:21 +09:00
5890f09ada PERF(apps): reduce replicas to 1
- Reduce docusaurus, headlamp, umami replicas to 1
2026-01-10 13:31:34 +09:00
93d629160d FIX(gitea): use Recreate strategy
- SQLite and LevelDB require exclusive file access
- RollingUpdate causes lock conflicts with two pods
2026-01-10 13:24:31 +09:00
886e4e36c0 PERF(apps): reduce replicas to 1
- Reduce Homer replicas from 2 to 1
- Reduce MAS replicas from 2 to 1
2026-01-10 13:15:55 +09:00
da0cdbecb2 PERF(gitea): force master placement, add priority
- Add nodeSelector for control-plane node
- Keep tolerations for control-plane taint
- Add high-priority PriorityClass
2026-01-10 13:14:07 +09:00
085774cb1e PERF(gitea): double memory request and limit
- Increase memory request from 100Mi to 200Mi
- Increase memory limit from 100Mi to 200Mi
2026-01-10 04:02:20 +09:00
009b339598 CHORE(docusaurus): align memory request with limit
- Update memory request from 50Mi to 100Mi to match limits
2026-01-10 02:31:17 +09:00
65c51d0fc2 CHORE(docusaurus): migrate from GHCR to Zot registry
- Change image registry to zot0213.kro.kr
- Add imagePullSecrets for Zot authentication
- Update ArgoCD Image Updater annotations for Zot
2026-01-10 01:20:47 +09:00
a258394e63 REFACTOR(docusaurus): migrate to GitHub Actions CI/CD
- Remove init container build (moved to GitHub Actions)
- Use charts/web-app Helm chart with ArgoCD Image Updater
- Move source code to separate repository
2026-01-10 01:20:47 +09:00
fd542fb409 FIX(headlamp): configure OIDC authentication
- Remove groups scope (Authelia does not provide groups claim)
- Set proper baseURL for OIDC redirect
- Revert baseURL to empty string (must be empty or start with '/')
2026-01-10 01:20:46 +09:00
ab5d432f5c CHORE(resources): set memory limits equal to memory requests
- Align memory limits with memory requests for guaranteed QoS class
- umami, code-server, docusaurus
- gitea, homer, mas, headlamp
2026-01-10 01:20:46 +09:00
21d1367098 FEAT(repo): add App of Apps self-reference
- Add application.yaml for ArgoCD self-registration
- Update kustomization.yaml to include application.yaml
- Set prune: false to prevent cascade deletion
2026-01-09 21:39:31 +09:00
ed6762b672 FIX(gitea): separate github-tls and gitea-tls certificates
- Create separate TLS secrets for GitHub and Gitea
- Resolve certificate conflict between domains
2026-01-09 21:39:31 +09:00
5f8ea56d95 CHORE(repo): remove application.yaml reference
- Remove application.yaml from kustomization.yaml
- Simplify repository structure
2026-01-09 21:39:30 +09:00
aff0765b97 CHORE(repo): remove application.yaml
- Delete application.yaml file
- Application now managed by platform
2026-01-09 21:39:30 +09:00
6adad77f5e REFACTOR(gitea): standardize taint to control-plane
- Change node-role.kubernetes.io/master to control-plane
- Change effect from NoExecute to NoSchedule
2026-01-09 21:39:30 +09:00
7b884711d7 CHORE(immich): remove immich application
- Delete immich folder (argocd.yaml, helm-values.yaml, manifests/)
- Remove from kustomization.yaml
- Application no longer in use
2026-01-09 21:39:30 +09:00
449f8411e0 FEAT(gitea): add Helm chart source to ArgoCD
- Add Gitea Helm chart source from dl.gitea.com/charts/
- Add values reference source for helm-values.yaml
- Migrate from single source to multi-source configuration
- Enable Helm chart deployment with custom values
2026-01-09 21:38:09 +09:00
a57e6555ea FIX(applications): correct bjw-s/app-template schema for replica and affinity
- Move replicaCount to controllers.main level
- Move affinity to controllers.main.pod level
- Fix Helm schema validation errors for docusaurus, homer, mas

FIX(applications): move replicaCount to top level for bjw-s/app-template

- Move replicaCount from controllers.main to top level
- Keep affinity in controllers.main.pod.affinity
- Fix Helm schema validation errors

FIX(applications): use replicas instead of replicaCount for bjw-s/app-template

- Change replicaCount to controllers.main.replicas
- Fix schema validation for bjw-s/app-template chart
2026-01-09 21:38:09 +09:00
fd1548c70c FEAT(applications): enable HA with replica 2 and soft anti-affinity
- Add replicaCount: 2 to docusaurus, headlamp, homer, mas, umami
- Add soft pod anti-affinity for node distribution
- Enable high availability across multiple nodes
2026-01-09 21:38:09 +09:00
17cce6ed23 CHORE(crafty): remove crafty application
- Delete crafty folder and all related files
- Remove from kustomization.yaml
2026-01-09 21:38:09 +09:00
a051b67030 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:31 +09:00
b5517f757a PERF(resources): increase CPU limit to VPA × 3 for startup burst
- Change CPU limit multiplier from 1.5x to 3x
- Prevents throttling during app startup
- Affected: code-server, crafty, docusaurus, gitea, headlamp,
  homer, immich, mas, umami
2026-01-07 23:35:06 +09:00
8353cf22bc FEAT(repo): add startupProbe for CPU-limited apps
- Add startupProbe to code-server, crafty, mas, umami, immich
- Configure 300s startup timeout (10s × 30 attempts)
- Set initialDelaySeconds to 0 for liveness/readiness
- Reduce immich-ml memory from 2Gi to 1Gi (node memory limit)
2026-01-07 23:25:06 +09:00
3bc0b76135 PERF(repo): apply CPU/Memory limits based on VPA
- Set CPU request to VPA recommendation
- Set CPU limit to VPA × 1.5 for burst allowance
- Set Memory limit to VPA × 1.5 to prevent OOM
- Prevent cascading failure on node failure
2026-01-07 23:07:30 +09:00
4e1c276b89 CHORE(gitea): change domain to github0213.com
- Update server.DOMAIN and ROOT_URL
- Update SSH_DOMAIN for git clone via SSH
- Update ingress hosts and TLS configuration
2026-01-07 19:19:12 +09:00
7c732718bb CHORE(gitea): update admin credentials
- Change username to Mayne0213
- Update email to bluemayne0213@icloud.com
2026-01-07 19:07:44 +09:00
8d4dbe8431 CHORE(homer): Remove Tekton dashboard link 2026-01-07 17:51:24 +09:00
6d59d6774b CHORE(gitea): temporarily redirect to GitHub
- Replace Gitea deployment with GitHub redirect
- Use Traefik Middleware for 301 redirect to github.com/mayne0213
- Keep TLS certificate for gitea0213.kro.kr
2026-01-07 13:28:09 +09:00
87d5d4ccdb FIX(gitea): change admin username to bluemayne
- Update admin username from gitea_admin to bluemayne
2026-01-07 12:46:47 +09:00
96637c5146 FEAT(gitea): add self-contained Gitea deployment
- Replace GitHub redirect with actual Gitea server
- SQLite database (no CNPG dependency)
- local-path StorageClass (no Longhorn dependency)
- Manual secret creation (no Vault dependency)
- Ingress at gitea0213.kro.kr
2026-01-07 12:40:59 +09:00
2bb0b693db FIX(headlamp): skip TLS verification for OIDC
- Add -oidc-skip-tls-verify flag via extraArgs
- Workaround for CA cert validation issue
2026-01-07 01:30:57 +09:00
779724b9f7 FIX(headlamp): update Vault secret path for OIDC
- Change path from cluster-infrastructure/authelia to authelia
- Fix ExternalSecret sync error
2026-01-07 01:02:30 +09:00
9a88e70caf FEAT(homer): update items to match Apps structure
- Add subtitle, tag, tagstyle to Jotion, Portfolio, Todo, Jovies
- Remove quick links from Jotion and Portfolio
- Update Jotion URL and logo path
- Add zot icon asset
2026-01-07 00:52:33 +09:00
c9fdbfe8f7 REFACTOR(mas): flatten Vault paths to root level
- mas/api-keys → mas
- databases/postgresql → postgresql
2026-01-06 16:59:44 +09:00
2aab61539b REFACTOR(crafty): use craftycontroller chart
- Replace custom manifests with craftycontroller Helm chart
- Update ArgoCD application source configuration
2026-01-06 16:59:42 +09:00
d65596309b REFACTOR(secrets): flatten Vault paths
- Change secret paths from <category>/<app> to <app>
- applications/code-server → code-server
- applications/umami → umami
- databases/postgresql → postgresql
- cluster-infrastructure/authelia → authelia
2026-01-06 16:53:02 +09:00
068d9339b9 REFACTOR(repo): move vault/ to manifests/
- Move ExternalSecret files from vault/ to manifests/secret.yaml
- Merge multiple secrets with --- separator (immich)
- Update kustomization.yaml references
- Remove vault/ folders

Apps: umami, immich, code-server
2026-01-06 16:43:34 +09:00
0c2ebe80b2 FIX(docusaurus): remove duplicate volumeMount
- Remove duplicate volumeMount configuration
- Fix app-template chart validation error
2026-01-06 16:07:03 +09:00