Added Argocd for better gitops management

This commit is contained in:
Nik Afiq 2026-03-21 13:50:28 +09:00
parent 863e66577c
commit d82d467b2b
6 changed files with 108 additions and 1 deletions

View File

@ -0,0 +1,28 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: argocd
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: default
source:
repoURL: https://gitea.nik4nao.com/nik/homelab.git
targetRevision: main
path: argocd/values
helm:
chart: argo-cd
repo: https://argoproj.github.io/argo-helm
version: 9.4.15
valueFiles:
- argocd.yaml
destination:
server: https://kubernetes.default.svc
namespace: argocd
syncPolicy:
automated:
prune: false # never auto-delete ArgoCD itself
selfHeal: true
syncOptions:
- CreateNamespace=false

27
argocd/values/argocd.yaml Normal file
View File

@ -0,0 +1,27 @@
# helm install argocd argo/argo-cd \
# --namespace argocd --create-namespace \
# --version 9.4.15 \
# --values argocd/values/argocd.yaml
global:
domain: argocd.home.arpa
configs:
params:
# Traefik terminates TLS, ArgoCD speaks plain HTTP internally
server.insecure: "true"
server:
ingress:
enabled: false
redis-ha:
enabled: false
controller:
replicas: 1
repoServer:
replicas: 1
applicationSet:
replicas: 1

View File

@ -0,0 +1,20 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: app-of-apps
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: default
source:
repoURL: https://gitea.nik4nao.com/nik/homelab.git
targetRevision: main
path: argocd/apps
destination:
server: https://kubernetes.default.svc
namespace: argocd
syncPolicy:
automated:
prune: false
selfHeal: true

View File

@ -0,0 +1,29 @@
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: argocd-tls
namespace: argocd
spec:
secretName: argocd-tls
issuerRef:
name: internal-ca-issuer
kind: ClusterIssuer
dnsNames:
- argocd.home.arpa
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: argocd
namespace: argocd
spec:
entryPoints:
- websecure
routes:
- match: Host(`argocd.home.arpa`)
kind: Rule
services:
- name: argocd-server
port: 80
tls:
secretName: argocd-tls

View File

@ -47,6 +47,8 @@ dnsmasq:
- address=/traefik.home.arpa/192.168.7.77
- address=/photoview.home.arpa/192.168.7.77
- address=/gitea.nik4nao.com/192.168.7.77
- address=/ha.home.arpa/192.168.7.77
- address=/argocd.home.arpa/192.168.7.77
persistentVolumeClaim:
enabled: true

View File

@ -78,4 +78,5 @@ dnsmasq:
- address=/traefik.home.arpa/192.168.7.77
- address=/photoview.home.arpa/192.168.7.77
- address=/gitea.nik4nao.com/192.168.7.77
- address=/ha.home.arpa/192.168.7.77
- address=/ha.home.arpa/192.168.7.77
- address=/argocd.home.arpa/192.168.7.77