Now that you have access to the Helm charts, they can be deployed.
- First, install the prerequisite components.
# Install rabbitMQ cluster operator
helm upgrade --install rabbitmq-cluster-operator bitnami/rabbitmq-cluster-operator -n cdrplatform \
--atomic \
--version 4.3.16 \
--set global.imageRegistry=glasswallhub.azurecr.io \
--set global.imagePullSecrets[0]=acr-secret \
--set global.security.allowInsecureImages=true \
--set msgTopologyOperator.fullnameOverride=rabbitmq-messaging-topology-operator \
--set clusterOperator.image.tag=2.15.0-debian-12-r0 \
--set msgTopologyOperator.image.tag=1.17.2-debian-12-r0 \
--set credentialUpdaterImage.tag=1.0.7-debian-12-r0 \
--set rabbitmqImage.tag=4.1.1-debian-12-r2 \
--set clusterOperator.watchAllNamespaces=false \
--set clusterOperator.watchNamespaces={cdrplatform} \
--set msgTopologyOperator.watchAllNamespaces=false \
--set msgTopologyOperator.watchNamespaces={cdrplatform} \
--set clusterOperator.resources.requests.cpu=100m \
--set clusterOperator.resources.requests.memory=256Mi \
--set clusterOperator.resources.limits.cpu=100m \
--set clusterOperator.resources.limits.memory=256Mi \
--set msgTopologyOperator.resources.requests.cpu=100m \
--set msgTopologyOperator.resources.requests.memory=256Mi \
--set msgTopologyOperator.resources.limits.cpu=100m \
--set msgTopologyOperator.resources.limits.memory=256Mi
# Install keda
helm upgrade --install keda kedacore/keda -n cdrplatform --atomic --create-namespace \
--version 2.17.2
# Install nginx ingress controller
helm upgrade --install nginx-ingress ingress-nginx/ingress-nginx -n cdrplatform --atomic --create-namespace \
--version 4.12.3 \
--atomic
# Install External Secrets Operator
helm upgrade --install external-secrets external-secrets/external-secrets -n cdrplatform --atomic --create-namespace \
--version 0.16.1 \
--set image.tag=v0.9.11 \
--set installCRDs=true \
--atomic
# Install CDR Platform External Secrets
helm upgrade --install cdrplatform-external-secrets cdrplatform-external-secrets -n cdrplatform --atomic --create-namespace \
--set cloud_providers.oracle.enabled=true \
--set cloud_providers.oracle.vault=${vault_ocid} \
--set cloud_providers.oracle.region=${oracle_region} \
--set cloud_providers.oracle.secretName="${vault_secret_name}"
# Install MongoDB kubernetes operator
helm install community-operator mongodb/community-operator --namespace ${operator_namespace} \
--set operator.version=0.13.0 \
--set agent.version=12.0.25.7724-1 \
--atomicNote: when upgrading the `rabbitmq-cluster-operator` helm chart CRDs will not be installed. If new CRDs are introduced in the new releases, the CRDs needs to be installed manually to avoid issues with running the rabbitmq cluster operator pods.
helm pull bitnami/rabbitmq-cluster-operator --untar
kubectl apply -f rabbitmq-cluster-operator/crds/Then, install the supporting components.
Due to an inconsistency in the OCI api, the prefix of the availability_domain value needs to be omitted for the command below.
E.g. For a value of UyoZ:UK-LONDON-1-AD-1 only UK-LONDON-1-AD-1 is needed.
helm upgrade --install cdrplatform-storage cdrplatform-storage -n cdrplatform --wait --atomic \
--set cloud_provider=oracle \
--set oracle.fss.availability_domain=${availability_domain} \
--set oracle.fss.mount_target_ocid=${mount_target_ocid}
helm upgrade --install cdrplatform-rabbitmq cdrplatform-rabbitmq -n cdrplatform \
--set image.repository=glasswallhub.azurecr.io/cdrplatform-rabbitmq \
--set image.tag=152974 \
--set cloud_provider=oracle