This Helm chart installs Plugin CRM for Midaz, a high-performance and open-source ledger.
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
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
To uninstall the chart:
$ helm uninstall plugin-crm -n midaz-plugins
The Plugin CRM Helm Chart optionally supports different Ingress Controllers for exposing services when necessary. Below are the configurations for commonly used controllers.
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
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.enabled
to false
in the values file.Note: If you have an existing MongoDB instance, you can disable this dependency and configure Midaz Components to use your external MongoDB, like this:
configmap:
MONGO_HOST: { your-host }
MONGO_NAME: { your-host-name }
MONGO_USER: { your-host-user }
MONGO_PORT: { your-host-port }
secrets:
MONGO_PASSWORD: { your-host-pass }
For more information, see the Lerian Studio Documentation or contact the maintainers.