feat(argocd): migrate phase1 hookless releases to ArgoCD
This commit is contained in:
@@ -448,14 +448,6 @@ releases:
|
|||||||
needs:
|
needs:
|
||||||
- storage/minio
|
- storage/minio
|
||||||
|
|
||||||
- name: promtail
|
|
||||||
namespace: logging
|
|
||||||
chart: grafana/promtail
|
|
||||||
values:
|
|
||||||
- k8s/logging/promtail-values.yaml
|
|
||||||
needs:
|
|
||||||
- logging/loki
|
|
||||||
|
|
||||||
- name: grafana
|
- name: grafana
|
||||||
namespace: logging
|
namespace: logging
|
||||||
chart: grafana/grafana
|
chart: grafana/grafana
|
||||||
@@ -502,16 +494,6 @@ releases:
|
|||||||
kubectl apply -f k8s/monitoring/alerts/
|
kubectl apply -f k8s/monitoring/alerts/
|
||||||
kubectl apply -f k8s/longhorn/longhorn-servicemonitor.yaml
|
kubectl apply -f k8s/longhorn/longhorn-servicemonitor.yaml
|
||||||
|
|
||||||
- name: blackbox-exporter
|
|
||||||
namespace: monitoring
|
|
||||||
chart: prometheus-community/prometheus-blackbox-exporter
|
|
||||||
version: "~11"
|
|
||||||
values:
|
|
||||||
- k8s/monitoring/blackbox-exporter-values.yaml
|
|
||||||
needs:
|
|
||||||
- monitoring/prometheus
|
|
||||||
- ingress-nginx/ingress-nginx
|
|
||||||
|
|
||||||
# ── CI/CD (Forgejo + runner + Argo CD) ───────────────────────────────────────
|
# ── CI/CD (Forgejo + runner + Argo CD) ───────────────────────────────────────
|
||||||
# Required env vars:
|
# Required env vars:
|
||||||
# FORGEJO_ADMIN_PASSWORD — bootstrap admin password (set once, stored in .env)
|
# FORGEJO_ADMIN_PASSWORD — bootstrap admin password (set once, stored in .env)
|
||||||
@@ -672,99 +654,8 @@ releases:
|
|||||||
|
|
||||||
# ── Dashboard (Portainer) ─────────────────────────────────────────────────────
|
# ── Dashboard (Portainer) ─────────────────────────────────────────────────────
|
||||||
|
|
||||||
- name: portainer
|
|
||||||
namespace: dashboard
|
|
||||||
createNamespace: true
|
|
||||||
chart: portainer/portainer
|
|
||||||
values:
|
|
||||||
- k8s/portainer/portainer-values.yaml
|
|
||||||
hooks:
|
|
||||||
- events: ["presync"]
|
|
||||||
command: bash
|
|
||||||
args:
|
|
||||||
- -c
|
|
||||||
- |
|
|
||||||
bash k8s/base/namespace-setup.sh dashboard
|
|
||||||
|
|
||||||
# ── Messaging Queue (SQS-like Kafka) ─────────────────────────────────────────
|
# ── Messaging Queue (SQS-like Kafka) ─────────────────────────────────────────
|
||||||
|
|
||||||
- name: strimzi-operator
|
|
||||||
namespace: sqs
|
|
||||||
createNamespace: true
|
|
||||||
chart: strimzi/strimzi-kafka-operator
|
|
||||||
version: 0.46.0
|
|
||||||
values:
|
|
||||||
- watchNamespaces: ["sqs"]
|
|
||||||
|
|
||||||
- name: kafka-cluster
|
|
||||||
namespace: sqs
|
|
||||||
chart: k8s/sqs/charts/kafka-cluster
|
|
||||||
needs:
|
|
||||||
- sqs/strimzi-operator
|
|
||||||
values:
|
|
||||||
- namespace: sqs
|
|
||||||
nodePool:
|
|
||||||
replicas: 3
|
|
||||||
storage:
|
|
||||||
class: longhorn-kafka
|
|
||||||
sizeGi: 10
|
|
||||||
resources:
|
|
||||||
memory: 5Gi
|
|
||||||
cpu: "2"
|
|
||||||
|
|
||||||
- name: kmsvc-redis
|
|
||||||
namespace: sqs
|
|
||||||
chart: bitnami/redis
|
|
||||||
version: 20.6.0
|
|
||||||
values:
|
|
||||||
- architecture: standalone
|
|
||||||
global:
|
|
||||||
security:
|
|
||||||
allowInsecureImages: true
|
|
||||||
image:
|
|
||||||
repository: bitnamilegacy/redis
|
|
||||||
auth:
|
|
||||||
enabled: false
|
|
||||||
master:
|
|
||||||
persistence:
|
|
||||||
enabled: true
|
|
||||||
storageClass: longhorn
|
|
||||||
size: 2Gi
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
memory: 1Gi
|
|
||||||
requests:
|
|
||||||
memory: 1Gi
|
|
||||||
|
|
||||||
- name: queue-crd
|
|
||||||
namespace: sqs
|
|
||||||
chart: k8s/sqs/charts/queue-crd
|
|
||||||
needs:
|
|
||||||
- sqs/kafka-cluster
|
|
||||||
- sqs/kmsvc-redis
|
|
||||||
values:
|
|
||||||
- namespace: sqs
|
|
||||||
kafkaBrokers: "{{ env "KAFKA_BOOTSTRAP" }}"
|
|
||||||
redisAddr: "{{ env "REDIS_ADDR" }}"
|
|
||||||
|
|
||||||
- name: management-service
|
|
||||||
namespace: sqs
|
|
||||||
chart: k8s/sqs/charts/management-service
|
|
||||||
needs:
|
|
||||||
- sqs/kafka-cluster
|
|
||||||
- sqs/kmsvc-redis
|
|
||||||
values:
|
|
||||||
- namespace: sqs
|
|
||||||
env:
|
|
||||||
kafkaBrokers: "{{ env "KAFKA_BOOTSTRAP" }}"
|
|
||||||
redisAddr: "{{ env "REDIS_ADDR" }}"
|
|
||||||
authentikIssuerURL: "https://authentik.{{ env "CLUSTER_DOMAIN" }}/application/o/kafaka/"
|
|
||||||
authentikAudience: "QI0gPtR99ar8VvhK8Tqox4SDkTKzbNU7lbgwBNSc"
|
|
||||||
ingress:
|
|
||||||
enabled: true
|
|
||||||
host: kmsvc.{{ env "CLUSTER_DOMAIN" }}
|
|
||||||
clusterIssuer: homelab-ca
|
|
||||||
|
|
||||||
# ── Story Crater Backend ───────────────────────────────────────────────────────
|
# ── Story Crater Backend ───────────────────────────────────────────────────────
|
||||||
# Story Crater Backend — migrated to CloudNativePG in ddb namespace
|
# Story Crater Backend — migrated to CloudNativePG in ddb namespace
|
||||||
# The story_crater database is created by CNPG bootstrap.initdb.postInitApplicationSQL.
|
# The story_crater database is created by CNPG bootstrap.initdb.postInitApplicationSQL.
|
||||||
@@ -872,13 +763,6 @@ releases:
|
|||||||
|
|
||||||
# ── Claude Terminal (persistent dev environment) ─────────────────────────────
|
# ── Claude Terminal (persistent dev environment) ─────────────────────────────
|
||||||
|
|
||||||
- name: claude-terminal
|
|
||||||
namespace: dev-tools
|
|
||||||
createNamespace: true
|
|
||||||
chart: ./k8s/dev-tools
|
|
||||||
values:
|
|
||||||
- k8s/dev-tools/values.yaml
|
|
||||||
|
|
||||||
# ── Global Reloader Configuration ────────────────────────────────────────────
|
# ── Global Reloader Configuration ────────────────────────────────────────────
|
||||||
|
|
||||||
hooks:
|
hooks:
|
||||||
|
|||||||
@@ -0,0 +1,172 @@
|
|||||||
|
# Phase 1 — Hookless releases: strimzi-operator, kafka-cluster, kmsvc-redis, queue-crd, management-service
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: strimzi-operator
|
||||||
|
namespace: argocd
|
||||||
|
annotations:
|
||||||
|
argocd.argoproj.io/sync-wave: "0"
|
||||||
|
spec:
|
||||||
|
project: homelab
|
||||||
|
source:
|
||||||
|
repoURL: https://strimzi.io/charts/
|
||||||
|
chart: strimzi-kafka-operator
|
||||||
|
targetRevision: 0.46.0
|
||||||
|
helm:
|
||||||
|
values: |
|
||||||
|
watchNamespaces: ["sqs"]
|
||||||
|
destination:
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
namespace: sqs
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: kmsvc-redis
|
||||||
|
namespace: argocd
|
||||||
|
annotations:
|
||||||
|
argocd.argoproj.io/sync-wave: "0"
|
||||||
|
spec:
|
||||||
|
project: homelab
|
||||||
|
source:
|
||||||
|
repoURL: https://charts.bitnami.com/bitnami
|
||||||
|
chart: redis
|
||||||
|
targetRevision: 20.6.0
|
||||||
|
helm:
|
||||||
|
values: |
|
||||||
|
architecture: standalone
|
||||||
|
global:
|
||||||
|
security:
|
||||||
|
allowInsecureImages: true
|
||||||
|
image:
|
||||||
|
repository: bitnamilegacy/redis
|
||||||
|
auth:
|
||||||
|
enabled: false
|
||||||
|
master:
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
storageClass: longhorn
|
||||||
|
size: 2Gi
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 1Gi
|
||||||
|
requests:
|
||||||
|
memory: 1Gi
|
||||||
|
destination:
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
namespace: sqs
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: kafka-cluster
|
||||||
|
namespace: argocd
|
||||||
|
annotations:
|
||||||
|
argocd.argoproj.io/sync-wave: "1"
|
||||||
|
spec:
|
||||||
|
project: homelab
|
||||||
|
source:
|
||||||
|
repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git
|
||||||
|
targetRevision: main
|
||||||
|
path: k8s/sqs/charts/kafka-cluster
|
||||||
|
helm:
|
||||||
|
values: |
|
||||||
|
namespace: sqs
|
||||||
|
nodePool:
|
||||||
|
replicas: 3
|
||||||
|
storage:
|
||||||
|
class: longhorn-kafka
|
||||||
|
sizeGi: 10
|
||||||
|
resources:
|
||||||
|
memory: 5Gi
|
||||||
|
cpu: "2"
|
||||||
|
destination:
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
namespace: sqs
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: queue-crd
|
||||||
|
namespace: argocd
|
||||||
|
annotations:
|
||||||
|
argocd.argoproj.io/sync-wave: "1"
|
||||||
|
spec:
|
||||||
|
project: homelab
|
||||||
|
source:
|
||||||
|
repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git
|
||||||
|
targetRevision: main
|
||||||
|
path: k8s/sqs/charts/queue-crd
|
||||||
|
helm:
|
||||||
|
values: |
|
||||||
|
namespace: sqs
|
||||||
|
kafkaBrokers: "kmsvc-kafka-bootstrap.sqs.svc.cluster.local:9092"
|
||||||
|
redisAddr: "kmsvc-redis-master.sqs.svc.cluster.local:6379"
|
||||||
|
destination:
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
namespace: sqs
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: management-service
|
||||||
|
namespace: argocd
|
||||||
|
annotations:
|
||||||
|
argocd.argoproj.io/sync-wave: "1"
|
||||||
|
spec:
|
||||||
|
project: homelab
|
||||||
|
source:
|
||||||
|
repoURL: https://forgejo.riotpiao.homelab.com/riotpiao.com/homelab.git
|
||||||
|
targetRevision: main
|
||||||
|
path: k8s/sqs/charts/management-service
|
||||||
|
helm:
|
||||||
|
values: |
|
||||||
|
namespace: sqs
|
||||||
|
env:
|
||||||
|
kafkaBrokers: "kmsvc-kafka-bootstrap.sqs.svc.cluster.local:9092"
|
||||||
|
redisAddr: "kmsvc-redis-master.sqs.svc.cluster.local:6379"
|
||||||
|
authentikIssuerURL: "https://authentik.riotpiao.homelab.com/application/o/kafaka/"
|
||||||
|
authentikAudience: "QI0gPtR99ar8VvhK8Tqox4SDkTKzbNU7lbgwBNSc"
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
host: kmsvc.riotpiao.homelab.com
|
||||||
|
clusterIssuer: homelab-ca
|
||||||
|
destination:
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
namespace: sqs
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
# Phase 1 — Hookless releases continued: promtail, portainer
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: promtail
|
||||||
|
namespace: argocd
|
||||||
|
annotations:
|
||||||
|
argocd.argoproj.io/sync-wave: "1"
|
||||||
|
spec:
|
||||||
|
project: homelab
|
||||||
|
source:
|
||||||
|
repoURL: https://grafana.github.io/helm-charts
|
||||||
|
chart: promtail
|
||||||
|
targetRevision: latest
|
||||||
|
helm:
|
||||||
|
valueFiles:
|
||||||
|
- k8s/logging/promtail-values.yaml
|
||||||
|
destination:
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
namespace: logging
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: portainer
|
||||||
|
namespace: argocd
|
||||||
|
annotations:
|
||||||
|
argocd.argoproj.io/sync-wave: "3"
|
||||||
|
spec:
|
||||||
|
project: homelab
|
||||||
|
source:
|
||||||
|
repoURL: https://portainer.github.io/k8s/
|
||||||
|
chart: portainer
|
||||||
|
targetRevision: latest
|
||||||
|
helm:
|
||||||
|
valueFiles:
|
||||||
|
- k8s/portainer/portainer-values.yaml
|
||||||
|
destination:
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
namespace: dashboard
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
Reference in New Issue
Block a user