init
This commit is contained in:
25
apps/cert-manager.yaml
Normal file
25
apps/cert-manager.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: cert-manager
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: foundation
|
||||
source:
|
||||
repoURL: https://charts.jetstack.io
|
||||
chart: cert-manager
|
||||
targetRevision: v1.19.1
|
||||
helm:
|
||||
releaseName: cert-manager
|
||||
values: |
|
||||
crds:
|
||||
enabled: true
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: cert-manager
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
23
apps/cloudnative-pg.yaml
Normal file
23
apps/cloudnative-pg.yaml
Normal file
@@ -0,0 +1,23 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: cloudnative-pg
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: foundation
|
||||
source:
|
||||
repoURL: https://cloudnative-pg.github.io/charts
|
||||
targetRevision: 0.26.1
|
||||
chart: cloudnative-pg
|
||||
helm:
|
||||
releaseName: cloudnative-pg
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: cnpg-system
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
- ServerSideApply=true
|
||||
18
apps/foundation-project.yaml
Normal file
18
apps/foundation-project.yaml
Normal 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: '*'
|
||||
31
apps/istio.yaml
Normal file
31
apps/istio.yaml
Normal file
@@ -0,0 +1,31 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: istio-base
|
||||
namespace: argocd
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "-1"
|
||||
spec:
|
||||
project: foundation
|
||||
source:
|
||||
repoURL: https://istio-release.storage.googleapis.com/charts
|
||||
targetRevision: 1.28.0
|
||||
chart: base
|
||||
helm:
|
||||
releaseName: istio-base
|
||||
values: |
|
||||
defaultRevision: default
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: istio-system
|
||||
ignoreDifferences:
|
||||
- group: admissionregistration.k8s.io
|
||||
kind: ValidatingWebhookConfiguration
|
||||
jsonPointers:
|
||||
- /webhooks/0/failurePolicy
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
30
apps/istiod.yaml
Normal file
30
apps/istiod.yaml
Normal file
@@ -0,0 +1,30 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: istiod
|
||||
namespace: argocd
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "0"
|
||||
spec:
|
||||
project: foundation
|
||||
source:
|
||||
repoURL: https://istio-release.storage.googleapis.com/charts
|
||||
targetRevision: 1.28.0
|
||||
chart: istiod
|
||||
helm:
|
||||
releaseName: istiod
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: istio-system
|
||||
ignoreDifferences:
|
||||
- group: admissionregistration.k8s.io
|
||||
kind: ValidatingWebhookConfiguration
|
||||
jsonPointers:
|
||||
- /webhooks/0/failurePolicy
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
|
||||
13
apps/kustomization.yaml
Normal file
13
apps/kustomization.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- foundation-project.yaml
|
||||
- root-application.yaml
|
||||
- storage-class.yaml
|
||||
- cert-manager.yaml
|
||||
- istio.yaml
|
||||
- istiod.yaml
|
||||
- cloudnative-pg.yaml
|
||||
- nats.yaml
|
||||
- kyverno.yaml
|
||||
- trivy.yaml
|
||||
23
apps/kyverno.yaml
Normal file
23
apps/kyverno.yaml
Normal file
@@ -0,0 +1,23 @@
|
||||
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
|
||||
- ServerSideApply=true
|
||||
29
apps/nats.yaml
Normal file
29
apps/nats.yaml
Normal 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/helm/charts/
|
||||
targetRevision: 2.12.2
|
||||
chart: nats
|
||||
helm:
|
||||
releaseName: nats
|
||||
values: |
|
||||
config:
|
||||
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
|
||||
20
apps/root-application.yaml
Normal file
20
apps/root-application.yaml
Normal 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
20
apps/storage-class.yaml
Normal 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
22
apps/trivy.yaml
Normal 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
|
||||
Reference in New Issue
Block a user