mirror of
https://gitlab.kube.huskypup.net/Scooby/Homelabv4.git
synced 2026-08-20 23:16:49 +00:00
Foundation for a DR/backup path using an always-on VPS as a second ArgoCD-managed cluster, plus DB/backup standardization work that fell out of it: - vps-standby ArgoCD cluster destination + AppProject, MinIO backup receiver, VPS bootstrap script (k3s, Netbird, cert-manager) - Dual-site DNS failover watcher + home-IP DDNS CronJob, Cloudflare token moved out of git into Vault+ExternalSecret - Nextcloud migrated from ad-hoc MariaDB to CNPG + redis-operator (matches n8n/Authentik/GitLab's backup-native pattern) - Authentik's CNPG manifests moved into the actual ArgoCD-synced manifests/ path (were present but never wired into the sync path) - Vault raft-snapshot CronJob, CNPG barmanObjectStore backups (Authentik/n8n/Nextcloud), Nextcloud file-PVC restic sync - all targeting the new VPS MinIO receiver See VPS Warm-Standby plan doc for full design rationale.
83 lines
2.2 KiB
YAML
83 lines
2.2 KiB
YAML
apiVersion: argoproj.io/v1alpha1
|
|
kind: AppProject
|
|
metadata:
|
|
name: infrastructure
|
|
namespace: argocd
|
|
spec:
|
|
description: Infrastructure and platform services
|
|
sourceRepos:
|
|
- '*'
|
|
destinations:
|
|
- namespace: '*'
|
|
server: https://kubernetes.default.svc
|
|
clusterResourceWhitelist:
|
|
- group: '*'
|
|
kind: '*'
|
|
namespaceResourceWhitelist:
|
|
- group: '*'
|
|
kind: '*'
|
|
---
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: AppProject
|
|
metadata:
|
|
name: applications
|
|
namespace: argocd
|
|
spec:
|
|
description: User-facing applications
|
|
sourceRepos:
|
|
- '*'
|
|
destinations:
|
|
- namespace: gitlab
|
|
server: https://kubernetes.default.svc
|
|
- namespace: argocd
|
|
server: https://kubernetes.default.svc
|
|
- namespace: n8n
|
|
server: https://kubernetes.default.svc
|
|
- namespace: nextcloud
|
|
server: https://kubernetes.default.svc
|
|
- namespace: teslamate
|
|
server: https://kubernetes.default.svc
|
|
- namespace: home-assistant
|
|
server: https://kubernetes.default.svc
|
|
- namespace: frigate
|
|
server: https://kubernetes.default.svc
|
|
- namespace: guacamole
|
|
server: https://kubernetes.default.svc
|
|
- namespace: cattle-system
|
|
server: https://kubernetes.default.svc
|
|
- namespace: gateway
|
|
server: https://kubernetes.default.svc
|
|
- namespace: istio-system
|
|
server: https://kubernetes.default.svc
|
|
- namespace: authentik
|
|
server: https://kubernetes.default.svc
|
|
clusterResourceWhitelist:
|
|
- group: '*'
|
|
kind: '*'
|
|
namespaceResourceWhitelist:
|
|
- group: '*'
|
|
kind: '*'
|
|
---
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: AppProject
|
|
metadata:
|
|
name: vps-standby
|
|
namespace: argocd
|
|
spec:
|
|
# VPS warm-standby / backup-site services. Deployed to the "vps-standby" cluster
|
|
# registered via `argocd cluster add ... --name vps-standby` (see
|
|
# scripts/vps-bootstrap.sh). Scoped to that cluster only — nothing in this
|
|
# project should ever target the home cluster.
|
|
description: VPS warm-standby / backup-site services
|
|
sourceRepos:
|
|
- '*'
|
|
destinations:
|
|
- namespace: '*'
|
|
name: vps-standby
|
|
clusterResourceWhitelist:
|
|
- group: '*'
|
|
kind: '*'
|
|
namespaceResourceWhitelist:
|
|
- group: '*'
|
|
kind: '*'
|