feat(argocd): migrate phase1 hookless releases to ArgoCD
This commit is contained in:
@@ -448,14 +448,6 @@ releases:
|
||||
needs:
|
||||
- storage/minio
|
||||
|
||||
- name: promtail
|
||||
namespace: logging
|
||||
chart: grafana/promtail
|
||||
values:
|
||||
- k8s/logging/promtail-values.yaml
|
||||
needs:
|
||||
- logging/loki
|
||||
|
||||
- name: grafana
|
||||
namespace: logging
|
||||
chart: grafana/grafana
|
||||
@@ -502,16 +494,6 @@ releases:
|
||||
kubectl apply -f k8s/monitoring/alerts/
|
||||
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) ───────────────────────────────────────
|
||||
# Required env vars:
|
||||
# FORGEJO_ADMIN_PASSWORD — bootstrap admin password (set once, stored in .env)
|
||||
@@ -672,99 +654,8 @@ releases:
|
||||
|
||||
# ── 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) ─────────────────────────────────────────
|
||||
|
||||
- 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 — migrated to CloudNativePG in ddb namespace
|
||||
# The story_crater database is created by CNPG bootstrap.initdb.postInitApplicationSQL.
|
||||
@@ -872,13 +763,6 @@ releases:
|
||||
|
||||
# ── 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 ────────────────────────────────────────────
|
||||
|
||||
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