helm

Plugin Fees Helm Chart

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


Install Plugin Fees Helm Chart

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

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

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

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

$ helm list -n midaz-plugins

Upgrading

To upgrade the chart to a new version:

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

Uninstalling

To uninstall the chart:

$ helm uninstall plugin-fees -n midaz-plugins

Configuring Ingress for Different Controllers

The Plugin Fees 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

Fees Service

Parameter Description Default
fees.replicaCount Number of replicas for the deployment 1
fees.image.repository Repository for the container image ghcr.io/lerianstudio/plugin-fees
fees.image.pullPolicy Image pull policy Always
fees.image.tag Image tag used for deployment 1.0.0
fees.imagePullSecrets Secrets for pulling images from a private registry [{"name": "regcred"}]
fees.nameOverride Overrides the default generated name by Helm ""
fees.fullnameOverride Overrides the full name generated by Helm ""
fees.ingress.enabled Enable or disable ingress false
fees.ingress.className Ingress class name ""
fees.ingress.annotations Additional ingress annotations {}
fees.ingress.hosts Ingress host configuration [{"host": "", "paths": [{"path": "/", "pathType": "Prefix"}]}]
fees.ingress.tls TLS configuration for ingress []
fees.service.type Kubernetes service type ClusterIP
fees.service.port Service port 4002
fees.deploymentStrategy Deployment strategy See values.yaml
fees.podSecurityContext Pod security context {}
fees.securityContext Security context for the container See values.yaml
fees.pdb.enabled Enable or disable PodDisruptionBudget true
fees.pdb.maxUnavailable Maximum number of unavailable pods 1
fees.pdb.minAvailable Minimum number of available pods 0
fees.resources CPU and memory limits for pods See values.yaml
fees.autoscaling.enabled Enable or disable horizontal pod autoscaling true
fees.autoscaling.minReplicas Minimum number of replicas 1
fees.autoscaling.maxReplicas Maximum number of replicas 3
fees.nodeSelector Node selector for scheduling pods {}
fees.tolerations Tolerations for scheduling on tainted nodes {}
fees.affinity Affinity rules for pod scheduling {}
fees.extraEnvVars Extra environment variables to be added to the deployment {}
fees.useExistingSecret Use an existing secret instead of creating a new one false
fees.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 ghcr.io/lerianstudio/plugin-fees-frontend
frontend.image.pullPolicy Image pull policy IfNotPresent
frontend.image.tag Image tag used for deployment 2.0.0-beta.12
frontend.imagePullSecrets Secrets for pulling images from a private registry []
frontend.nameOverride Overrides the default generated name by Helm ""
frontend.fullnameOverride Overrides the full name generated by Helm ""
frontend.podAnnotations Annotations to be added to the Pod {}
frontend.podSecurityContext Pod security context {}
frontend.securityContext Security context for the container See values.yaml
frontend.pdb.enabled Enable or disable PodDisruptionBudget false
frontend.deploymentUpdate Deployment update strategy See values.yaml
frontend.service.type Kubernetes service type ClusterIP
frontend.service.port Service port 8081
frontend.ingress.enabled Enable or disable ingress false
frontend.ingress.className Ingress class name ""
frontend.ingress.annotations Additional ingress annotations {}
frontend.ingress.hosts Ingress host configuration [{"host": "", "paths": [{"path": "/", "pathType": "Prefix"}]}]
frontend.ingress.tls TLS configuration for ingress []
frontend.resources CPU and memory limits for pods See values.yaml
frontend.autoscaling.enabled Enable or disable horizontal pod autoscaling false
frontend.nodeSelector Node selector for scheduling pods {}
frontend.tolerations Tolerations for scheduling on tainted nodes {}
frontend.affinity Affinity rules for pod scheduling {}
frontend.configmap ConfigMap for environment variables {}
frontend.extraEnvVars Extra environment variables to be added to the deployment {}
frontend.secrets Secrets for storing sensitive data {}
frontend.serviceAccount.create Specifies whether a ServiceAccount should be created true
frontend.serviceAccount.name Name of the service account ""

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-fees
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.