This commit is contained in:
Morten Olsen
2025-11-25 15:11:52 +01:00
commit 1bdeb02520
18 changed files with 736 additions and 0 deletions

22
apps/cert-manager.yaml Normal file
View File

@@ -0,0 +1,22 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: cert-manager
namespace: argocd
spec:
project: foundation
source:
repoURL: https://github.com/cert-manager/cert-manager.git
targetRevision: v1.13.3
path: deploy/charts/cert-manager
helm:
releaseName: cert-manager
destination:
server: https://kubernetes.default.svc
namespace: cert-manager
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true

41
apps/cloudnative-pg.yaml Normal file
View File

@@ -0,0 +1,41 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: cloudnative-pg
namespace: argocd
spec:
project: foundation
source:
repoURL: https://github.com/cloudnative-pg/cloudnative-pg.git
targetRevision: v1.22.0
path: config/crd
destination:
server: https://kubernetes.default.svc
namespace: cnpg-system
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: cloudnative-pg-operator
namespace: argocd
spec:
project: foundation
source:
repoURL: https://raw.githubusercontent.com/cloudnative-pg/cloudnative-pg
targetRevision: v1.22.0
path: releases/cnpg-1.22.0.yaml
destination:
server: https://kubernetes.default.svc
namespace: cnpg-system
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true

View File

@@ -0,0 +1,18 @@
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
name: foundation
namespace: argocd
spec:
description: Foundation services for the home server
sourceRepos:
- '*'
destinations:
- namespace: '*'
server: https://kubernetes.default.svc
clusterResourceWhitelist:
- group: '*'
kind: '*'
namespaceResourceWhitelist:
- group: '*'
kind: '*'

24
apps/istio.yaml Normal file
View File

@@ -0,0 +1,24 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: istio
namespace: argocd
spec:
project: foundation
source:
repoURL: https://istio-release.storage.googleapis.com/charts
targetRevision: 1.24.1
chart: istio
helm:
releaseName: istio
values: |
defaultRevision: ""
destination:
server: https://kubernetes.default.svc
namespace: istio-system
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true

12
apps/kustomization.yaml Normal file
View File

@@ -0,0 +1,12 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- foundation-project.yaml
- root-application.yaml
- storage-class.yaml
- cert-manager.yaml
- istio.yaml
- cloudnative-pg.yaml
- nats.yaml
- kyverno.yaml
- trivy.yaml

22
apps/kyverno.yaml Normal file
View File

@@ -0,0 +1,22 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: kyverno
namespace: argocd
spec:
project: foundation
source:
repoURL: https://kyverno.github.io/kyverno
targetRevision: 3.1.0
chart: kyverno
helm:
releaseName: kyverno
destination:
server: https://kubernetes.default.svc
namespace: kyverno
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true

29
apps/nats.yaml Normal file
View File

@@ -0,0 +1,29 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: nats
namespace: argocd
spec:
project: foundation
source:
repoURL: https://nats-io.github.io/k8s
targetRevision: 0.20.0
chart: nats
helm:
releaseName: nats
values: |
nats:
jetstream:
enabled: true
fileStore:
storageSize: 10Gi
storageClassName: local-path
destination:
server: https://kubernetes.default.svc
namespace: nats
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true

View File

@@ -0,0 +1,20 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: root-application
namespace: argocd
spec:
project: foundation
source:
repoURL: https://gitea.olsen.cloud/homelab/foundation.git
targetRevision: main
path: apps
destination:
server: https://kubernetes.default.svc
namespace: argocd
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true

20
apps/storage-class.yaml Normal file
View File

@@ -0,0 +1,20 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: storage-class
namespace: argocd
spec:
project: foundation
source:
repoURL: https://gitea.olsen.cloud/homelab/foundation.git
targetRevision: main
path: storage
destination:
server: https://kubernetes.default.svc
namespace: kube-system
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true

22
apps/trivy.yaml Normal file
View File

@@ -0,0 +1,22 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: trivy
namespace: argocd
spec:
project: foundation
source:
repoURL: https://aquasecurity.github.io/helm-charts
targetRevision: 0.20.0
chart: trivy-operator
helm:
releaseName: trivy
destination:
server: https://kubernetes.default.svc
namespace: trivy-system
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true