27 Commits

Author SHA1 Message Date
9f9bd04b4b fix: change serviceDns type from LoadBalancer to ClusterIP in Pi-hole configurations
Some checks failed
validate / lint (push) Failing after 8s
2026-08-23 11:46:23 +09:00
fa53b7fee4 fix: disable both Pi-hole instances during DNS migration
Some checks failed
validate / lint (push) Has been cancelled
Set replicaCount: 0 for pihole and pihole-debian so Argo CD's selfHeal
doesn't scale them back up once its git connectivity recovers. Live
deployments already scaled to 0 directly; this just keeps git in sync
with that so it sticks.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-23 11:40:26 +09:00
7a8c73d78a fix: update fleet IPs after subnet migration to 10.10.40.0/24
Some checks failed
validate / lint (push) Has been cancelled
minisforum, debian, mac-mini, and gpu-node all moved from
192.168.7.0/24 to 10.10.40.0/24. Updates K3s server/agent config and
node IPs (including gpu-node's host_vars override), NFS export
allow-list and exports template, Pi-hole DNS records and
kube-vip/loadBalancerIP pins, WireGuard's pushed DNS/AllowedIPs, and
the NFS server IP baked into Jellyfin/Kavita/gitea-backup PVs and the
Ollama URL used by ai-gateway/Dashy.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-23 05:52:41 +09:00
bcc697db7e feat: add second Kavita instance with NFS and IngressRoute at books2.home.arpa
Some checks failed
validate / lint (push) Failing after 0s
fix: update Pi-hole configurations to include DNS entry for books2.home.arpa
2026-08-02 02:30:17 +09:00
47e3a8992a feat: add custom DNS entries for books.home.arpa in Pi-hole configurations
Some checks failed
validate / lint (push) Failing after 0s
2026-08-02 01:53:59 +09:00
85cc8494fa feat: add alert bridge service and related configurations
Some checks failed
validate / lint (push) Failing after 1s
2026-08-01 22:51:59 +09:00
df07062cd1 fix: restore nik4nao.home.arpa DNS entry -- wrongly removed as "orphaned"
Some checks failed
validate / lint (push) Failing after 1s
This points at nik-debian's raw IP (192.168.7.183) for a host-level SMB/Samba
share, not a Kubernetes Service. Stage 3 removed it based on "no Certificate/
Ingress/IngressRoute references it" -- the wrong test for a non-HTTP,
non-Kubernetes service that was never going to have one. Broke real SMB
access. Restored to both Pi-hole values files in their original position.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-24 12:18:00 +09:00
f006090fea fix: remove Immich entirely
Some checks failed
validate / lint (push) Failing after 1s
Not used enough to justify chasing the stale-NFS-handle issue on its
photos-art mount. Removes manifests/media/immich.yaml (Namespace, PVCs,
Deployments, Service, Certificate, IngressRoute), its secret script and
sealed secret, immich.home.arpa from both Pi-hole values files, its Dashy
dashboard tile, and all other repo references (READMEs, secrets-leak-scanner
scope, regen-sealed-secret example, .env.example).

Per explicit confirmation: this also means the live namespace's PVCs
(immich-library 50Gi, immich-postgres-data 20Gi, immich-ml-cache 10Gi, all
local-path with Delete reclaim policy) are intended to be deleted along with
it -- any photos actually uploaded to Immich's own library are gone once the
namespace is deleted, separately from the read-only NFS folders it browsed
(untouched either way, those live independently on nik-debian).

Git removal alone does not delete the live cluster resources -- the media
Application has prune: false. Manual `kubectl delete namespace immich` still
needed to actually free the namespace/PVCs/data.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 20:21:05 +09:00
57a78fd8e7 fix: remove orphaned DNS entry, sync Pi-hole DNS drift between primary/secondary
Stage 3 + 6 of REFACTOR_PLAN.md.

- Drop nik4nao.home.arpa from both Pi-hole values files: no Certificate,
  Ingress, or IngressRoute anywhere references it (confirmed via grep).
- Add the immich.home.arpa and gluetun.home.arpa entries that existed in
  values/pihole.yaml but were missing from values/pihole-debian.yaml --
  Pi-hole has no wildcard DNS here, so every hostname must be listed in both.

Both files' hostname lists now match exactly (aside from the differing
target IPs, which is expected for primary vs. secondary).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 18:14:54 +09:00
c373b828d1 fix: remove Photoview references from configuration and documentation 2026-05-13 00:40:15 +09:00
3209a13ed6 feat: enhance Dashy configuration with new Downloads section and integrate gluetun API for VPN IP display
feat: update qBittorrent deployment to expose gluetun API on port 8000 and add TLS certificate for secure access
feat: add gluetun DNS entry to Pi-hole configuration for improved network management
2026-05-12 22:32:20 +09:00
1ceb8209bc feat: add Immich database credentials and deployment configuration 2026-05-01 19:43:09 +09:00
45eb496d13 argocd migration: A3 - sealed secrets, gitea, monitoring, loki apps 2026-03-21 14:47:11 +09:00
d82d467b2b Added Argocd for better gitops management 2026-03-21 13:50:28 +09:00
863e66577c Added homeassistant to the homelab 2026-03-18 23:45:30 +09:00
26c4234dc6 Migrate gitea to gitea.nik4nao.com 2026-03-17 22:45:03 +09:00
e49ea43596 Add Photoview and the corresponding address in Pihole 2026-03-17 21:52:48 +09:00
83f46c9748 feat(gitea): add backup CronJob with RBAC and NFS support
feat(gitea): create PersistentVolume and PersistentVolumeClaim for Gitea

feat(gitea): add script to create Gitea runner registration token secret

feat(gitea): deploy Gitea Actions runner with Docker socket access

feat(media): deploy JDownloader with Ingress configuration

feat(media): set up Jellyfin media server with NFS and Ingress

feat(media): configure qBittorrent deployment with Ingress

feat(monitoring): add Grafana Loki datasource ConfigMap

feat(monitoring): create Grafana admin credentials secret

feat(monitoring): define PersistentVolumes for monitoring stack

feat(network): implement DDNS CronJob for Porkbun DNS updates

feat(network): create secret for Porkbun DDNS API credentials

feat(network): set up Glances service and Ingress for Debian node

fix(network): patch Pi-hole DNS services with external IPs

feat(network): configure Traefik dashboard Ingress with Authentik auth

feat(network): set up Watch Party service and Ingress for Mac Mini

refactor(values): update Helm values files for various services
2026-03-12 21:56:32 +09:00
a7f7cd4095 Add Authentik configuration and related resources for improved authentication management 2026-03-11 00:02:00 +09:00
a470dd4f60 Add CA Trust Installer configuration and web interface for certificate installation 2026-03-10 16:28:17 +09:00
03cdf9f355 Add Glances deployment and configuration for Debian and Kubernetes 2026-03-09 21:48:07 +09:00
4129089d09 Add K3s agent playbook and related configurations; include JDownloader and qBittorrent manifests 2026-03-06 19:49:18 +09:00
926543ba5c Add Jellyfin manifests and update Pi-hole DNS entries for Jellyfin 2026-03-06 19:20:11 +09:00
e849755d41 Add Dashy dashboard manifests and update Pi-hole DNS entries 2026-03-06 18:57:02 +09:00
dc86a961be Add cert-manager configurations and scripts for Porkbun and Let's Encrypt integration
- Create .env.example for API credentials
- Update .gitignore to include .env file
- Add cluster issuer configurations for internal CA and Let's Encrypt
- Implement porkbun-secret.sh for creating Kubernetes secrets
- Define Helm values for cert-manager, Gitea, and Pihole with TLS settings
2026-03-06 18:42:02 +09:00
208c768b2e Rename YAML file extensions from .yml to .yaml for consistency 2026-03-06 10:37:42 +09:00
feb31a52fb Renamed file extension from yml to yaml 2026-03-05 23:45:59 +09:00