327 lines
7.3 KiB
YAML
327 lines
7.3 KiB
YAML
---
|
|
# ArgoCD Project for homelab applications
|
|
# Projects provide logical grouping and access control
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: AppProject
|
|
metadata:
|
|
name: homelab
|
|
namespace: argocd
|
|
spec:
|
|
description: Viktor's homelab applications
|
|
# Allow deploying to any namespace
|
|
destinations:
|
|
- namespace: '*'
|
|
server: https://kubernetes.default.svc
|
|
# Allow any cluster-scoped resources
|
|
clusterResourceWhitelist:
|
|
- group: '*'
|
|
kind: '*'
|
|
# Allow all namespaced resources
|
|
namespaceResourceWhitelist:
|
|
- group: '*'
|
|
kind: '*'
|
|
# Source repos this project can pull from
|
|
sourceRepos:
|
|
- https://gitea.dooplex.hu/admin/homelab-manifests.git
|
|
- https://gitea.dooplex.hu/admin/*
|
|
---
|
|
# Servarr Application (sonarr, radarr, prowlarr, qbittorrent)
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: servarr
|
|
namespace: argocd
|
|
finalizers:
|
|
- resources-finalizer.argocd.argoproj.io
|
|
spec:
|
|
project: homelab
|
|
source:
|
|
repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git
|
|
targetRevision: main
|
|
path: servarr-system
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: servarr-system
|
|
syncPolicy:
|
|
# Start with manual sync until you're comfortable
|
|
# automated:
|
|
# prune: true
|
|
# selfHeal: true
|
|
# allowEmpty: false
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- PruneLast=true
|
|
- ApplyOutOfSyncOnly=true
|
|
# Retry on transient failures
|
|
retry:
|
|
limit: 3
|
|
backoff:
|
|
duration: 5s
|
|
factor: 2
|
|
maxDuration: 3m
|
|
---
|
|
# Paperless-ngx
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: paperless
|
|
namespace: argocd
|
|
finalizers:
|
|
- resources-finalizer.argocd.argoproj.io
|
|
spec:
|
|
project: homelab
|
|
source:
|
|
repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git
|
|
targetRevision: main
|
|
path: paperless-system
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: paperless-system
|
|
syncPolicy:
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- PruneLast=true
|
|
---
|
|
# ActualBudget
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: actualbudget
|
|
namespace: argocd
|
|
finalizers:
|
|
- resources-finalizer.argocd.argoproj.io
|
|
spec:
|
|
project: homelab
|
|
source:
|
|
repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git
|
|
targetRevision: main
|
|
path: actualbudget-system
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: actualbudget-system
|
|
syncPolicy:
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- PruneLast=true
|
|
---
|
|
# AudioBookshelf
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: audiobookshelf
|
|
namespace: argocd
|
|
finalizers:
|
|
- resources-finalizer.argocd.argoproj.io
|
|
spec:
|
|
project: homelab
|
|
source:
|
|
repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git
|
|
targetRevision: main
|
|
path: audiobookshelf-system
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: audiobookshelf-system
|
|
syncPolicy:
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- PruneLast=true
|
|
---
|
|
# Duplicati
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: duplicati
|
|
namespace: argocd
|
|
finalizers:
|
|
- resources-finalizer.argocd.argoproj.io
|
|
spec:
|
|
project: homelab
|
|
source:
|
|
repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git
|
|
targetRevision: main
|
|
path: backup-system
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: backup-system
|
|
syncPolicy:
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- PruneLast=true
|
|
---
|
|
# Bookstack
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: bookstack
|
|
namespace: argocd
|
|
finalizers:
|
|
- resources-finalizer.argocd.argoproj.io
|
|
spec:
|
|
project: homelab
|
|
source:
|
|
repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git
|
|
targetRevision: main
|
|
path: bookstack-system
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: bookstack-system
|
|
syncPolicy:
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- PruneLast=true
|
|
---
|
|
# Immich
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: immich
|
|
namespace: argocd
|
|
finalizers:
|
|
- resources-finalizer.argocd.argoproj.io
|
|
spec:
|
|
project: homelab
|
|
source:
|
|
repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git
|
|
targetRevision: main
|
|
path: immich-system
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: immich-system
|
|
syncPolicy:
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- PruneLast=true
|
|
---
|
|
# Gitea
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: gitea
|
|
namespace: argocd
|
|
finalizers:
|
|
- resources-finalizer.argocd.argoproj.io
|
|
spec:
|
|
project: homelab
|
|
source:
|
|
repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git
|
|
targetRevision: main
|
|
path: gitea-system
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: gitea-system
|
|
syncPolicy:
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- PruneLast=true
|
|
---
|
|
# Nextcloud
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: nextcloud
|
|
namespace: argocd
|
|
finalizers:
|
|
- resources-finalizer.argocd.argoproj.io
|
|
spec:
|
|
project: homelab
|
|
source:
|
|
repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git
|
|
targetRevision: main
|
|
path: nextcloud-system
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: nextcloud-system
|
|
syncPolicy:
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- PruneLast=true
|
|
---
|
|
# Outline
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: outline
|
|
namespace: argocd
|
|
finalizers:
|
|
- resources-finalizer.argocd.argoproj.io
|
|
spec:
|
|
project: homelab
|
|
source:
|
|
repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git
|
|
targetRevision: main
|
|
path: outline-system
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: outline-system
|
|
syncPolicy:
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- PruneLast=true
|
|
---
|
|
# Tandoor
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: tandoor
|
|
namespace: argocd
|
|
finalizers:
|
|
- resources-finalizer.argocd.argoproj.io
|
|
spec:
|
|
project: homelab
|
|
source:
|
|
repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git
|
|
targetRevision: main
|
|
path: tandoor-system
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: tandoor-system
|
|
syncPolicy:
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- PruneLast=true
|
|
---
|
|
# Uptimekuma
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: uptimekuma
|
|
namespace: argocd
|
|
finalizers:
|
|
- resources-finalizer.argocd.argoproj.io
|
|
spec:
|
|
project: homelab
|
|
source:
|
|
repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git
|
|
targetRevision: main
|
|
path: uptimekuma-system
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: uptimekuma-system
|
|
syncPolicy:
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- PruneLast=true
|
|
---
|
|
# Vaultwarden
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: vaultwarden
|
|
namespace: argocd
|
|
finalizers:
|
|
- resources-finalizer.argocd.argoproj.io
|
|
spec:
|
|
project: homelab
|
|
source:
|
|
repoURL: https://gitea.dooplex.hu/admin/homelab-manifests.git
|
|
targetRevision: main
|
|
path: vaultwarden-system
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: vaultwarden-system
|
|
syncPolicy:
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- PruneLast=true
|
|
---
|