From cc0679772ecfc75740791d8c031a78f56780aaad Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 Date: Sun, 18 Oct 2026 15:39:03 +0200 Subject: [PATCH] Adopt five PHP sites with Argo CD --- README.md | 6 +++++- apps/brgkepler-com/.gitignore | 2 ++ apps/brgkepler-com/Chart.yaml | 8 ++++++++ apps/brgkepler-com/values.yaml | 23 +++++++++++++++++++++++ apps/gschissenes-equipment/.gitignore | 2 ++ apps/gschissenes-equipment/Chart.yaml | 8 ++++++++ apps/gschissenes-equipment/values.yaml | 23 +++++++++++++++++++++++ apps/immich-crack/.gitignore | 2 ++ apps/immich-crack/Chart.yaml | 8 ++++++++ apps/immich-crack/values.yaml | 20 ++++++++++++++++++++ apps/pfostendynamics-com/.gitignore | 2 ++ apps/pfostendynamics-com/Chart.yaml | 8 ++++++++ apps/pfostendynamics-com/values.yaml | 14 ++++++++++++++ apps/watschn-studio/.gitignore | 2 ++ apps/watschn-studio/Chart.yaml | 8 ++++++++ apps/watschn-studio/values.yaml | 23 +++++++++++++++++++++++ bootstrap/brgkepler-com.yaml | 21 +++++++++++++++++++++ bootstrap/gschissenes-equipment.yaml | 21 +++++++++++++++++++++ bootstrap/immich-crack.yaml | 21 +++++++++++++++++++++ bootstrap/install.sh | 14 ++++++++++++++ bootstrap/kustomization.yaml | 5 +++++ bootstrap/pfostendynamics-com.yaml | 21 +++++++++++++++++++++ bootstrap/watschn-studio.yaml | 21 +++++++++++++++++++++ 23 files changed, 282 insertions(+), 1 deletion(-) create mode 100644 apps/brgkepler-com/.gitignore create mode 100644 apps/brgkepler-com/Chart.yaml create mode 100644 apps/brgkepler-com/values.yaml create mode 100644 apps/gschissenes-equipment/.gitignore create mode 100644 apps/gschissenes-equipment/Chart.yaml create mode 100644 apps/gschissenes-equipment/values.yaml create mode 100644 apps/immich-crack/.gitignore create mode 100644 apps/immich-crack/Chart.yaml create mode 100644 apps/immich-crack/values.yaml create mode 100644 apps/pfostendynamics-com/.gitignore create mode 100644 apps/pfostendynamics-com/Chart.yaml create mode 100644 apps/pfostendynamics-com/values.yaml create mode 100644 apps/watschn-studio/.gitignore create mode 100644 apps/watschn-studio/Chart.yaml create mode 100644 apps/watschn-studio/values.yaml create mode 100644 bootstrap/brgkepler-com.yaml create mode 100644 bootstrap/gschissenes-equipment.yaml create mode 100644 bootstrap/immich-crack.yaml create mode 100644 bootstrap/pfostendynamics-com.yaml create mode 100644 bootstrap/watschn-studio.yaml diff --git a/README.md b/README.md index 31cdcc3..9ede483 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,12 @@ container images and then commits the selected image tag here; it never receives cluster's L2 address pool. - `apps/argocd/` wraps the pinned upstream Argo CD chart with this cluster's ingress, Authentik OIDC, RBAC, and secret-reference configuration. +- `apps/brgkepler-com/`, `apps/gschissenes-equipment/`, + `apps/immich-crack/`, `apps/pfostendynamics-com/`, and + `apps/watschn-studio/` pin the shared PHP homepage chart and reference their + existing CephFS content claims. - `bootstrap/` contains Argo CD projects and Applications, including the - upstream Sealed Secrets controller. + upstream Sealed Secrets controller and the five PHP sites above. - `scripts/update-immich-sync-image.sh` is the single image-promotion interface used by CI. - `scripts/update-immichframe-chart.sh` is the chart-promotion interface used by ImmichFrame chart CI. diff --git a/apps/brgkepler-com/.gitignore b/apps/brgkepler-com/.gitignore new file mode 100644 index 0000000..2946e34 --- /dev/null +++ b/apps/brgkepler-com/.gitignore @@ -0,0 +1,2 @@ +Chart.lock +charts/ diff --git a/apps/brgkepler-com/Chart.yaml b/apps/brgkepler-com/Chart.yaml new file mode 100644 index 0000000..7a87237 --- /dev/null +++ b/apps/brgkepler-com/Chart.yaml @@ -0,0 +1,8 @@ +apiVersion: v2 +name: brgkepler-com +type: application +version: 0.1.0 +dependencies: +- name: php-homepage + version: 0.10.1 + repository: https://brunner.ninja/charts diff --git a/apps/brgkepler-com/values.yaml b/apps/brgkepler-com/values.yaml new file mode 100644 index 0000000..34ad051 --- /dev/null +++ b/apps/brgkepler-com/values.yaml @@ -0,0 +1,23 @@ +php-homepage: + fullnameOverride: brgkepler-com + apache: + serverAdmin: daniel@brunner.ninja + metrics: + enabled: true + serviceMonitor: + enabled: true + prometheusRule: + enabled: true + persistence: + existingClaim: brgkepler-com + ingress: + enabled: true + hosts: + - host: brgkepler.com + paths: + - path: / + pathType: Prefix + tls: + - hosts: + - brgkepler.com + secretName: brgkepler-com-tls diff --git a/apps/gschissenes-equipment/.gitignore b/apps/gschissenes-equipment/.gitignore new file mode 100644 index 0000000..2946e34 --- /dev/null +++ b/apps/gschissenes-equipment/.gitignore @@ -0,0 +1,2 @@ +Chart.lock +charts/ diff --git a/apps/gschissenes-equipment/Chart.yaml b/apps/gschissenes-equipment/Chart.yaml new file mode 100644 index 0000000..6f8ecc2 --- /dev/null +++ b/apps/gschissenes-equipment/Chart.yaml @@ -0,0 +1,8 @@ +apiVersion: v2 +name: gschissenes-equipment +type: application +version: 0.1.0 +dependencies: +- name: php-homepage + version: 0.10.1 + repository: https://brunner.ninja/charts diff --git a/apps/gschissenes-equipment/values.yaml b/apps/gschissenes-equipment/values.yaml new file mode 100644 index 0000000..8b5a003 --- /dev/null +++ b/apps/gschissenes-equipment/values.yaml @@ -0,0 +1,23 @@ +php-homepage: + fullnameOverride: gschissenes-equipment + apache: + serverAdmin: daniel@brunner.ninja + metrics: + enabled: true + serviceMonitor: + enabled: true + prometheusRule: + enabled: true + persistence: + existingClaim: gschissenes-equipment + ingress: + enabled: true + hosts: + - host: gschissenes.equipment + paths: + - path: / + pathType: Prefix + tls: + - hosts: + - gschissenes.equipment + secretName: gschissenes-equipment-tls diff --git a/apps/immich-crack/.gitignore b/apps/immich-crack/.gitignore new file mode 100644 index 0000000..2946e34 --- /dev/null +++ b/apps/immich-crack/.gitignore @@ -0,0 +1,2 @@ +Chart.lock +charts/ diff --git a/apps/immich-crack/Chart.yaml b/apps/immich-crack/Chart.yaml new file mode 100644 index 0000000..bec004c --- /dev/null +++ b/apps/immich-crack/Chart.yaml @@ -0,0 +1,8 @@ +apiVersion: v2 +name: immich-crack +type: application +version: 0.1.0 +dependencies: +- name: php-homepage + version: 0.10.1 + repository: https://brunner.ninja/charts diff --git a/apps/immich-crack/values.yaml b/apps/immich-crack/values.yaml new file mode 100644 index 0000000..319c159 --- /dev/null +++ b/apps/immich-crack/values.yaml @@ -0,0 +1,20 @@ +php-homepage: + fullnameOverride: immich-crack + apache: + serverAdmin: daniel@brunner.ninja + metrics: + enabled: true + serviceMonitor: + enabled: true + prometheusRule: + enabled: true + persistence: + existingClaim: immich-crack + ingress: + enabled: true + hosts: + - host: immich-crack.brunner.ninja + paths: + - path: / + pathType: Prefix + tls: [] diff --git a/apps/pfostendynamics-com/.gitignore b/apps/pfostendynamics-com/.gitignore new file mode 100644 index 0000000..2946e34 --- /dev/null +++ b/apps/pfostendynamics-com/.gitignore @@ -0,0 +1,2 @@ +Chart.lock +charts/ diff --git a/apps/pfostendynamics-com/Chart.yaml b/apps/pfostendynamics-com/Chart.yaml new file mode 100644 index 0000000..9eeab2e --- /dev/null +++ b/apps/pfostendynamics-com/Chart.yaml @@ -0,0 +1,8 @@ +apiVersion: v2 +name: pfostendynamics-com +type: application +version: 0.1.0 +dependencies: +- name: php-homepage + version: 0.10.1 + repository: https://brunner.ninja/charts diff --git a/apps/pfostendynamics-com/values.yaml b/apps/pfostendynamics-com/values.yaml new file mode 100644 index 0000000..b1f5366 --- /dev/null +++ b/apps/pfostendynamics-com/values.yaml @@ -0,0 +1,14 @@ +php-homepage: + fullnameOverride: pfostendynamics-com + apache: + serverAdmin: daniel@brunner.ninja + metrics: + enabled: true + serviceMonitor: + enabled: true + prometheusRule: + enabled: true + persistence: + existingClaim: pfostendynamics-com + ingress: + enabled: false diff --git a/apps/watschn-studio/.gitignore b/apps/watschn-studio/.gitignore new file mode 100644 index 0000000..2946e34 --- /dev/null +++ b/apps/watschn-studio/.gitignore @@ -0,0 +1,2 @@ +Chart.lock +charts/ diff --git a/apps/watschn-studio/Chart.yaml b/apps/watschn-studio/Chart.yaml new file mode 100644 index 0000000..433a9fa --- /dev/null +++ b/apps/watschn-studio/Chart.yaml @@ -0,0 +1,8 @@ +apiVersion: v2 +name: watschn-studio +type: application +version: 0.1.0 +dependencies: +- name: php-homepage + version: 0.10.1 + repository: https://brunner.ninja/charts diff --git a/apps/watschn-studio/values.yaml b/apps/watschn-studio/values.yaml new file mode 100644 index 0000000..f2df959 --- /dev/null +++ b/apps/watschn-studio/values.yaml @@ -0,0 +1,23 @@ +php-homepage: + fullnameOverride: watschn-studio + apache: + serverAdmin: daniel@brunner.ninja + metrics: + enabled: true + serviceMonitor: + enabled: true + prometheusRule: + enabled: true + persistence: + existingClaim: watschn-studio + ingress: + enabled: true + hosts: + - host: watschn.studio + paths: + - path: / + pathType: Prefix + tls: + - hosts: + - watschn.studio + secretName: watschn-studio-tls diff --git a/bootstrap/brgkepler-com.yaml b/bootstrap/brgkepler-com.yaml new file mode 100644 index 0000000..f642c25 --- /dev/null +++ b/bootstrap/brgkepler-com.yaml @@ -0,0 +1,21 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: brgkepler-com + namespace: argocd +spec: + project: homelab + source: + repoURL: https://code.brunner.ninja/feedc0de/homelab-gitops.git + targetRevision: main + path: apps/brgkepler-com + helm: + releaseName: brgkepler-com + destination: + server: https://kubernetes.default.svc + namespace: default + syncPolicy: + automated: + enabled: true + prune: false + selfHeal: true diff --git a/bootstrap/gschissenes-equipment.yaml b/bootstrap/gschissenes-equipment.yaml new file mode 100644 index 0000000..06de0dc --- /dev/null +++ b/bootstrap/gschissenes-equipment.yaml @@ -0,0 +1,21 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: gschissenes-equipment + namespace: argocd +spec: + project: homelab + source: + repoURL: https://code.brunner.ninja/feedc0de/homelab-gitops.git + targetRevision: main + path: apps/gschissenes-equipment + helm: + releaseName: gschissenes-equipment + destination: + server: https://kubernetes.default.svc + namespace: default + syncPolicy: + automated: + enabled: true + prune: false + selfHeal: true diff --git a/bootstrap/immich-crack.yaml b/bootstrap/immich-crack.yaml new file mode 100644 index 0000000..644b41f --- /dev/null +++ b/bootstrap/immich-crack.yaml @@ -0,0 +1,21 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: immich-crack + namespace: argocd +spec: + project: homelab + source: + repoURL: https://code.brunner.ninja/feedc0de/homelab-gitops.git + targetRevision: main + path: apps/immich-crack + helm: + releaseName: immich-crack + destination: + server: https://kubernetes.default.svc + namespace: default + syncPolicy: + automated: + enabled: true + prune: false + selfHeal: true diff --git a/bootstrap/install.sh b/bootstrap/install.sh index 02e896b..0ce3200 100755 --- a/bootstrap/install.sh +++ b/bootstrap/install.sh @@ -41,3 +41,17 @@ kubectl --namespace argocd wait application/argocd \ kubectl --namespace argocd wait application/argocd \ --for=jsonpath='{.status.health.status}'=Healthy \ --timeout=10m +for application in \ + brgkepler-com \ + gschissenes-equipment \ + immich-crack \ + pfostendynamics-com \ + watschn-studio +do + kubectl --namespace argocd wait "application/${application}" \ + --for=jsonpath='{.status.sync.status}'=Synced \ + --timeout=5m + kubectl --namespace argocd wait "application/${application}" \ + --for=jsonpath='{.status.health.status}'=Healthy \ + --timeout=5m +done diff --git a/bootstrap/kustomization.yaml b/bootstrap/kustomization.yaml index 9490024..94e96d3 100644 --- a/bootstrap/kustomization.yaml +++ b/bootstrap/kustomization.yaml @@ -10,3 +10,8 @@ resources: - immichframe.yaml - metallb-project.yaml - metallb.yaml +- brgkepler-com.yaml +- gschissenes-equipment.yaml +- immich-crack.yaml +- pfostendynamics-com.yaml +- watschn-studio.yaml diff --git a/bootstrap/pfostendynamics-com.yaml b/bootstrap/pfostendynamics-com.yaml new file mode 100644 index 0000000..984ea1c --- /dev/null +++ b/bootstrap/pfostendynamics-com.yaml @@ -0,0 +1,21 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: pfostendynamics-com + namespace: argocd +spec: + project: homelab + source: + repoURL: https://code.brunner.ninja/feedc0de/homelab-gitops.git + targetRevision: main + path: apps/pfostendynamics-com + helm: + releaseName: pfostendynamics-com + destination: + server: https://kubernetes.default.svc + namespace: default + syncPolicy: + automated: + enabled: true + prune: false + selfHeal: true diff --git a/bootstrap/watschn-studio.yaml b/bootstrap/watschn-studio.yaml new file mode 100644 index 0000000..0165cd0 --- /dev/null +++ b/bootstrap/watschn-studio.yaml @@ -0,0 +1,21 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: watschn-studio + namespace: argocd +spec: + project: homelab + source: + repoURL: https://code.brunner.ninja/feedc0de/homelab-gitops.git + targetRevision: main + path: apps/watschn-studio + helm: + releaseName: watschn-studio + destination: + server: https://kubernetes.default.svc + namespace: default + syncPolicy: + automated: + enabled: true + prune: false + selfHeal: true