This repository is part of the commercial open-source project CZERTAINLY. You can find more information about the project at CZERTAINLY repository, including the contribution guide.
This repository contains Helm charts as part of the CZERTAINLY platform.
- Kubernetes 1.19+
- Helm 3.8.0+
- PV provisioner support in the underlying infrastructure
Create namespace
We’ll need to define a Kubernetes namespace where the resources created by the Chart should be installed:
kubectl create namespace czertainly
Create values.yaml
Note You can also use
--set
options for the helm to apply configuration for the chart.
Copy the default values.yaml
from the Helm chart and modify the values accordingly:
helm show values oci://harbor.3key.company/czertainly-helm/messaging-rabbitmq > values.yaml
Now edit the values.yaml
according to your desired stated, see Configurable parameters for more information.
Install
For the basic installation, run:
helm install --namespace czertainly -f values.yaml czertainly-messaging-rabbitmq oci://harbor.3key.company/czertainly-helm/messaging-rabbitmq
Save your configuration
Always make sure you save the values.yaml
and all --set
and --set-file
options you used. You will need to use the same options when you upgrade to new versions with Helm. In case you are changing the configuration, save the new configuration.
Warning Be sure that you always save your previous configuration!
For upgrading the installation, update your configuration and run:
helm upgrade --namespace czertainly -f values.yaml czertainly-messaging-rabbitmq oci://harbor.3key.company/czertainly-helm/messaging-rabbitmq
You can use the helm uninstall
command to uninstall the application:
helm uninstall --namespace czertainly czertainly-messaging-rabbitmq
You can find current values in the values.yaml.
You can also Specify each parameter using the --set
or --set-file
argument to helm install
.
Global values are used to define common parameters for the chart and all its sub-charts by exactly the same name.
Parameter | Default value | Description |
---|---|---|
global.config.enabled | false |
Enables global configuration |
global.image.registry | "" |
Global docker registry name |
global.image.repository | "" |
Global docker image repository name |
global.image.pullSecrets | [] |
Global array of secret names for image pull |
global.volumes.ephemeral.type | "" |
Global ephemeral volume type to be used |
global.volumes.ephemeral.sizeLimit | "" |
Global ephemeral volume size limit |
global.volumes.ephemeral.storageClassName | "" |
Global ephemeral volume storage class name for storage type |
global.volumes.ephemeral.custom | {} |
Global custom definition of the ephemeral volume for custom type |
global.messaging.remoteAccess | false |
Enable remote access to messaging service |
global.httpProxy | "" |
Proxy to be used to access external resources through http |
global.httpsProxy | "" |
Proxy to be used to access external resources through https |
global.noProxy | "" |
Defines list of external resources that should not use proxy settings |
global.initContainers | [] |
Global init containers |
global.sidecarContainers | [] |
Global sidecar containers |
global.additionalVolumes | [] |
Global additional volumes |
global.additionalVolumeMounts | [] |
Global additional volume mounts |
global.additionalPorts | [] |
Global additional ports |
global.additionalEnv.variables | [] |
Global additional environment variables |
global.additionalEnv.secrets | [] |
Global additional environment secrets |
global.additionalEnv.configMaps | [] |
Global additional environment config maps |
The following values may be configured:
Parameter | Default value | Description |
---|---|---|
image.registry | docker.io |
Docker registry name for the image |
image.repository | "" |
Docker image repository name |
image.name | rabbitmq |
Docker image name |
image.tag | 3.12.1 |
Docker image tag |
image.digest | "" |
Docker image digest, will override tag if specified |
image.pullPolicy | IfNotPresent |
Image pull policy |
image.pullSecrets | [] |
Array of secret names for image pull |
image.command | [] |
Override the default command |
image.args | [] |
Override the default args |
image.securityContext.runAsNonRoot | true |
Run the container as non-root user |
image.securityContext.runAsUser | 999 |
User ID for the container |
image.securityContext.readOnlyRootFilesystem | true |
Run the container with read-only root filesystem |
image.resources | {} |
The resources for the container |
podSecurityContext.fsGroup | 999 |
Pod security context fsGroup |
podSecurityContext.runAsUser | 999 |
User ID for running the pod |
podSecurityContext.runAsGroup | 999 |
Group ID for running the pod |
volumes.ephemeral.type | memory |
Ephemeral volume type to be used |
volumes.ephemeral.sizeLimit | "1Mi" |
Ephemeral volume size limit |
volumes.ephemeral.storageClassName | "" |
Ephemeral volume storage class name for storage type |
volumes.ephemeral.custom | {} |
Custom definition of the ephemeral volume for custom type |
logging.level | "info" |
Allowed values are info , error , warning , deubg |
service.client.type | "ClusterIP" |
Type of the service that is exposed |
service.client.http.port | 15672 |
Http port number of the exposed service |
service.client.amqp.port | 5672 |
Amqp port number of the exposed service |
Parameter | Default value | Description |
---|---|---|
initContainers | [] |
Init containers |
sidecarContainers | [] |
Sidecar containers |
additionalVolumes | [] |
Additional volumes |
additionalVolumeMounts | [] |
Additional volume mounts |
additionalPorts | [] |
Additional ports |
additionalEnv.variables | [] |
Additional environment variables |
additionalEnv.secrets | [] |
Additional environment secrets |
additionalEnv.configMaps | [] |
Additional environment config maps |
Parameter | Default value | Description |
---|---|---|
service.headless.epmd.port | 4369 |
EPMD Discovery service port |
service.headless.clusterRpc.port | 25672 |
Cluster RPC service port |
persistence.enabled | true |
Enable persistence for RabbitMQ |
persistence.storageClassName | "" |
Storage class name for RabbitMQ persistence |
persistence.selector | {} |
Selector for dynamic provisioning of RabbitMQ persistence |
persistence.accessModes | ["ReadWriteOnce"] |
Access mode for RabbitMQ persistence |
persistence.existingClaim | "" |
Existing claim name for RabbitMQ persistence |
persistence.size | 100Mi |
Size for RabbitMQ persistence |
persistence.annotations | {} |
Annotations for RabbitMQ persistence |
secret.username | "czertainly" |
Username for RabbitMQ |
plugins.management.accessRemotely | false |
Enable/disable remote access to RabbitMQ management |
For mode details about probes, see the Kubernetes documentation.
Parameter | Default value | Description |
---|---|---|
image.probes.liveness.enabled | false |
Enable/disable liveness probe |
image.probes.liveness.custom | {} |
Custom liveness probe command. When defined, it will override the default command |
image.probes.liveness.initialDelaySeconds | 120 |
Initial delay seconds for liveness probe |
image.probes.liveness.timeoutSeconds | 20 |
Timeout seconds for liveness probe |
image.probes.liveness.periodSeconds | 30 |
Period seconds for liveness probe |
image.probes.liveness.successThreshold | 1 |
Success threshold for liveness probe |
image.probes.liveness.failureThreshold | 6 |
Failure threshold for liveness probe |
image.probes.readiness.enabled | true |
Enable/disable readiness probe |
image.probes.readiness.custom | {} |
Custom readiness probe command. When defined, it will override the default command |
image.probes.readiness.initialDelaySeconds | 10 |
Initial delay seconds for readiness probe |
image.probes.readiness.timeoutSeconds | 20 |
Timeout seconds for readiness probe |
image.probes.readiness.periodSeconds | 30 |
Period seconds for readiness probe |
image.probes.readiness.successThreshold | 1 |
Success threshold for readiness probe |
image.probes.readiness.failureThreshold | 3 |
Failure threshold for readiness probe |
image.probes.startup.enabled | true |
Enable/disable startup probe |
image.probes.startup.custom | {} |
Custom startup probe command. When defined, it will override the default command |
image.probes.startup.initialDelaySeconds | 15 |
Initial delay seconds for startup probe |
image.probes.startup.timeoutSeconds | 5 |
Timeout seconds for startup probe |
image.probes.startup.periodSeconds | 10 |
Period seconds for startup probe |
image.probes.startup.successThreshold | 1 |
Success threshold for startup probe |
image.probes.startup.failureThreshold | 45 |
Failure threshold for startup probe |
Additional parameters may be found in the values.yaml and dependencies. See dependent charts for the description of available parameters.
The RabbitMQ image stores the RabbitMQ data and configurations at the /var/lib/rabbitmq/
path of the container.
By default, the volume is created using dynamic volume provisioning. However, an existing PersistentVolumeClaim
can be used, or persistence can be turned off.
To use an existing PersistentVolumeClaim
, specify the persistence.existingClaim
parameter.
Persistence can be disabled by setting the persistence.enabled
parameter to false
.
When the global configuration is enabled, meaning that this chart is used with the complete CZERTAINLY deployment, the persistence is managed globally by the umbrella chart. In this case, the local persistence configuration is ignored.