helm

Plugin CRM Helm Chart

This Helm chart installs Plugin CRM for Midaz, a high-performance and open-source ledger.


Install Plugin CRM Helm Chart

To install Plugin CRM using Helm, run the following command:


$ helm install plugin-crm oci://registry-1.docker.io/lerianstudio/plugin-crm --version <> -n midaz-plugins --create-namespace

This will create a new namespace called `midaz-plugins` if it doesn't already exist and deploy the Plugin CRM Helm chart.

After installation, you can verify that the release was successful by listing the Helm releases in the `midaz-plugins` namespace:

```console
$ helm list -n midaz-plugins

Upgrading

To upgrade the chart to a new version:

$ helm upgrade plugin-crm oci://registry-1.docker.io/lerianstudio/plugin-crm --version <new-version> -n midaz-plugins

Uninstalling

To uninstall the chart:

$ helm uninstall plugin-crm -n midaz-plugins

Configuring Ingress for Different Controllers

The Plugin CRM Helm Chart optionally supports different Ingress Controllers for exposing services when necessary. Below are the configurations for commonly used controllers.

NGINX Ingress Controller

To use the NGINX Ingress Controller, configure the values.yaml as follows:

ingress:
  enabled: true
  className: "nginx"
  annotations: {}
  hosts:
    - host: midaz.example.com
      paths:
        - path: /
          pathType: Prefix
  tls:
    - secretName: midaz-tls
      hosts:
        - midaz.example.com

Parameters

CRM Service

Parameter Description Default
crm.replicaCount Number of replicas for the deployment 1
crm.image.repository Repository for the container image ghcr.io/lerianstudio/plugin-crm
crm.image.pullPolicy Image pull policy Always
crm.image.tag Image tag used for deployment 1.3.0
crm.imagePullSecrets Secrets for pulling images from a private registry [{"name": "regcred"}]
crm.nameOverride Overrides the default generated name by Helm ""
crm.fullnameOverride Overrides the full name generated by Helm ""
crm.ingress.enabled Enable or disable ingress false
crm.ingress.className Ingress class name ""
crm.ingress.annotations Additional ingress annotations {}
crm.ingress.hosts Ingress host configuration [{"host": "", "paths": [{"path": "/", "pathType": "Prefix"}]}]
crm.ingress.tls TLS configuration for ingress []
crm.service.type Kubernetes service type ClusterIP
crm.service.port Service port 4003
crm.deploymentStrategy Deployment strategy See values.yaml
crm.podSecurityContext Pod security context {}
crm.securityContext Security context for the container See values.yaml
crm.pdb.enabled Enable or disable PodDisruptionBudget true
crm.pdb.maxUnavailable Maximum number of unavailable pods 1
crm.pdb.minAvailable Minimum number of available pods 0
crm.resources CPU and memory limits for pods See values.yaml
crm.autoscaling.enabled Enable or disable horizontal pod autoscaling true
crm.autoscaling.minReplicas Minimum number of replicas 1
crm.autoscaling.maxReplicas Maximum number of replicas 3
crm.nodeSelector Node selector for scheduling pods {}
crm.tolerations Tolerations for scheduling on tainted nodes {}
crm.affinity Affinity rules for pod scheduling {}
crm.extraEnvVars Extra environment variables to be added to the deployment {}
crm.useExistingSecret Use an existing secret instead of creating a new one false
crm.existingSecretName The name of the existing secret to use ""

Frontend Service

Parameter Description Default
frontend.enabled Enable or disable the frontend service true
frontend.replicaCount Number of replicas for the deployment 1
frontend.image.repository Repository for the frontend service container image ""
frontend.image.pullPolicy Image pull policy IfNotPresent
frontend.image.tag Image tag used for deployment ""
frontend.imagePullSecrets Secrets for pulling images from a private registry []
frontend.podAnnotations Annotations to be added to the Pod {}
frontend.service.type Kubernetes service type ClusterIP
frontend.service.port Service port 8082
frontend.ingress.enabled Enable or disable ingress false
frontend.resources CPU and memory limits for pods See values.yaml
frontend.autoscaling.enabled Enable or disable horizontal pod autoscaling false
frontend.serviceAccount.create Specifies whether a ServiceAccount should be created true
frontend.serviceAccount.name Name of the service account ""
frontend.configmap ConfigMap for the frontend service See values.yaml

MongoDB Dependency

Parameter Description Default
mongodb.enabled Enable the MongoDB dependency true
mongodb.external Use an external MongoDB instance false
mongodb.auth.enabled Enable authentication for MongoDB true
mongodb.auth.rootUser Root user for MongoDB plugin-crm
mongodb.auth.rootPassword Root password for MongoDB lerian
mongodb.persistence.size Persistence size for MongoDB 8Gi
mongodb.resourcesPreset Resource preset for MongoDB medium

MongoDB

Support

For more information, see the Lerian Studio Documentation or contact the maintainers.