feat: helmfileify rabbitmq

This commit is contained in:
2025-06-24 11:30:55 +02:00
parent 0cfb1bdef8
commit bba55ef84c
14 changed files with 107 additions and 189 deletions
+44
View File
@@ -0,0 +1,44 @@
bases:
- ../envs/environments.yaml.gotmpl
repositories:
- name: bitnami
url: https://charts.bitnami.com/bitnami
commonLabels:
tier: oceanbox
releases:
- name: {{ .Environment.Name }}-rabbitmq
namespace: rabbitmq
chart: bitnami/rabbitmq
version: 12.9.0
condition: rabbitmq.enabled
values:
- ../values/rabbitmq/values/values.yaml.gotmpl
- ../values/rabbitmq/values/values-{{ .Environment.Name }}.yaml.gotmpl
postRenderer: ../bin/kustomizer
postRendererArgs:
- ../values/rabbitmq/kustomize/{{ .Environment.Name }}
missingFileHandler: Info
- name: manifests
namespace: rabbitmq
chart: manifests
condition: rabbitmq.enabled
missingFileHandler: Info
values:
- ../values/env.yaml
- ../values/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml
- ../values/rabbitmq/env.yaml.gotmpl
- ../values/rabbitmq/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml.gotmpl
hooks:
- events: [ prepare, cleanup ]
showlogs: true
command: ../bin/helmify
args:
- '{{`{{ if eq .Event.Name "prepare" }}build{{ else }}clean{{ end }}`}}'
- '{{`{{ .Release.Chart }}`}}'
- '{{`{{ .Environment.Name }}`}}'
- ../values/rabbitmq/manifests
- manifests
+2
View File
@@ -0,0 +1,2 @@
rabbitmq:
enabled: true
+3 -1
View File
@@ -1,2 +1,4 @@
rabbitmq: rabbitmq:
enabled: true enabled: false
autosync: false
env: {{ .Environment.Name }}
@@ -1,22 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: prod-rabbitmq-nodeport
namespace: rabbitmq
spec:
ports:
- name: amqp
nodePort: 30672
port: 5672
protocol: TCP
targetPort: 5672
- name: amqp-http
nodePort: 30673
port: 15672
protocol: TCP
targetPort: 15672
selector:
app.kubernetes.io/instance: prod-rabbitmq
app.kubernetes.io/name: rabbitmq
type: NodePort
@@ -1,22 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: staging-rabbitmq-nodeport
namespace: rabbitmq
spec:
ports:
- name: amqp
nodePort: 31672
port: 5672
protocol: TCP
targetPort: 5672
- name: amqp-http
nodePort: 31673
port: 15672
protocol: TCP
targetPort: 15672
selector:
app.kubernetes.io/instance: staging-rabbitmq
app.kubernetes.io/name: rabbitmq
type: NodePort
+45
View File
@@ -0,0 +1,45 @@
{{- if eq .Values.rabbitmq.env "prod" }}
apiVersion: v1
kind: Service
metadata:
name: prod-rabbitmq-nodeport
namespace: rabbitmq
spec:
ports:
- name: amqp
nodePort: 30672
port: 5672
protocol: TCP
targetPort: 5672
- name: amqp-http
nodePort: 30673
port: 15672
protocol: TCP
targetPort: 15672
selector:
app.kubernetes.io/instance: prod-rabbitmq
app.kubernetes.io/name: rabbitmq
type: NodePort
{{- else if eq .Values.rabbitmq.env "staging" }}
apiVersion: v1
kind: Service
metadata:
name: staging-rabbitmq-nodeport
namespace: rabbitmq
spec:
ports:
- name: amqp
nodePort: 31672
port: 5672
protocol: TCP
targetPort: 5672
- name: amqp-http
nodePort: 31673
port: 15672
protocol: TCP
targetPort: 15672
selector:
app.kubernetes.io/instance: staging-rabbitmq
app.kubernetes.io/name: rabbitmq
type: NodePort
{{- end }}
+12 -14
View File
@@ -1,9 +1,8 @@
{{- if .Values.clusterConfig.argo.enabled }} {{ if .Values.clusterConfig.argo.enabled }}
{{- range .Values.rabbitmq.envs }}
apiVersion: argoproj.io/v1alpha1 apiVersion: argoproj.io/v1alpha1
kind: Application kind: Application
metadata: metadata:
name: {{ . }}-rabbitmq name: {{ .Values.rabbitmq.env }}-rabbitmq
namespace: argocd namespace: argocd
annotations: annotations:
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
@@ -11,30 +10,29 @@ metadata:
- resources-finalizer.argocd.argoproj.io - resources-finalizer.argocd.argoproj.io
spec: spec:
destination: destination:
namespace: {{ . }}-rabbitmq namespace: {{ .Values.rabbitmq.env }}-rabbitmq
server: 'https://kubernetes.default.svc' server: https://kubernetes.default.svc
project: rabbitmq
sources: sources:
- repoURL: {{ .Values.clusterConfig.manifests }} - repoURL: {{ .Values.clusterConfig.manifests }}
targetRevision: HEAD targetRevision: HEAD
path: helmfiles/rabbitmq path: helmfile.d
plugin: plugin:
name: helmfile name: helmfile-cmp
env: env:
- name: CLUSTER_NAME - name: CLUSTER_NAME
value: {{ .Values.clusterConfig.cluster }} value: {{ .Values.clusterConfig.cluster }}
project: aux - name: HELMFILE_ENVIRONMENT
value: {{ .Values.rabbitmq.env }}
- name: HELMFILE_FILE_PATH
value: rabbitmq.yaml.gotmpl
syncPolicy: syncPolicy:
managedNamespaceMetadata:
labels:
component: aux
syncOptions: syncOptions:
- CreateNamespace=true - CreateNamespace=true
- ApplyOutOfSyncOnly=true - ApplyOutOfSyncOnly=true
# - ServerSideApply=true
{{- if .Values.rabbitmq.autosync }} {{- if .Values.rabbitmq.autosync }}
automated: automated:
prune: true prune: true
# selfHeal: false selfHeal: false
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- end }}
-22
View File
@@ -1,22 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: prod-rabbitmq-nodeport
namespace: rabbitmq
spec:
ports:
- name: amqp
nodePort: 30672
port: 5672
protocol: TCP
targetPort: 5672
- name: amqp-http
nodePort: 30673
port: 15672
protocol: TCP
targetPort: 15672
selector:
app.kubernetes.io/instance: prod-rabbitmq
app.kubernetes.io/name: rabbitmq
type: NodePort
-22
View File
@@ -1,22 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: staging-rabbitmq-nodeport
namespace: rabbitmq
spec:
ports:
- name: amqp
nodePort: 31672
port: 5672
protocol: TCP
targetPort: 5672
- name: amqp-http
nodePort: 31673
port: 15672
protocol: TCP
targetPort: 15672
selector:
app.kubernetes.io/instance: staging-rabbitmq
app.kubernetes.io/name: rabbitmq
type: NodePort
@@ -1,31 +0,0 @@
replicaCount: 3
auth:
erlangCookie: prod-rabbitmq
existingErlangSecret: prod-rabbitmq
existingPasswordSecret: prod-rabbitmq
password: ""
username: user
#clusterDomain: cluster.local
ingress:
annotations:
cert-manager.io/cluster-issuer: letsencrypt-production
nginx.ingress.kubernetes.io/ssl-redirect: "true"
oceanbox.io/expose: internal
enabled: true
extraHosts: []
extraPaths: []
extraRules: []
hostname: rabbitmq.srv.oceanbox.io
ingressClassName: ""
path: /
pathType: ImplementationSpecific
secrets: []
selfSigned: false
tls: true
#persistence:
# accessModes:
# - ReadWriteOnce
# enabled: true
# existingClaim: ""
# size: 8Gi
# storageClass: ""
@@ -1,38 +0,0 @@
replicaCount: 1
auth:
erlangCookie: staging-rabbitmq
existingErlangSecret: staging-rabbitmq
existingPasswordSecret: staging-rabbitmq
password: ""
username: user
#clusterDomain: cluster.local
ingress:
annotations:
cert-manager.io/cluster-issuer: letsencrypt-staging
nginx.ingress.kubernetes.io/ssl-redirect: "true"
oceanbox.io/expose: internal
enabled: true
ingressClassName: ""
extraHosts:
- name: rabbitmq.dev.oceanbox.io
path: /
extraTls:
- hosts:
- rabbitmq.dev.oceanbox.io
secretName: rabbitmq.dev.oceanbox.io-tls
extraPaths: []
extraRules: []
hostname: rabbitmq.beta.oceanbox.io
path: /
pathType: ImplementationSpecific
secrets: []
selfSigned: false
tls: true
#persistence:
# accessModes:
# - ReadWriteOnce
# enabled: true
# existingClaim: ""
# size: 8Gi
# storageClass: ""
@@ -5,7 +5,6 @@ auth:
existingPasswordSecret: prod-rabbitmq existingPasswordSecret: prod-rabbitmq
password: "" password: ""
username: user username: user
clusterDomain: cluster.local
ingress: ingress:
annotations: annotations:
cert-manager.io/cluster-issuer: letsencrypt-production cert-manager.io/cluster-issuer: letsencrypt-production
@@ -22,11 +21,3 @@ ingress:
secrets: [] secrets: []
selfSigned: false selfSigned: false
tls: true tls: true
persistence:
accessModes:
- ReadWriteOnce
enabled: true
existingClaim: ""
size: 8Gi
storageClass: ""
@@ -5,7 +5,6 @@ auth:
existingPasswordSecret: staging-rabbitmq existingPasswordSecret: staging-rabbitmq
password: "" password: ""
username: user username: user
clusterDomain: cluster.local
ingress: ingress:
annotations: annotations:
cert-manager.io/cluster-issuer: letsencrypt-staging cert-manager.io/cluster-issuer: letsencrypt-staging
@@ -28,11 +27,4 @@ ingress:
secrets: [] secrets: []
selfSigned: false selfSigned: false
tls: true tls: true
persistence:
accessModes:
- ReadWriteOnce
enabled: true
existingClaim: ""
size: 8Gi
storageClass: ""
@@ -1,4 +1,5 @@
clusterDomain: cluster.local clusterDomain: cluster.local
persistence: persistence:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce