33 Commits

Author SHA1 Message Date
82137f6b2a feat: register multus Argo CD Application (manual sync)
Some checks failed
validate / lint (push) Failing after 1s
Points at manifests/multus/ — deliberately no syncPolicy.automated, so
app-of-apps picking this up only registers the Application; nothing
under it deploys until selectively synced by hand.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-24 18:05:32 +09:00
e15911305f Revert "feat: move Gitea traffic from gitea.nik4nao.com to gitea.home.arpa"
This reverts commit fd13b8a. The registry-host migration broke image
pulls for home-services/portfolio (internal CA not trusted by
containerd) and has left them Degraded for 11 days; reverting back to
gitea.nik4nao.com pending a decision on how to proceed. Not pushed yet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-19 00:22:27 +09:00
fd13b8aedb feat: move Gitea traffic from gitea.nik4nao.com to gitea.home.arpa
Some checks failed
validate / lint (push) Has been cancelled
The public domain is unreachable while moving, and the cluster had no
Traefik route to Gitea at all (public or internal), leaving every Argo
CD Application stuck in Unknown sync. Add a gitea.home.arpa
Certificate/IngressRoute, repoint Argo CD's repoURL, Gitea's own
DOMAIN/ROOT_URL/SSH_DOMAIN, the container registry references, the
Gitea Actions runner, and the watch-party clone URL at the internal
hostname.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-07 23:06:02 +09:00
8f3e04f179 fix: sealed-secrets chart repo moved to bitnami.github.io
Some checks failed
validate / lint (push) Failing after 1s
bitnami-labs.github.io/sealed-secrets returns 404 -- Bitnami migrated the
sealed-secrets Helm repo to the main bitnami org on 2026-06-15
(bitnami/sealed-secrets#1982), and GitHub Pages doesn't redirect the old
Pages URL. Pre-existing external breakage (last successful Argo CD sync was
2026-05-16, before the migration), not something introduced this session --
the sealed-secrets-controller pod itself kept running fine throughout, this
only blocked Argo CD's ability to diff/compare state.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 19:31:54 +09:00
9afc7e8005 fix: resolve REPLACE_ME placeholder in argocd/apps/authentik.yaml
Some checks failed
validate / lint (push) Failing after 1s
The placeholder targetRevision reached origin/main and broke the Application's
comparison (ComparisonError: "improper constraint: REPLACE_ME"), showing as a
broken card in the Argo CD UI. The actual Authentik pods were never affected
(sync policy has no `automated` block, so nothing was ever applied against the
live release) -- confirmed all authentik namespace pods stayed Running 1/1
throughout.

Fixed using the real deployed chart version read off the live authentik-server
pod's helm.sh/chart=authentik-2026.2.1 label, not a guess.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 18:47:51 +09:00
d0887ac648 fix: Argo CD bootstrap normalization -- adopt cert-manager/Authentik config, fix policy drift
Stage 5 + part of Stage 6/7 of REFACTOR_PLAN.md. This is the highest-risk
stage per the plan -- these Applications are NOT to be pushed/synced blindly.
Each needs `kubectl diff` against live state one at a time before enabling.

New Applications (previously-live resources with zero GitOps coverage):
- cert-manager-config.yaml (manifests/cert-manager: both ClusterIssuers + the
  internal CA Certificate -- every TLS cert in the cluster depends on these,
  and nothing currently restores them on a cold rebuild).
- authentik-config.yaml (manifests/authentik: ingress, proxy outpost,
  middleware -- raw manifests only, low risk).
- authentik.yaml (the Authentik Helm chart itself): sync is deliberately left
  MANUAL and targetRevision is a REPLACE_ME placeholder -- I don't have a safe
  way to read the live chart version (`helm list -n authentik`), and guessing
  wrong risks an unwanted upgrade/downgrade of the SSO IdP gating Argo CD/
  Grafana/Gitea logins. Needs your input before this one goes anywhere.
- network.yaml: widens coverage to the 4 non-sealed files in manifests/network
  (ddns-cronjob, glances-debian-ingress, traefik-dashboard-ingress,
  watch-party-ingress) that were previously invisible to Argo CD; keeps
  network-secrets.yaml scoped to *-sealed.yaml only.

Fixes:
- homeassistant.yaml: destination.namespace was "homeassistant" (empty,
  unused) while the actual resources are hardcoded to "default" -- corrected,
  dropped CreateNamespace=true. The old empty namespace isn't auto-deleted
  (prune: false); safe to remove by hand if desired.
- gitea-backup.yaml: added the missing Namespace object (nothing created
  "gitea-backup" before); replaced a cluster-wide ClusterRole/ClusterRoleBinding
  granting pods/exec everywhere with a Role/RoleBinding scoped to the `gitea`
  namespace, matching what the backup script actually execs into. NOTE: this
  is already under active sync via gitea-secrets.yaml (selfHeal: true,
  prune: false) -- once pushed, the old ClusterRole/ClusterRoleBinding will
  need manual `kubectl delete` since Argo CD won't prune them.
- Added sync-wave "-2" to cert-manager/sealed-secrets Applications so their
  CRDs land before consumers (matches the existing -1/0 wave pattern).
- Normalized targetRevision HEAD -> main on home-services/otel-collector/tempo.
- Normalized sync policy per your decision: home-services/otel-collector/tempo
  prune true -> false; pihole/pihole-debian selfHeal false -> true (repo-wide
  consistency, per your call on finding #18).

Verified: kubeconform valid across all manifests + Argo CD Application objects.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 18:20:54 +09:00
0e0d74d816 fix: update ignoreDifferences for loki-stack ConfigMap to include /data 2026-05-15 04:11:39 +09:00
4cc3af39d6 feat: update README files to enhance documentation for Ansible, Argo CD, and Kubernetes manifests 2026-05-06 19:42:33 +09:00
91f8167323 refactor: remove 'ollama-external.yaml' and its manual exclusion from ArgoCD application 2026-04-21 17:16:25 +09:00
e1fd813b7e fix: exclude 'ollama-external.yaml' from ArgoCD application directory 2026-04-21 16:49:55 +09:00
80d92718bd feat: add ArgoCD application configuration for portfolio 2026-04-09 21:50:32 +09:00
4b265d7668 Changed createNamespace to true 2026-04-07 22:48:51 +09:00
d7b12765db feat: update namespaces to home-services for Discord and HA components 2026-04-07 22:40:03 +09:00
53e7e32d5a feat: add Discord and Home Assistant integration with sealed secrets and deployments 2026-04-06 21:14:47 +09:00
81735446bd ignore grafana_datasource label on loki-stack ConfigMap 2026-03-25 22:18:43 +09:00
14f0e7c43c feat: add OTel Collector, Tempo, Traefik OTLP tracing 2026-03-25 20:17:47 +09:00
6a373f8a5e argocd: use client_secret_post for Authentik OIDC 2026-03-21 20:58:36 +09:00
40ec0966de argocd: A4 - OIDC login via Authentik, argocd-config app 2026-03-21 20:38:47 +09:00
3f23c09263 argocd: enable ServerSideApply for monitoring app (CRD size limit) 2026-03-21 19:55:13 +09:00
9e71aea782 argocd: fix release names for kube-prometheus-stack and loki-stack 2026-03-21 16:13:22 +09:00
cca5c7c789 argocd: ignore metadata labels diff on gitea-shared-storage PVC 2026-03-21 16:04:04 +09:00
1dfbd07ce6 argocd: ignore volumeMode diff on gitea-shared-storage PVC 2026-03-21 16:02:36 +09:00
ce5ecc3865 argocd: add RespectIgnoreDifferences for gitea PVC 2026-03-21 15:58:52 +09:00
f681c62238 Added ignore to PVC 2026-03-21 15:57:06 +09:00
42bffbbcd6 Add ignore for persistent data 2026-03-21 15:52:29 +09:00
5fe780a776 Misconfiguration fix for ignoreDiff 2026-03-21 15:37:12 +09:00
bcd05fe371 Added ignore for persistentVolume 2026-03-21 15:28:39 +09:00
45eb496d13 argocd migration: A3 - sealed secrets, gitea, monitoring, loki apps 2026-03-21 14:47:11 +09:00
16804f526a argocd migration: added secrets for A3 migration 2026-03-21 14:35:54 +09:00
cfbb4a5ab8 argocd migration: A2 - traefik, cert-manager, pihole, pihole-debian apps 2026-03-21 14:20:12 +09:00
0e4bbfd940 argocd migration: A1 - media, core, homeassistant apps 2026-03-21 14:08:59 +09:00
585fbaca82 fix argocd-self Application helm source structure 2026-03-21 13:52:28 +09:00
d82d467b2b Added Argocd for better gitops management 2026-03-21 13:50:28 +09:00