diff --git a/stable/rabbitmq/Chart.yaml b/stable/rabbitmq/Chart.yaml index 916a5a7a3c..c7e5332abe 100644 --- a/stable/rabbitmq/Chart.yaml +++ b/stable/rabbitmq/Chart.yaml @@ -1,5 +1,5 @@ name: rabbitmq -version: 3.2.1 +version: 3.3.0 appVersion: 3.7.8 description: Open source message broker software that implements the Advanced Message Queuing Protocol (AMQP) keywords: diff --git a/stable/rabbitmq/README.md b/stable/rabbitmq/README.md index b6d8a30c81..d8c5a937f5 100644 --- a/stable/rabbitmq/README.md +++ b/stable/rabbitmq/README.md @@ -60,6 +60,7 @@ The following table lists the configurable parameters of the RabbitMQ chart and | `rabbitmq.nodePort` | Node port override, if serviceType NodePort | _random avaliable between 30000-32767_ | | `rabbitmq.managerPort` | RabbitMQ Manager port | `15672` | | `rabbitmq.diskFreeLimit` | Disk free limit | `"6GiB"` | +| `rabbitmq.ulimitNofiles` | Max File Descriptor limit | `65536` | | `rabbitmq.plugins` | configuration file for plugins to enable | `[rabbitmq_management,rabbitmq_peer_discovery_k8s].` | | `rabbitmq.configuration` | rabbitmq.conf content | see values.yaml | | `serviceType` | Kubernetes Service type | `ClusterIP` | diff --git a/stable/rabbitmq/templates/statefulset.yaml b/stable/rabbitmq/templates/statefulset.yaml index 9b86c89e4e..e609935e09 100644 --- a/stable/rabbitmq/templates/statefulset.yaml +++ b/stable/rabbitmq/templates/statefulset.yaml @@ -59,12 +59,11 @@ spec: echo $RABBITMQ_ERL_COOKIE > /opt/bitnami/rabbitmq/var/lib/rabbitmq/.erlang.cookie cp /opt/bitnami/rabbitmq/var/lib/rabbitmq/.erlang.cookie /opt/bitnami/rabbitmq/.rabbitmq/ #change permission so only the user has access to the cookie file - chmod 600 /opt/bitnami/rabbitmq/.rabbitmq/.erlang.cookie - chmod 600 /opt/bitnami/rabbitmq/var/lib/rabbitmq/.erlang.cookie - + chmod 600 /opt/bitnami/rabbitmq/.rabbitmq/.erlang.cookie /opt/bitnami/rabbitmq/var/lib/rabbitmq/.erlang.cookie #copy the mounted configuration to both places cp /opt/bitnami/rabbitmq/conf/* /opt/bitnami/rabbitmq/etc/rabbitmq - + # Apply resources limits + ulimit -n "${RABBITMQ_ULIMIT_NOFILES}" #replace the default password that is generated sed -i "s/CHANGEME/$RABBITMQ_PASSWORD/g" /opt/bitnami/rabbitmq/etc/rabbitmq/rabbitmq.conf exec rabbitmq-server @@ -89,9 +88,7 @@ spec: {{- if .Values.livenessProbe.enabled }} livenessProbe: exec: - command: - - rabbitmqctl - - status + command: ["sh", "-c", "curl -f --user {{ .Values.rabbitmq.username }}:$RABBITMQ_PASSWORD 127.0.0.1:{{ .Values.rabbitmq.managerPort }}/api/healthchecks/node"] initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }} timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }} periodSeconds: {{ .Values.livenessProbe.periodSeconds }} @@ -101,9 +98,7 @@ spec: {{- if .Values.readinessProbe.enabled }} readinessProbe: exec: - command: - - rabbitmqctl - - status + command: ["sh", "-c", "curl -f --user {{ .Values.rabbitmq.username }}:$RABBITMQ_PASSWORD 127.0.0.1:{{ .Values.rabbitmq.managerPort }}/api/healthchecks/node"] initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }} timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }} periodSeconds: {{ .Values.readinessProbe.periodSeconds }} @@ -123,6 +118,8 @@ spec: fieldPath: status.podIP - name: RABBITMQ_USE_LONGNAME value: "true" + - name: RABBITMQ_ULIMIT_NOFILES + value: {{ .Values.rabbitmq.ulimitNofiles | quote }} - name: RABBITMQ_NODENAME value: "rabbit@$(MY_POD_IP)" - name: K8S_SERVICE_NAME diff --git a/stable/rabbitmq/values-production.yaml b/stable/rabbitmq/values-production.yaml index d8696046c4..aeba627984 100644 --- a/stable/rabbitmq/values-production.yaml +++ b/stable/rabbitmq/values-production.yaml @@ -30,12 +30,12 @@ rbacEnabled: true ## section of specific values for rabbitmq rabbitmq: ## RabbitMQ application username - ## ref: https://github.com/bitnami/bitnami-docker-rabbitmq/blob/master/README.md#creating-a-database-user-on-first-run + ## ref: https://github.com/bitnami/bitnami-docker-rabbitmq#environment-variables ## username: user ## RabbitMQ application password - ## ref: https://github.com/bitnami/bitnami-docker-rabbitmq/blob/master/README.md#creating-a-database-user-on-first-run + ## ref: https://github.com/bitnami/bitnami-docker-rabbitmq#environment-variables ## # password: @@ -65,6 +65,12 @@ rabbitmq: ## diskFreeLimit: '"6GiB"' + ## RabbitMQ Max File Descriptors + ## ref: https://github.com/bitnami/bitnami-docker-rabbitmq#environment-variables + ## ref: https://www.rabbitmq.com/install-debian.html#kernel-resource-limits + ## + ulimitNofiles: '65536' + ## Plugins to enable plugins: |- [rabbitmq_management,rabbitmq_peer_discovery_k8s]. diff --git a/stable/rabbitmq/values.yaml b/stable/rabbitmq/values.yaml index 9eaf1165fd..0a61fa96e8 100644 --- a/stable/rabbitmq/values.yaml +++ b/stable/rabbitmq/values.yaml @@ -28,13 +28,13 @@ rbacEnabled: true ## section of specific values for rabbitmq rabbitmq: - ## RabbitMQ application username - ## ref: https://github.com/bitnami/bitnami-docker-rabbitmq/blob/master/README.md#creating-a-database-user-on-first-run + ## RabbitMQ application username + ## ref: https://github.com/bitnami/bitnami-docker-rabbitmq#environment-variables ## username: user ## RabbitMQ application password - ## ref: https://github.com/bitnami/bitnami-docker-rabbitmq/blob/master/README.md#creating-a-database-user-on-first-run + ## ref: https://github.com/bitnami/bitnami-docker-rabbitmq#environment-variables ## # password: @@ -74,6 +74,12 @@ rabbitmq: ## diskFreeLimit: '"6GiB"' + ## RabbitMQ Max File Descriptors + ## ref: https://github.com/bitnami/bitnami-docker-rabbitmq#environment-variables + ## ref: https://www.rabbitmq.com/install-debian.html#kernel-resource-limits + ## + ulimitNofiles: '65536' + ## Plugins to enable plugins: |- [rabbitmq_management, rabbitmq_peer_discovery_k8s].