-
Notifications
You must be signed in to change notification settings - Fork 9.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[bitnami/rabbitmq] Copy rabbitmq chart from stable (helm/charts#21310)
Signed-off-by: Carlos Rodriguez Hernandez <crhernandez@bitnami.com>
- Loading branch information
Carlos Rodriguez Hernandez
committed
Mar 6, 2020
1 parent
cf87f81
commit 861c8ff
Showing
26 changed files
with
2,844 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
.git | ||
OWNERS |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
apiVersion: v1 | ||
name: rabbitmq | ||
version: 6.18.1 | ||
appVersion: 3.8.2 | ||
description: Open source message broker software that implements the Advanced Message Queuing Protocol (AMQP) | ||
keywords: | ||
- rabbitmq | ||
- message queue | ||
- AMQP | ||
home: https://www.rabbitmq.com | ||
icon: https://bitnami.com/assets/stacks/rabbitmq/img/rabbitmq-stack-220x234.png | ||
sources: | ||
- https://github.com/bitnami/bitnami-docker-rabbitmq | ||
maintainers: | ||
- name: Bitnami | ||
email: containers@bitnami.com | ||
engine: gotpl |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
tolerations: | ||
- key: foo | ||
operator: "Equal" | ||
value: bar | ||
affinity: | ||
nodeAffinity: | ||
preferredDuringSchedulingIgnoredDuringExecution: | ||
- weight: 100 | ||
preference: | ||
matchExpressions: | ||
- key: foo | ||
operator: In | ||
values: | ||
- bar |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Leave this file empty to ensure that CI runs builds against the default configuration in values.yaml. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
networkPolicy: | ||
enable: true | ||
allowExternal: false | ||
additionalRules: | ||
- matchLabels: | ||
- role: foo | ||
- matchExpressions: | ||
- key: role | ||
operator: In | ||
values: | ||
- bar |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
|
||
** Please be patient while the chart is being deployed ** | ||
|
||
Credentials: | ||
|
||
Username : {{ .Values.rabbitmq.username }} | ||
echo "Password : $(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "rabbitmq.fullname" . }} -o jsonpath="{.data.rabbitmq-password}" | base64 --decode)" | ||
echo "ErLang Cookie : $(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "rabbitmq.fullname" . }} -o jsonpath="{.data.rabbitmq-erlang-cookie}" | base64 --decode)" | ||
|
||
RabbitMQ can be accessed within the cluster on port {{ .Values.service.nodePort }} at {{ template "rabbitmq.fullname" . }}.{{ .Release.Namespace }}.svc.{{ .Values.rabbitmq.clustering.k8s_domain }} | ||
|
||
To access for outside the cluster, perform the following steps: | ||
|
||
{{- if contains "NodePort" .Values.service.type }} | ||
|
||
Obtain the NodePort IP and ports: | ||
|
||
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") | ||
export NODE_PORT_AMQP=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[1].nodePort}" services {{ template "rabbitmq.fullname" . }}) | ||
export NODE_PORT_STATS=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[3].nodePort}" services {{ template "rabbitmq.fullname" . }}) | ||
|
||
To Access the RabbitMQ AMQP port: | ||
|
||
echo "URL : amqp://$NODE_IP:$NODE_PORT_AMQP/" | ||
|
||
To Access the RabbitMQ Management interface: | ||
|
||
echo "URL : http://$NODE_IP:$NODE_PORT_STATS/" | ||
|
||
{{- else if contains "LoadBalancer" .Values.service.type }} | ||
|
||
Obtain the LoadBalancer IP: | ||
|
||
NOTE: It may take a few minutes for the LoadBalancer IP to be available. | ||
Watch the status with: 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "rabbitmq.fullname" . }}' | ||
|
||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "rabbitmq.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") | ||
|
||
To Access the RabbitMQ AMQP port: | ||
|
||
echo "URL : amqp://$SERVICE_IP:{{ .Values.service.port }}/" | ||
|
||
To Access the RabbitMQ Management interface: | ||
|
||
echo "URL : http://$SERVICE_IP:{{ .Values.service.managerPort }}/" | ||
|
||
{{- else if contains "ClusterIP" .Values.service.type }} | ||
|
||
To Access the RabbitMQ AMQP port: | ||
|
||
kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ template "rabbitmq.fullname" . }} {{ .Values.service.port }}:{{ .Values.service.port }} | ||
echo "URL : amqp://127.0.0.1:{{ .Values.service.port }}/" | ||
|
||
To Access the RabbitMQ Management interface: | ||
|
||
kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ template "rabbitmq.fullname" . }} {{ .Values.service.managerPort }}:{{ .Values.service.managerPort }} | ||
echo "URL : http://127.0.0.1:{{ .Values.service.managerPort }}/" | ||
|
||
{{- end }} | ||
|
||
{{- if .Values.metrics.enabled }} | ||
|
||
To access the RabbitMQ Prometheus metrics, get the RabbitMQ Prometheus exporter URL by running: | ||
|
||
echo "Prometheus Metrics URL: http://127.0.0.1:{{ .Values.metrics.port }}/metrics" | ||
kubectl port-forward --namespace {{ .Release.Namespace }} {{ template "rabbitmq.fullname" . }}-0 {{ .Values.metrics.port }}:{{ .Values.metrics.port }} | ||
|
||
Then, open the URL obtained in a browser. | ||
|
||
{{- end }} | ||
|
||
{{- include "rabbitmq.validateValues" . -}} | ||
|
||
{{- if and (contains "bitnami/" .Values.image.repository) (not (.Values.image.tag | toString | regexFind "-r\\d+$|sha256:")) }} | ||
|
||
WARNING: Rolling tag detected ({{ .Values.image.repository }}:{{ .Values.image.tag }}), please note that it is strongly recommended to avoid using rolling tags in a production environment. | ||
+info https://docs.bitnami.com/containers/how-to/understand-rolling-tags-containers/ | ||
|
||
{{- end }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,258 @@ | ||
{{/* vim: set filetype=mustache: */}} | ||
{{/* | ||
Expand the name of the chart. | ||
*/}} | ||
{{- define "rabbitmq.name" -}} | ||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} | ||
{{- end -}} | ||
|
||
{{/* | ||
Create a default fully qualified app name. | ||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). | ||
If release name contains chart name it will be used as a full name. | ||
*/}} | ||
{{- define "rabbitmq.fullname" -}} | ||
{{- if .Values.fullnameOverride -}} | ||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} | ||
{{- else -}} | ||
{{- $name := default .Chart.Name .Values.nameOverride -}} | ||
{{- if contains $name .Release.Name -}} | ||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}} | ||
{{- else -}} | ||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} | ||
{{- end -}} | ||
{{- end -}} | ||
{{- end -}} | ||
|
||
{{/* | ||
Create chart name and version as used by the chart label. | ||
*/}} | ||
{{- define "rabbitmq.chart" -}} | ||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} | ||
{{- end -}} | ||
|
||
{{/* | ||
Return the proper RabbitMQ plugin list | ||
*/}} | ||
{{- define "rabbitmq.plugins" -}} | ||
{{- $plugins := .Values.rabbitmq.plugins | replace " " ", " -}} | ||
{{- if .Values.rabbitmq.extraPlugins -}} | ||
{{- $extraPlugins := .Values.rabbitmq.extraPlugins | replace " " ", " -}} | ||
{{- printf "[%s, %s]." $plugins $extraPlugins | indent 4 -}} | ||
{{- else -}} | ||
{{- printf "[%s]." $plugins | indent 4 -}} | ||
{{- end -}} | ||
{{- end -}} | ||
|
||
{{/* | ||
Return the proper RabbitMQ image name | ||
*/}} | ||
{{- define "rabbitmq.image" -}} | ||
{{- $registryName := .Values.image.registry -}} | ||
{{- $repositoryName := .Values.image.repository -}} | ||
{{- $tag := .Values.image.tag | toString -}} | ||
{{/* | ||
Helm 2.11 supports the assignment of a value to a variable defined in a different scope, | ||
but Helm 2.9 and 2.10 doesn't support it, so we need to implement this if-else logic. | ||
Also, we can't use a single if because lazy evaluation is not an option | ||
*/}} | ||
{{- if .Values.global }} | ||
{{- if .Values.global.imageRegistry }} | ||
{{- printf "%s/%s:%s" .Values.global.imageRegistry $repositoryName $tag -}} | ||
{{- else -}} | ||
{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} | ||
{{- end -}} | ||
{{- else -}} | ||
{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} | ||
{{- end -}} | ||
{{- end -}} | ||
|
||
{{/* | ||
Return the proper metrics image name | ||
*/}} | ||
{{- define "rabbitmq.metrics.image" -}} | ||
{{- $registryName := .Values.metrics.image.registry -}} | ||
{{- $repositoryName := .Values.metrics.image.repository -}} | ||
{{- $tag := .Values.metrics.image.tag | toString -}} | ||
{{/* | ||
Helm 2.11 supports the assignment of a value to a variable defined in a different scope, | ||
but Helm 2.9 and 2.10 doesn't support it, so we need to implement this if-else logic. | ||
Also, we can't use a single if because lazy evaluation is not an option | ||
*/}} | ||
{{- if .Values.global }} | ||
{{- if .Values.global.imageRegistry }} | ||
{{- printf "%s/%s:%s" .Values.global.imageRegistry $repositoryName $tag -}} | ||
{{- else -}} | ||
{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} | ||
{{- end -}} | ||
{{- else -}} | ||
{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} | ||
{{- end -}} | ||
{{- end -}} | ||
|
||
{{/* | ||
Get the password secret. | ||
*/}} | ||
{{- define "rabbitmq.secretPasswordName" -}} | ||
{{- if .Values.rabbitmq.existingPasswordSecret -}} | ||
{{- printf "%s" .Values.rabbitmq.existingPasswordSecret -}} | ||
{{- else -}} | ||
{{- printf "%s" (include "rabbitmq.fullname" .) -}} | ||
{{- end -}} | ||
{{- end -}} | ||
|
||
{{/* | ||
Get the erlang secret. | ||
*/}} | ||
{{- define "rabbitmq.secretErlangName" -}} | ||
{{- if .Values.rabbitmq.existingErlangSecret -}} | ||
{{- printf "%s" .Values.rabbitmq.existingErlangSecret -}} | ||
{{- else -}} | ||
{{- printf "%s" (include "rabbitmq.fullname" .) -}} | ||
{{- end -}} | ||
{{- end -}} | ||
|
||
{{/* | ||
Return the proper Docker Image Registry Secret Names | ||
*/}} | ||
{{- define "rabbitmq.imagePullSecrets" -}} | ||
{{/* | ||
Helm 2.11 supports the assignment of a value to a variable defined in a different scope, | ||
but Helm 2.9 and 2.10 does not support it, so we need to implement this if-else logic. | ||
Also, we can not use a single if because lazy evaluation is not an option | ||
*/}} | ||
{{- if .Values.global }} | ||
{{- if .Values.global.imagePullSecrets }} | ||
imagePullSecrets: | ||
{{- range .Values.global.imagePullSecrets }} | ||
- name: {{ . }} | ||
{{- end }} | ||
{{- else if or .Values.image.pullSecrets .Values.metrics.image.pullSecrets .Values.volumePermissions.image.pullSecrets }} | ||
imagePullSecrets: | ||
{{- range .Values.image.pullSecrets }} | ||
- name: {{ . }} | ||
{{- end }} | ||
{{- range .Values.metrics.image.pullSecrets }} | ||
- name: {{ . }} | ||
{{- end }} | ||
{{- range .Values.volumePermissions.image.pullSecrets }} | ||
- name: {{ . }} | ||
{{- end }} | ||
{{- end -}} | ||
{{- else if or .Values.image.pullSecrets .Values.metrics.image.pullSecrets .Values.volumePermissions.image.pullSecrets }} | ||
imagePullSecrets: | ||
{{- range .Values.image.pullSecrets }} | ||
- name: {{ . }} | ||
{{- end }} | ||
{{- range .Values.metrics.image.pullSecrets }} | ||
- name: {{ . }} | ||
{{- end }} | ||
{{- range .Values.volumePermissions.image.pullSecrets }} | ||
- name: {{ . }} | ||
{{- end }} | ||
{{- end -}} | ||
{{- end -}} | ||
|
||
{{/* | ||
Return the proper image name (for the init container volume-permissions image) | ||
*/}} | ||
{{- define "rabbitmq.volumePermissions.image" -}} | ||
{{- $registryName := .Values.volumePermissions.image.registry -}} | ||
{{- $repositoryName := .Values.volumePermissions.image.repository -}} | ||
{{- $tag := .Values.volumePermissions.image.tag | toString -}} | ||
{{/* | ||
Helm 2.11 supports the assignment of a value to a variable defined in a different scope, | ||
but Helm 2.9 and 2.10 doesn't support it, so we need to implement this if-else logic. | ||
Also, we can't use a single if because lazy evaluation is not an option | ||
*/}} | ||
{{- if .Values.global }} | ||
{{- if .Values.global.imageRegistry }} | ||
{{- printf "%s/%s:%s" .Values.global.imageRegistry $repositoryName $tag -}} | ||
{{- else -}} | ||
{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} | ||
{{- end -}} | ||
{{- else -}} | ||
{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} | ||
{{- end -}} | ||
{{- end -}} | ||
|
||
{{/* | ||
Return the proper Storage Class | ||
*/}} | ||
{{- define "rabbitmq.storageClass" -}} | ||
{{/* | ||
Helm 2.11 supports the assignment of a value to a variable defined in a different scope, | ||
but Helm 2.9 and 2.10 does not support it, so we need to implement this if-else logic. | ||
*/}} | ||
{{- if .Values.global -}} | ||
{{- if .Values.global.storageClass -}} | ||
{{- if (eq "-" .Values.global.storageClass) -}} | ||
{{- printf "storageClassName: \"\"" -}} | ||
{{- else }} | ||
{{- printf "storageClassName: %s" .Values.global.storageClass -}} | ||
{{- end -}} | ||
{{- else -}} | ||
{{- if .Values.persistence.storageClass -}} | ||
{{- if (eq "-" .Values.persistence.storageClass) -}} | ||
{{- printf "storageClassName: \"\"" -}} | ||
{{- else }} | ||
{{- printf "storageClassName: %s" .Values.persistence.storageClass -}} | ||
{{- end -}} | ||
{{- end -}} | ||
{{- end -}} | ||
{{- else -}} | ||
{{- if .Values.persistence.storageClass -}} | ||
{{- if (eq "-" .Values.persistence.storageClass) -}} | ||
{{- printf "storageClassName: \"\"" -}} | ||
{{- else }} | ||
{{- printf "storageClassName: %s" .Values.persistence.storageClass -}} | ||
{{- end -}} | ||
{{- end -}} | ||
{{- end -}} | ||
{{- end -}} | ||
|
||
{{/* | ||
Compile all warnings into a single message, and call fail. | ||
*/}} | ||
{{- define "rabbitmq.validateValues" -}} | ||
{{- $messages := list -}} | ||
{{- $messages := append $messages (include "rabbitmq.validateValues.ldap" .) -}} | ||
{{- $messages := without $messages "" -}} | ||
{{- $message := join "\n" $messages -}} | ||
|
||
{{- if $message -}} | ||
{{- printf "\nVALUES VALIDATION:\n%s" $message | fail -}} | ||
{{- end -}} | ||
{{- end -}} | ||
|
||
{{/* | ||
Validate values of rabbitmq - LDAP support | ||
*/}} | ||
{{- define "rabbitmq.validateValues.ldap" -}} | ||
{{- if .Values.ldap.enabled }} | ||
{{- if not (and .Values.ldap.server .Values.ldap.port .Values.ldap.user_dn_pattern) }} | ||
rabbitmq: LDAP | ||
Invalid LDAP configuration. When enabling LDAP support, the parameters "ldap.server", | ||
"ldap.port", and "ldap. user_dn_pattern" are mandatory. Please provide them: | ||
|
||
$ helm install {{ .Release.Name }} bitnami/rabbitmq \ | ||
--set ldap.enabled=true \ | ||
--set ldap.server="lmy-ldap-server" \ | ||
--set ldap.port="389" \ | ||
--set user_dn_pattern="cn=${username},dc=example,dc=org" | ||
{{- end -}} | ||
{{- end -}} | ||
{{- end -}} | ||
|
||
{{/* | ||
Renders a value that contains template. | ||
Usage: | ||
{{ include "rabbitmq.tplValue" (dict "value" .Values.path.to.the.Value "context" $) }} | ||
*/}} | ||
{{- define "rabbitmq.tplValue" -}} | ||
{{- if typeIs "string" .value }} | ||
{{- tpl .value .context }} | ||
{{- else }} | ||
{{- tpl (.value | toYaml) .context }} | ||
{{- end }} | ||
{{- end -}} |
Oops, something went wrong.