refactor: Restructure into argocd-apps, apps and infra

This commit is contained in:
2026-08-18 00:44:08 +05:30
parent 9e0415e4d0
commit c30ff48b13
30 changed files with 58 additions and 68 deletions
+26
View File
@@ -0,0 +1,26 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: anubis-operator
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: "1"
spec:
project: default
source:
repoURL: https://github.com/eznix86/anubis-kubernetes-operator.git
targetRevision: v0.4.4
path: config/default
kustomize:
images:
- public-registry.brunobernard.dev/techarohq/anubis-operator=ghcr.io/eznix86/anubis-kubernetes-operator:0.4.4
destination:
server: https://kubernetes.default.svc
namespace: anubis-operator-system
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
+22
View File
@@ -0,0 +1,22 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: argocd-repos
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: "1"
spec:
project: default
source:
repoURL: https://gitea.whyredfire.dev/whyredfire/gitops.git
targetRevision: main
path: infra/argocd-repos
destination:
server: https://kubernetes.default.svc
namespace: argocd
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
+35
View File
@@ -0,0 +1,35 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: cert-manager
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: "1"
spec:
project: default
sources:
- repoURL: https://charts.jetstack.io
chart: cert-manager
targetRevision: v1.21.1
helm:
values: |
crds:
enabled: true
config:
apiVersion: controller.config.cert-manager.io/v1alpha1
kind: ControllerConfiguration
featureGates:
ExperimentalGatewayAPISupport: true
- repoURL: https://gitea.whyredfire.dev/whyredfire/gitops.git
targetRevision: main
path: infra/cert-manager
destination:
server: https://kubernetes.default.svc
namespace: cert-manager
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
+28
View File
@@ -0,0 +1,28 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: cnpg
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: "0"
spec:
project: default
source:
repoURL: https://cloudnative-pg.github.io/charts
chart: cloudnative-pg
targetRevision: 0.29.0
helm:
values: |
replicaCount: 1
config:
clusterWide: true
destination:
server: https://kubernetes.default.svc
namespace: cnpg-system
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
+22
View File
@@ -0,0 +1,22 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: gateway-api
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: "0"
spec:
project: default
source:
repoURL: https://github.com/kubernetes-sigs/gateway-api.git
targetRevision: v1.6.1
path: config/crd
destination:
server: https://kubernetes.default.svc
namespace: default
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- ServerSideApply=true
+23
View File
@@ -0,0 +1,23 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: sealed-secrets
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: "0"
spec:
project: default
source:
repoURL: https://bitnami.github.io/sealed-secrets
chart: sealed-secrets
targetRevision: 2.19.1
destination:
server: https://kubernetes.default.svc
namespace: sealed-secrets
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
+54
View File
@@ -0,0 +1,54 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: traefik
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: "2"
spec:
project: default
sources:
- repoURL: https://traefik.github.io/charts
chart: traefik
targetRevision: 41.2.0
helm:
values: |
providers:
kubernetesGateway:
enabled: true
kubernetesIngress:
enabled: false
service:
spec:
type: ClusterIP
externalIPs:
- 192.168.2.5
gateway:
listeners:
web:
namespacePolicy:
from: All
websecure:
port: 8443
protocol: HTTPS
mode: Terminate
hostname: "*.whyredfire.dev"
namespacePolicy:
from: All
certificateRefs:
- kind: Secret
name: wildcard-whyredfire-dev
group: ""
- repoURL: https://gitea.whyredfire.dev/whyredfire/gitops.git
targetRevision: main
path: infra/traefik
destination:
server: https://kubernetes.default.svc
namespace: traefik
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
+20
View File
@@ -0,0 +1,20 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
# add-ons
- add-ons/gateway-api.yaml
- add-ons/traefik.yaml
- add-ons/cert-manager.yaml
- add-ons/anubis-operator.yaml
- add-ons/sealed-secrets.yaml
- add-ons/cnpg.yaml
- add-ons/argocd-repos.yaml
# services
- services/autoregexbot.yaml
- services/betterslcm.yaml
- services/jellyfin.yaml
- services/legislative-summarization.yaml
- services/scriptscribe.yaml
- services/seaweedfs.yaml
- services/qbit.yaml
- services/stirling-pdf.yaml
+22
View File
@@ -0,0 +1,22 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: telegram-autoregexbot
annotations:
argocd.argoproj.io/sync-wave: "3"
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/santarl/telegram-autoregexbot
targetRevision: main
path: k8s
destination:
server: https://kubernetes.default.svc
namespace: telegram-bot
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
+22
View File
@@ -0,0 +1,22 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: betterslcm
annotations:
argocd.argoproj.io/sync-wave: "3"
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/DK10WS/SLCM_APP.git
targetRevision: web
path: k8s
destination:
server: https://kubernetes.default.svc
namespace: betterslcm
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
+40
View File
@@ -0,0 +1,40 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: jellyfin
annotations:
argocd.argoproj.io/sync-wave: "3"
namespace: argocd
spec:
project: default
sources:
- repoURL: https://jellyfin.github.io/jellyfin-helm
chart: jellyfin
targetRevision: "2.7.0"
helm:
values: |
service:
type: ClusterIP
port: 8096
ingress:
enabled: false
persistence:
config:
enabled: true
size: 2Gi
media:
enabled: true
type: hostPath
hostPath: /srv/media
- repoURL: https://gitea.whyredfire.dev/whyredfire/gitops.git
targetRevision: main
path: apps/jellyfin
destination:
server: https://kubernetes.default.svc
namespace: jellyfin
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
@@ -0,0 +1,22 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: legislative-summarization
annotations:
argocd.argoproj.io/sync-wave: "3"
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/whyredfire/legislative-summarization
targetRevision: main
path: k8s
destination:
server: https://kubernetes.default.svc
namespace: legislative-summarization
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
+22
View File
@@ -0,0 +1,22 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: qbit
annotations:
argocd.argoproj.io/sync-wave: "3"
namespace: argocd
spec:
project: default
source:
repoURL: https://gitea.whyredfire.dev/whyredfire/gitops-private.git
targetRevision: main
path: qbit
destination:
server: https://kubernetes.default.svc
namespace: qbit
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
+22
View File
@@ -0,0 +1,22 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: scriptscribe
annotations:
argocd.argoproj.io/sync-wave: "3"
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/whyredfire/scriptscribe
targetRevision: main
path: k8s
destination:
server: https://kubernetes.default.svc
namespace: scriptscribe
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
+36
View File
@@ -0,0 +1,36 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: seaweedfs
annotations:
argocd.argoproj.io/sync-wave: "3"
namespace: argocd
spec:
project: default
sources:
- repoURL: https://seaweedfs.github.io/seaweedfs/helm
chart: seaweedfs
targetRevision: 4.33.0
helm:
values: |
allInOne:
enabled: true
master:
enabled: false
volume:
enabled: false
filer:
enabled: false
- repoURL: https://gitea.whyredfire.dev/whyredfire/gitops.git
targetRevision: main
path: apps/seaweedfs
destination:
server: https://kubernetes.default.svc
namespace: seaweedfs
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
+40
View File
@@ -0,0 +1,40 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: stirling-pdf
annotations:
argocd.argoproj.io/sync-wave: "3"
namespace: argocd
spec:
project: default
sources:
- repoURL: https://docs.stirlingpdf.com/Stirling-PDF-chart
chart: stirling-pdf-chart
targetRevision: "3.1.0"
helm:
values: |
fullnameOverride: stirling-pdf
persistence:
enabled: true
size: 512Mi
deployment:
extraVolumeMounts:
- name: storage-volume
mountPath: /configs
probes:
liveness:
initialDelaySeconds: 90
readiness:
initialDelaySeconds: 60
- repoURL: https://gitea.whyredfire.dev/whyredfire/gitops.git
targetRevision: main
path: apps/stirling-pdf
destination:
server: https://kubernetes.default.svc
namespace: stirling-pdf
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true