feat: initial homelab-gitops declarative structure (Terraform & ArgoCD)
This commit is contained in:
27
argocd/aerodrome/authentik-app.yaml
Normal file
27
argocd/aerodrome/authentik-app.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: aerodrome-authentik
|
||||
namespace: infrastructure
|
||||
labels:
|
||||
app.kubernetes.io/name: aerodrome-authentik
|
||||
cluster: aerodrome
|
||||
annotations:
|
||||
notifications.argoproj.io/subscribe.on-sync-failed.gotify: ""
|
||||
notifications.argoproj.io/subscribe.on-health-degraded.gotify: ""
|
||||
spec:
|
||||
project: homelab
|
||||
source:
|
||||
repoURL: "https://git.snarfnet.net/Snarf/homelab-gitops.git"
|
||||
targetRevision: HEAD
|
||||
path: manifests/aerodrome/authentik
|
||||
destination:
|
||||
server: "https://140.44.4.11:6443"
|
||||
namespace: infra
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
- ServerSideApply=true
|
||||
27
argocd/aerodrome/awx-app.yaml
Normal file
27
argocd/aerodrome/awx-app.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: aerodrome-awx
|
||||
namespace: infrastructure
|
||||
labels:
|
||||
app.kubernetes.io/name: aerodrome-awx
|
||||
cluster: aerodrome
|
||||
annotations:
|
||||
notifications.argoproj.io/subscribe.on-sync-failed.gotify: ""
|
||||
notifications.argoproj.io/subscribe.on-health-degraded.gotify: ""
|
||||
spec:
|
||||
project: homelab
|
||||
source:
|
||||
repoURL: "https://git.snarfnet.net/Snarf/homelab-gitops.git"
|
||||
targetRevision: HEAD
|
||||
path: manifests/aerodrome/awx
|
||||
destination:
|
||||
server: "https://140.44.4.11:6443"
|
||||
namespace: awx
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
- ServerSideApply=true
|
||||
27
argocd/aerodrome/grafana-app.yaml
Normal file
27
argocd/aerodrome/grafana-app.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: aerodrome-grafana
|
||||
namespace: infrastructure
|
||||
labels:
|
||||
app.kubernetes.io/name: aerodrome-grafana
|
||||
cluster: aerodrome
|
||||
annotations:
|
||||
notifications.argoproj.io/subscribe.on-sync-failed.gotify: ""
|
||||
notifications.argoproj.io/subscribe.on-health-degraded.gotify: ""
|
||||
spec:
|
||||
project: homelab
|
||||
source:
|
||||
repoURL: "https://git.snarfnet.net/Snarf/homelab-gitops.git"
|
||||
targetRevision: HEAD
|
||||
path: manifests/aerodrome/grafana
|
||||
destination:
|
||||
server: "https://140.44.4.11:6443"
|
||||
namespace: monitoring
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
- ServerSideApply=true
|
||||
27
argocd/aerodrome/longhorn-recurring-jobs-app.yaml
Normal file
27
argocd/aerodrome/longhorn-recurring-jobs-app.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: aerodrome-longhorn-recurring-jobs
|
||||
namespace: infrastructure
|
||||
labels:
|
||||
app.kubernetes.io/name: aerodrome-longhorn-recurring-jobs
|
||||
cluster: aerodrome
|
||||
annotations:
|
||||
notifications.argoproj.io/subscribe.on-sync-failed.gotify: ""
|
||||
notifications.argoproj.io/subscribe.on-health-degraded.gotify: ""
|
||||
spec:
|
||||
project: homelab
|
||||
source:
|
||||
repoURL: "https://git.snarfnet.net/Snarf/homelab-gitops.git"
|
||||
targetRevision: HEAD
|
||||
path: manifests/aerodrome/longhorn-recurring-jobs
|
||||
destination:
|
||||
server: "https://140.44.4.11:6443"
|
||||
namespace: longhorn-system
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
- ServerSideApply=true
|
||||
27
argocd/aerodrome/uptime-kuma-app.yaml
Normal file
27
argocd/aerodrome/uptime-kuma-app.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: aerodrome-uptime-kuma
|
||||
namespace: infrastructure
|
||||
labels:
|
||||
app.kubernetes.io/name: aerodrome-uptime-kuma
|
||||
cluster: aerodrome
|
||||
annotations:
|
||||
notifications.argoproj.io/subscribe.on-sync-failed.gotify: ""
|
||||
notifications.argoproj.io/subscribe.on-health-degraded.gotify: ""
|
||||
spec:
|
||||
project: homelab
|
||||
source:
|
||||
repoURL: "https://git.snarfnet.net/Snarf/homelab-gitops.git"
|
||||
targetRevision: HEAD
|
||||
path: manifests/aerodrome/uptime-kuma
|
||||
destination:
|
||||
server: "https://140.44.4.11:6443"
|
||||
namespace: monitoring
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
- ServerSideApply=true
|
||||
23
argocd/bootstrap/argocd-project.yaml
Normal file
23
argocd/bootstrap/argocd-project.yaml
Normal file
@@ -0,0 +1,23 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: AppProject
|
||||
metadata:
|
||||
name: homelab
|
||||
namespace: infrastructure
|
||||
finalizers:
|
||||
- resources-finalizer.argocd.argoproj.io
|
||||
spec:
|
||||
description: "Snarfnet Homelab Core Services & Workloads"
|
||||
sourceRepos:
|
||||
- "https://git.snarfnet.net/Snarf/homelab-gitops.git"
|
||||
- "http://gitea-http.infrastructure.svc.cluster.local:3000/Snarf/homelab-gitops.git"
|
||||
destinations:
|
||||
- namespace: "*"
|
||||
server: "https://kubernetes.default.svc"
|
||||
- namespace: "*"
|
||||
server: "https://140.44.4.11:6443"
|
||||
clusterResourceWhitelist:
|
||||
- group: "*"
|
||||
kind: "*"
|
||||
namespaceResourceWhitelist:
|
||||
- group: "*"
|
||||
kind: "*"
|
||||
30
argocd/bootstrap/root-app-of-apps.yaml
Normal file
30
argocd/bootstrap/root-app-of-apps.yaml
Normal file
@@ -0,0 +1,30 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: root-app-of-apps
|
||||
namespace: infrastructure
|
||||
labels:
|
||||
app.kubernetes.io/name: root-app-of-apps
|
||||
annotations:
|
||||
notifications.argoproj.io/subscribe.on-sync-failed.gotify: ""
|
||||
notifications.argoproj.io/subscribe.on-health-degraded.gotify: ""
|
||||
finalizers:
|
||||
- resources-finalizer.argocd.argoproj.io
|
||||
spec:
|
||||
project: homelab
|
||||
source:
|
||||
repoURL: "https://git.snarfnet.net/Snarf/homelab-gitops.git"
|
||||
targetRevision: HEAD
|
||||
path: argocd/bootstrap
|
||||
directory:
|
||||
recurse: true
|
||||
destination:
|
||||
server: "https://kubernetes.default.svc"
|
||||
namespace: infrastructure
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
- ServerSideApply=true
|
||||
27
argocd/spaceport/coder-app.yaml
Normal file
27
argocd/spaceport/coder-app.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: spaceport-coder
|
||||
namespace: infrastructure
|
||||
labels:
|
||||
app.kubernetes.io/name: spaceport-coder
|
||||
cluster: spaceport
|
||||
annotations:
|
||||
notifications.argoproj.io/subscribe.on-sync-failed.gotify: ""
|
||||
notifications.argoproj.io/subscribe.on-health-degraded.gotify: ""
|
||||
spec:
|
||||
project: homelab
|
||||
source:
|
||||
repoURL: "https://git.snarfnet.net/Snarf/homelab-gitops.git"
|
||||
targetRevision: HEAD
|
||||
path: manifests/spaceport/coder
|
||||
destination:
|
||||
server: "https://kubernetes.default.svc"
|
||||
namespace: infrastructure
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
- ServerSideApply=true
|
||||
27
argocd/spaceport/gitea-app.yaml
Normal file
27
argocd/spaceport/gitea-app.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: spaceport-gitea
|
||||
namespace: infrastructure
|
||||
labels:
|
||||
app.kubernetes.io/name: spaceport-gitea
|
||||
cluster: spaceport
|
||||
annotations:
|
||||
notifications.argoproj.io/subscribe.on-sync-failed.gotify: ""
|
||||
notifications.argoproj.io/subscribe.on-health-degraded.gotify: ""
|
||||
spec:
|
||||
project: homelab
|
||||
source:
|
||||
repoURL: "https://git.snarfnet.net/Snarf/homelab-gitops.git"
|
||||
targetRevision: HEAD
|
||||
path: manifests/spaceport/gitea
|
||||
destination:
|
||||
server: "https://kubernetes.default.svc"
|
||||
namespace: infrastructure
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
- ServerSideApply=true
|
||||
27
argocd/spaceport/homepage-app.yaml
Normal file
27
argocd/spaceport/homepage-app.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: spaceport-homepage
|
||||
namespace: infrastructure
|
||||
labels:
|
||||
app.kubernetes.io/name: spaceport-homepage
|
||||
cluster: spaceport
|
||||
annotations:
|
||||
notifications.argoproj.io/subscribe.on-sync-failed.gotify: ""
|
||||
notifications.argoproj.io/subscribe.on-health-degraded.gotify: ""
|
||||
spec:
|
||||
project: homelab
|
||||
source:
|
||||
repoURL: "https://git.snarfnet.net/Snarf/homelab-gitops.git"
|
||||
targetRevision: HEAD
|
||||
path: manifests/spaceport/homepage
|
||||
destination:
|
||||
server: "https://kubernetes.default.svc"
|
||||
namespace: infrastructure
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
- ServerSideApply=true
|
||||
27
argocd/spaceport/jenkins-app.yaml
Normal file
27
argocd/spaceport/jenkins-app.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: spaceport-jenkins
|
||||
namespace: infrastructure
|
||||
labels:
|
||||
app.kubernetes.io/name: spaceport-jenkins
|
||||
cluster: spaceport
|
||||
annotations:
|
||||
notifications.argoproj.io/subscribe.on-sync-failed.gotify: ""
|
||||
notifications.argoproj.io/subscribe.on-health-degraded.gotify: ""
|
||||
spec:
|
||||
project: homelab
|
||||
source:
|
||||
repoURL: "https://git.snarfnet.net/Snarf/homelab-gitops.git"
|
||||
targetRevision: HEAD
|
||||
path: manifests/spaceport/jenkins
|
||||
destination:
|
||||
server: "https://kubernetes.default.svc"
|
||||
namespace: infrastructure
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
- ServerSideApply=true
|
||||
27
argocd/spaceport/semaphore-app.yaml
Normal file
27
argocd/spaceport/semaphore-app.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: spaceport-semaphore
|
||||
namespace: infrastructure
|
||||
labels:
|
||||
app.kubernetes.io/name: spaceport-semaphore
|
||||
cluster: spaceport
|
||||
annotations:
|
||||
notifications.argoproj.io/subscribe.on-sync-failed.gotify: ""
|
||||
notifications.argoproj.io/subscribe.on-health-degraded.gotify: ""
|
||||
spec:
|
||||
project: homelab
|
||||
source:
|
||||
repoURL: "https://git.snarfnet.net/Snarf/homelab-gitops.git"
|
||||
targetRevision: HEAD
|
||||
path: manifests/spaceport/semaphore
|
||||
destination:
|
||||
server: "https://kubernetes.default.svc"
|
||||
namespace: infrastructure
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
- ServerSideApply=true
|
||||
27
argocd/spaceport/zabbix-app.yaml
Normal file
27
argocd/spaceport/zabbix-app.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: spaceport-zabbix
|
||||
namespace: infrastructure
|
||||
labels:
|
||||
app.kubernetes.io/name: spaceport-zabbix
|
||||
cluster: spaceport
|
||||
annotations:
|
||||
notifications.argoproj.io/subscribe.on-sync-failed.gotify: ""
|
||||
notifications.argoproj.io/subscribe.on-health-degraded.gotify: ""
|
||||
spec:
|
||||
project: homelab
|
||||
source:
|
||||
repoURL: "https://git.snarfnet.net/Snarf/homelab-gitops.git"
|
||||
targetRevision: HEAD
|
||||
path: manifests/spaceport/zabbix
|
||||
destination:
|
||||
server: "https://kubernetes.default.svc"
|
||||
namespace: zabbix
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
- ServerSideApply=true
|
||||
Reference in New Issue
Block a user