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

Configuration

The following table lists the configurable parameters of the Plugin CRM chart and their default values.

Parameter Description Default
replicaCount Number of replicas 1
name Name of the deployment "plugin-crm"
description Description of the plugin "Plugin CRM for Midaz"
image.repository Image repository for the container lerianstudio/plugin-crm
image.pullPolicy Image pull policy Always
image.tag Image tag 1.0.0
imagePullSecrets Secrets for pulling images from a private registry [ { name: regcred } ]
nameOverride Override the default generated name by Helm ""
fullnameOverride Override the full name generated by Helm ""
ingress.enabled Enable or disable ingress false
ingress.className Ingress class name ""
ingress.annotations Additional ingress annotations {}
ingress.hosts List of ingress hosts [ { host: "", paths: [ { path: "/", pathType: "Prefix" } ] } ]
ingress.tls TLS configuration for ingress []
service.type Kubernetes service type ClusterIP
service.port Service port 4003
deploymentStrategy.type Deployment strategy type RollingUpdate
deploymentStrategy.rollingUpdate.maxSurge Max surge for rolling update 1
deploymentStrategy.rollingUpdate.maxUnavailable Max unavailable for rolling update 1
podSecurityContext Pod-level security context {}
securityContext.runAsGroup Group ID for the process 1000
securityContext.runAsUser User ID for the process 1000
securityContext.runAsNonRoot Ensures the process does not run as root true
securityContext.capabilities.drop Linux capabilities to drop [ALL]
securityContext.readOnlyRootFilesystem Root filesystem as read-only true
pdb.enabled Enable PodDisruptionBudget true
pdb.maxUnavailable Maximum unavailable pods 1
pdb.minAvailable Minimum available pods 0
pdb.annotations Annotations for PodDisruptionBudget {}
resources.limits.cpu CPU limit for pods 200m
resources.limits.memory Memory limit for pods 256Mi
resources.requests.cpu Minimum CPU request 100m
resources.requests.memory Minimum memory request 128Mi
autoscaling.enabled Enable horizontal pod autoscaling true
autoscaling.minReplicas Minimum replicas for autoscaling 1
autoscaling.maxReplicas Maximum replicas for autoscaling 3
autoscaling.targetCPUUtilizationPercentage Target CPU utilization for autoscaling 80
autoscaling.targetMemoryUtilizationPercentage Target memory utilization for autoscaling 80
nodeSelector Node selector for scheduling {}
tolerations Tolerations for scheduling on tainted nodes {}
affinity Affinity rules for pod scheduling {}
configmap ConfigMap for environment variables and configurations See values.yaml
secrets Secrets for storing sensitive data See values.yaml
mongodb.enabled Enable embedded MongoDB true
mongodb.external Use external MongoDB false
mongodb.auth.enabled Enable MongoDB authentication true
mongodb.auth.rootUser MongoDB root user plugin-crm
mongodb.auth.rootPassword MongoDB root password lerian
mongodb.persistence.size MongoDB persistent volume size 8Gi
mongodb.resourcesPreset MongoDB resources preset medium

MongoDB

Support

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