diff --git a/charts/dolibarr/Chart.yaml b/charts/dolibarr/Chart.yaml index 439c9658..635df07c 100644 --- a/charts/dolibarr/Chart.yaml +++ b/charts/dolibarr/Chart.yaml @@ -10,7 +10,7 @@ name: dolibarr sources: - https://github.com/Dolibarr/dolibarr - https://github.com/cowboysysop/charts/tree/master/charts/dolibarr -version: 2.1.0 +version: 3.0.0 dependencies: - name: common version: 2.5.0 diff --git a/charts/dolibarr/README.md b/charts/dolibarr/README.md index f6df6941..7324447b 100644 --- a/charts/dolibarr/README.md +++ b/charts/dolibarr/README.md @@ -43,6 +43,13 @@ The command upgrades the existing `my-release` deployment with the most latest r **TIP**: Use `helm repo update` to update information on available charts in the chart repositories. +### Upgrading to version 3.0.0 + +Some parameters related to port management have been modified: + +- Parameter `service.port` has been renamed `service.ports.http`. +- Parameter `service.nodePort` has been renamed `service.nodePorts.http`. + ### Upgrading to version 2.0.0 Some parameters related to image management have been modified: @@ -64,131 +71,129 @@ The command deletes the release named `my-release` and frees all the kubernetes ## Configuration -The following tables lists all the configurable parameters expose by the chart and their default values. - ### Global parameters | Name | Description | Default | -|---------------------------|-------------------------------------------------|---------| +| ------------------------- | ----------------------------------------------- | ------- | | `global.imageRegistry` | Global Docker image registry | `""` | | `global.imagePullSecrets` | Global Docker registry secret names as an array | `[]` | ### Common parameters | Name | Description | Default | -|---------------------|-----------------------------------------------------------------------------------------------|---------| +| ------------------- | --------------------------------------------------------------------------------------------- | ------- | | `kubeVersion` | Override Kubernetes version | `""` | -| `nameOverride` | Partially override `dolibarr.fullname` template with a string (will prepend the release name) | `nil` | -| `fullnameOverride` | Fully override `dolibarr.fullname` template with a string | `nil` | +| `nameOverride` | Partially override `dolibarr.fullname` template with a string (will prepend the release name) | `""` | +| `fullnameOverride` | Fully override `dolibarr.fullname` template with a string | `""` | | `commonAnnotations` | Annotations to add to all deployed objects | `{}` | | `commonLabels` | Labels to add to all deployed objects | `{}` | | `extraDeploy` | Array of extra objects to deploy with the release | `[]` | ### Parameters -| Name | Description | Default | -|--------------------------------------|-------------------------------------------------------------------------------------------------------|--------------------------------------------------| -| `replicaCount` | Number of replicas (do not change it) | `1` | -| `updateStrategy.type` | Update strategy type (do not change it) | `Recreate` | -| `image.registry` | Image registry | `docker.io` | -| `image.repository` | Image repository | `tuxgasy/dolibarr` | -| `image.tag` | Image tag | `15.0.3` | -| `image.digest` | Image digest | `""` | -| `image.pullPolicy` | Image pull policy | `IfNotPresent` | -| `pdb.create` | Specifies whether a pod disruption budget should be created | `false` | -| `pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `1` | -| `pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable | `nil` | -| `serviceAccount.create` | Specify whether to create a ServiceAccount | `true` | -| `serviceAccount.annotations` | ServiceAccount annotations | `{}` | -| `serviceAccount.name` | The name of the ServiceAccount to create | Generated using the `dolibarr.fullname` template | -| `podAnnotations` | Additional pod annotations | `{}` | -| `podLabels` | Additional pod labels | `{}` | -| `podSecurityContext` | Pod security context | `{}` | -| `priorityClassName` | Priority class name | `nil` | -| `securityContext` | Container security context | `{}` | -| `livenessProbe.enabled` | Enable liveness probe | `true` | -| `livenessProbe.initialDelaySeconds` | Delay before the liveness probe is initiated | `180` | -| `livenessProbe.periodSeconds` | How often to perform the liveness probe | `10` | -| `livenessProbe.timeoutSeconds` | When the liveness probe times out | `1` | -| `livenessProbe.failureThreshold` | Minimum consecutive failures for the liveness probe to be considered failed after having succeeded | `3` | -| `livenessProbe.successThreshold` | Minimum consecutive successes for the liveness probe to be considered successful after having failed | `1` | -| `readinessProbe.enabled` | Enable readiness probe | `true` | -| `readinessProbe.initialDelaySeconds` | Delay before the readiness probe is initiated | `0` | -| `readinessProbe.periodSeconds` | How often to perform the readiness probe | `10` | -| `readinessProbe.timeoutSeconds` | When the readiness probe times out | `1` | -| `readinessProbe.failureThreshold` | Minimum consecutive failures for the readiness probe to be considered failed after having succeeded | `3` | -| `readinessProbe.successThreshold` | Minimum consecutive successes for the readiness probe to be considered successful after having failed | `1` | -| `service.annotations` | Service annotations | `{}` | -| `service.type` | Service type | `ClusterIP` | -| `service.clusterIP` | Static cluster IP address or None for headless service when service type is ClusterIP | `nil` | -| `service.loadBalancerIP` | Static load balancer IP address when service type is LoadBalancer | `nil` | -| `service.loadBalancerSourceRanges` | Source IP address ranges when service type is LoadBalancer | `nil` | -| `service.externalTrafficPolicy` | External traffic routing policy when service type is LoadBalancer or NodePort | `Cluster` | -| `service.port` | Service port | `80` | -| `service.nodePort` | Service node port when service type is LoadBalancer or NodePort | `nil` | -| `ingress.enabled` | Enable ingress controller resource | `false` | -| `ingress.ingressClassName` | IngressClass that will be be used to implement the Ingress | `""` | -| `ingress.pathType` | Ingress path type | `ImplementationSpecific` | -| `ingress.annotations` | Ingress annotations | `{}` | -| `ingress.hosts[0].host` | Hostname to your Dolibarr installation | `dolibarr.local` | -| `ingress.hosts[0].paths` | Paths within the url structure | `[/]` | -| `ingress.tls[0].secretName` | TLS Secret (certificates) | `nil` | -| `ingress.tls[0].hosts[0]` | TLS hosts | `nil` | -| `resources` | CPU/Memory resource requests/limits | `{}` | -| `nodeSelector` | Node labels for pod assignment | `{}` | -| `tolerations` | Tolerations for pod assignment | `[]` | -| `affinity` | Map of node/pod affinities | `{}` | -| `extraArgs` | Additional container arguments | `{}` | -| `extraEnvVars` | Additional container environment variables | `[]` | -| `extraEnvVarsCM` | Name of existing ConfigMap containing additional container environment variables | `nil` | -| `extraEnvVarsSecret` | Name of existing Secret containing additional container environment variables | `nil` | -| `init.securityContext` | Init security context | `{}` | -| `init.resources` | Init CPU/Memory resource requests/limits | `{}` | -| `persistence.enabled` | Enable persistence using PVC | `false` | -| `persistence.existingClaim` | Name of an existing PVC to use | `nil` | -| `persistence.accessMode` | PVC access mode | `ReadWriteOnce` | -| `persistence.annotations` | PVC annotations | `{}` | -| `persistence.size` | PVC size | `1Gi` | -| `persistence.storageClass` | PVC storage class | `nil` | -| `dolibarr.admin.username` | Administrator username | `admin` | -| `dolibarr.admin.password` | Administrator password | `admin` | -| `dolibarr.externalUrl` | External URL | `http://dolibarr.local` | -| `dolibarr.cron.enabled` | Enable cron for scheduled jobs | `false` | -| `dolibarr.cron.username` | Cron username | `admin` | -| `dolibarr.cron.securityKey` | Cron security key | `""` | -| `existingSecret` | Name of existing Secret to use | `nil` | +| Name | Description | Default | +| ------------------------------------ | ------------------------------------------------------------------------------------------------------- | ------------------------ | +| `replicaCount` | Number of replicas (do not change it) | `1` | +| `updateStrategy.type` | Update strategy type (do not change it) | `Recreate` | +| `image.registry` | Image registry | `docker.io` | +| `image.repository` | Image repository | `tuxgasy/dolibarr` | +| `image.tag` | Image tag | `15.0.3` | +| `image.digest` | Image digest | `""` | +| `image.pullPolicy` | Image pull policy | `IfNotPresent` | +| `pdb.create` | Specifies whether a pod disruption budget should be created | `false` | +| `pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `1` | +| `pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable | `nil` | +| `serviceAccount.create` | Specifies whether a service account should be created | `true` | +| `serviceAccount.annotations` | Service account annotations | `{}` | +| `serviceAccount.name` | The name of the service account to use (default value generated using the `dolibarr.fullname` template) | `nil` | +| `podAnnotations` | Additional pod annotations | `{}` | +| `podLabels` | Additional pod labels | `{}` | +| `podSecurityContext` | Pod security context | `{}` | +| `priorityClassName` | Priority class name | `nil` | +| `securityContext` | Container security context | `{}` | +| `containerPorts.http` | Container port for HTTP | `80` | +| `livenessProbe.enabled` | Enable liveness probe | `true` | +| `livenessProbe.initialDelaySeconds` | Delay before the liveness probe is initiated | `180` | +| `livenessProbe.periodSeconds` | How often to perform the liveness probe | `10` | +| `livenessProbe.timeoutSeconds` | When the liveness probe times out | `1` | +| `livenessProbe.failureThreshold` | Minimum consecutive failures for the liveness probe to be considered failed after having succeeded | `3` | +| `livenessProbe.successThreshold` | Minimum consecutive successes for the liveness probe to be considered successful after having failed | `1` | +| `readinessProbe.enabled` | Enable readiness probe | `true` | +| `readinessProbe.initialDelaySeconds` | Delay before the readiness probe is initiated | `0` | +| `readinessProbe.periodSeconds` | How often to perform the readiness probe | `10` | +| `readinessProbe.timeoutSeconds` | When the readiness probe times out | `1` | +| `readinessProbe.failureThreshold` | Minimum consecutive failures for the readiness probe to be considered failed after having succeeded | `3` | +| `readinessProbe.successThreshold` | Minimum consecutive successes for the readiness probe to be considered successful after having failed | `1` | +| `service.annotations` | Service annotations | `{}` | +| `service.type` | Service type | `ClusterIP` | +| `service.clusterIP` | Static cluster IP address or None for headless service when service type is ClusterIP | `nil` | +| `service.loadBalancerIP` | Static load balancer IP address when service type is LoadBalancer | `nil` | +| `service.loadBalancerSourceRanges` | Source IP address ranges when service type is LoadBalancer | `nil` | +| `service.externalTrafficPolicy` | External traffic routing policy when service type is LoadBalancer or NodePort | `Cluster` | +| `service.ports.http` | Service port for HTTP | `80` | +| `service.nodePorts.http` | Service node port for HTTP when service type is LoadBalancer or NodePort | `nil` | +| `ingress.enabled` | Enable ingress controller resource | `false` | +| `ingress.ingressClassName` | IngressClass that will be be used to implement the Ingress | `""` | +| `ingress.pathType` | Ingress path type | `ImplementationSpecific` | +| `ingress.annotations` | Ingress annotations | `{}` | +| `ingress.hosts[0].host` | Hostname to your Dolibarr installation | `dolibarr.local` | +| `ingress.hosts[0].paths` | Paths within the url structure | `["/"]` | +| `ingress.tls` | TLS configuration | `[]` | +| `resources` | CPU/Memory resource requests/limits | `{}` | +| `nodeSelector` | Node labels for pod assignment | `{}` | +| `tolerations` | Tolerations for pod assignment | `[]` | +| `affinity` | Map of node/pod affinities | `{}` | +| `extraArgs` | Additional container arguments | `{}` | +| `extraEnvVars` | Additional container environment variables | `[]` | +| `extraEnvVarsCM` | Name of existing ConfigMap containing additional container environment variables | `nil` | +| `extraEnvVarsSecret` | Name of existing Secret containing additional container environment variables | `nil` | +| `init.securityContext` | Init security context | `{}` | +| `init.resources` | Init CPU/Memory resource requests/limits | `{}` | +| `persistence.enabled` | Enable persistence using PVC | `false` | +| `persistence.existingClaim` | Name of an existing PVC to use | `nil` | +| `persistence.accessMode` | PVC access mode | `ReadWriteOnce` | +| `persistence.annotations` | PVC annotations | `{}` | +| `persistence.size` | PVC size | `1Gi` | +| `persistence.storageClass` | PVC storage class | `nil` | +| `dolibarr.admin.username` | Administrator username | `admin` | +| `dolibarr.admin.password` | Administrator password | `admin` | +| `dolibarr.externalUrl` | External URL | `http://dolibarr.local` | +| `dolibarr.cron.enabled` | Enable cron for scheduled jobs | `false` | +| `dolibarr.cron.username` | Cron username | `admin` | +| `dolibarr.cron.securityKey` | Cron security key | `""` | +| `existingSecret` | Name of existing Secret to use | `""` | ### MariaDB parameters | Name | Description | Default | -|---------------------------------------------|-------------------------------------------------------------------|--------------------| +| ------------------------------------------- | ----------------------------------------------------------------- | ------------------ | | `mariadb.enabled` | Whether to use the MariaDB chart | `true` | | `mariadb.architecture` | MariaDB architecture | `standalone` | | `mariadb.auth.database` | MariaDB database | `dolibarr` | | `mariadb.auth.username` | MariaDB user | `dolibarr` | | `mariadb.auth.password` | MariaDB password | `dolibarr` | -| `mariadb.auth.existingSecret` | Name of existing Secret to use | `nil` | +| `mariadb.auth.existingSecret` | Name of existing Secret to use | `""` | | `mariadb.primary.service.ports.mysql` | MariaDB port | `3306` | | `externalMariadb.enabled` | Whether to use an external MariaDB | `false` | | `externalMariadb.host` | External MariaDB host | `mariadb` | | `externalMariadb.port` | External MariaDB port | `3306` | | `externalMariadb.username` | External MariaDB user | `dolibarr` | | `externalMariadb.password` | External MariaDB password | `dolibarr` | -| `externalMariadb.existingSecret` | Name of existing Secret to use | `nil` | +| `externalMariadb.existingSecret` | Name of existing Secret to use | `""` | | `externalMariadb.existingSecretKeyPassword` | Name of the key in existing Secret that contains MariaDB password | `mariadb-password` | | `externalMariadb.database` | External MariaDB database | `dolibarr` | ### Tests parameters | Name | Description | Default | -|--------------------------|-------------------|----------------------| +| ------------------------ | ----------------- | -------------------- | | `tests.image.registry` | Image registry | `ghcr.io` | | `tests.image.repository` | Image repository | `cowboysysop/pytest` | | `tests.image.tag` | Image tag | `1.0.35` | | `tests.image.digest` | Image digest | `""` | | `tests.image.pullPolicy` | Image pull policy | `IfNotPresent` | -### Setting parameters +## Setting parameters Specify the parameters you which to customize using the `--set` argument to the `helm install` command. For instance, diff --git a/charts/dolibarr/templates/NOTES.txt b/charts/dolibarr/templates/NOTES.txt index 8a42b1c9..91c4f7e5 100644 --- a/charts/dolibarr/templates/NOTES.txt +++ b/charts/dolibarr/templates/NOTES.txt @@ -13,9 +13,9 @@ NOTE: It may take a few minutes for the LoadBalancer IP to be available. You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "dolibarr.fullname" . }}' export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "dolibarr.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") - echo http://$SERVICE_IP:{{ .Values.service.port }}/ + echo http://$SERVICE_IP:{{ .Values.service.ports.http }}/ {{- else if contains "ClusterIP" .Values.service.type }} export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "dolibarr.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080/ to use your application" - kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80 + kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:{{ .Values.containerPorts.http }} {{- end }} diff --git a/charts/dolibarr/templates/deployment.yaml b/charts/dolibarr/templates/deployment.yaml index cd78135c..54f728ad 100644 --- a/charts/dolibarr/templates/deployment.yaml +++ b/charts/dolibarr/templates/deployment.yaml @@ -112,7 +112,7 @@ spec: {{- end }} ports: - name: http - containerPort: 80 + containerPort: {{ .Values.containerPorts.http }} protocol: TCP {{- if .Values.livenessProbe.enabled }} livenessProbe: diff --git a/charts/dolibarr/templates/ingress.yaml b/charts/dolibarr/templates/ingress.yaml index 3f3b850f..44b937ec 100644 --- a/charts/dolibarr/templates/ingress.yaml +++ b/charts/dolibarr/templates/ingress.yaml @@ -42,7 +42,7 @@ spec: pathType: {{ $.Values.ingress.pathType }} {{- end }} backend: - {{- include "common.ingress.backend" (dict "serviceName" (include "dolibarr.fullname" $) "servicePort" $.Values.service.port "context" $) | nindent 14 }} + {{- include "common.ingress.backend" (dict "serviceName" (include "dolibarr.fullname" $) "servicePort" $.Values.service.ports.http "context" $) | nindent 14 }} {{- end }} {{- end }} {{- end }} diff --git a/charts/dolibarr/templates/service.yaml b/charts/dolibarr/templates/service.yaml index c4949e2f..fa7163e4 100644 --- a/charts/dolibarr/templates/service.yaml +++ b/charts/dolibarr/templates/service.yaml @@ -32,12 +32,12 @@ spec: externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }} {{- end }} ports: - - port: {{ .Values.service.port }} + - port: {{ .Values.service.ports.http }} targetPort: http protocol: TCP name: http - {{- if and (or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort")) .Values.service.nodePort }} - nodePort: {{ .Values.service.nodePort }} + {{- if and (or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort")) .Values.service.nodePorts.http }} + nodePort: {{ .Values.service.nodePorts.http }} {{- end }} selector: {{- include "dolibarr.selectorLabels" . | nindent 4 }} diff --git a/charts/dolibarr/templates/tests/configmap.yaml b/charts/dolibarr/templates/tests/configmap.yaml index ebfeca50..7bc1e283 100644 --- a/charts/dolibarr/templates/tests/configmap.yaml +++ b/charts/dolibarr/templates/tests/configmap.yaml @@ -18,7 +18,7 @@ data: def test_service_connection(): - url = "http://{{ include "dolibarr.fullname" . }}:{{ .Values.service.port }}/" + url = "http://{{ include "dolibarr.fullname" . }}:{{ .Values.service.ports.http }}/" response = requests.get(url) diff --git a/charts/dolibarr/values.yaml b/charts/dolibarr/values.yaml index 0c26245a..8f0aea53 100644 --- a/charts/dolibarr/values.yaml +++ b/charts/dolibarr/values.yaml @@ -2,82 +2,96 @@ # This is a YAML-formatted file. # Declare variables to be passed into your templates. +## @section Global parameters + global: - # Global Docker image registry + ## @param global.imageRegistry Global Docker image registry imageRegistry: "" - # Global Docker registry secret names as an array + ## @param global.imagePullSecrets Global Docker registry secret names as an array imagePullSecrets: [] -# Override Kubernetes version +## @section Common parameters + +## @param kubeVersion Override Kubernetes version kubeVersion: "" +## @param nameOverride Partially override `dolibarr.fullname` template with a string (will prepend the release name) nameOverride: "" + +## @param fullnameOverride Fully override `dolibarr.fullname` template with a string fullnameOverride: "" -# Annotations to add to all deployed objects +## @param commonAnnotations Annotations to add to all deployed objects commonAnnotations: {} -# Labels to add to all deployed objects +## @param commonLabels Labels to add to all deployed objects commonLabels: {} -# Array of extra objects to deploy with the release +## @param extraDeploy Array of extra objects to deploy with the release extraDeploy: [] -# Number of replicas (do not change it) +## @section Parameters + +## @param replicaCount Number of replicas (do not change it) replicaCount: 1 updateStrategy: - # Update strategy type (do not change it) + ## @param updateStrategy.type Update strategy type (do not change it) type: Recreate image: - # Image registry + ## @param image.registry Image registry registry: docker.io - # Image repository + ## @param image.repository Image repository repository: tuxgasy/dolibarr - # Image tag + ## @param image.tag Image tag tag: 15.0.3 - # Image digest + ## @param image.digest Image digest digest: "" - # Image pull policy + ## @param image.pullPolicy Image pull policy pullPolicy: IfNotPresent pdb: - # Specifies whether a pod disruption budget should be created + ## @param pdb.create Specifies whether a pod disruption budget should be created create: false - # Minimum number/percentage of pods that should remain scheduled + ## @param pdb.minAvailable Minimum number/percentage of pods that should remain scheduled minAvailable: 1 - # Maximum number/percentage of pods that may be made unavailable + ## @param pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable + maxUnavailable: # maxUnavailable: 1 serviceAccount: - # Specifies whether a service account should be created + ## @param serviceAccount.create Specifies whether a service account should be created create: true - # Annotations to add to the service account + + ## @param serviceAccount.annotations Service account annotations annotations: {} - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template + + ## @param serviceAccount.name The name of the service account to use (default value generated using the `dolibarr.fullname` template) name: -# Additional pod annotations +## @param podAnnotations Additional pod annotations podAnnotations: {} -# Additional pod labels +## @param podLabels Additional pod labels podLabels: {} +## @param podSecurityContext Pod security context podSecurityContext: {} # fsGroup: 2000 -# Priority class name +## @param priorityClassName Priority class name +priorityClassName: # priorityClassName : high-priority +## @param securityContext Container security context securityContext: {} # capabilities: # drop: @@ -86,96 +100,109 @@ securityContext: {} # runAsNonRoot: true # runAsUser: 1000 +containerPorts: + ## @param containerPorts.http Container port for HTTP + http: 80 + livenessProbe: - # Enable liveness probe + ## @param livenessProbe.enabled Enable liveness probe enabled: true - # Delay before the liveness probe is initiated + ## @param livenessProbe.initialDelaySeconds Delay before the liveness probe is initiated initialDelaySeconds: 180 - # How often to perform the liveness probe + ## @param livenessProbe.periodSeconds How often to perform the liveness probe periodSeconds: 10 - # When the liveness probe times out + ## @param livenessProbe.timeoutSeconds When the liveness probe times out timeoutSeconds: 1 - # Minimum consecutive failures for the liveness probe to be considered failed after having succeeded + ## @param livenessProbe.failureThreshold Minimum consecutive failures for the liveness probe to be considered failed after having succeeded failureThreshold: 3 - # Minimum consecutive successes for the liveness probe to be considered successful after having failed + ## @param livenessProbe.successThreshold Minimum consecutive successes for the liveness probe to be considered successful after having failed successThreshold: 1 readinessProbe: - # Enable readiness probe + ## @param readinessProbe.enabled Enable readiness probe enabled: true - # Delay before the readiness probe is initiated + ## @param readinessProbe.initialDelaySeconds Delay before the readiness probe is initiated initialDelaySeconds: 0 - # How often to perform the readiness probe + ## @param readinessProbe.periodSeconds How often to perform the readiness probe periodSeconds: 10 - # When the readiness probe times out + ## @param readinessProbe.timeoutSeconds When the readiness probe times out timeoutSeconds: 1 - # Minimum consecutive failures for the readiness probe to be considered failed after having succeeded + ## @param readinessProbe.failureThreshold Minimum consecutive failures for the readiness probe to be considered failed after having succeeded failureThreshold: 3 - # Minimum consecutive successes for the readiness probe to be considered successful after having failed + ## @param readinessProbe.successThreshold Minimum consecutive successes for the readiness probe to be considered successful after having failed successThreshold: 1 service: - # Service annotations + ## @param service.annotations Service annotations annotations: {} - # Service type + ## @param service.type Service type type: ClusterIP - # Static cluster IP address or None for headless service when service type is ClusterIP + ## @param service.clusterIP Static cluster IP address or None for headless service when service type is ClusterIP + clusterIP: # clusterIP: 10.43.0.100 - # Static load balancer IP address when service type is LoadBalancer + ## @param service.loadBalancerIP Static load balancer IP address when service type is LoadBalancer + loadBalancerIP: # loadBalancerIP: 10.0.0.100 - # Source IP address ranges when service type is LoadBalancer - # loadBalancerSourceRanges: - # - 10.0.0.0/24 + ## @param service.loadBalancerSourceRanges Source IP address ranges when service type is LoadBalancer + loadBalancerSourceRanges: + # - 10.0.0.0/24 - # External traffic routing policy when service type is LoadBalancer or NodePort + ## @param service.externalTrafficPolicy External traffic routing policy when service type is LoadBalancer or NodePort externalTrafficPolicy: Cluster - # Service port - port: 80 + ports: + ## @param service.ports.http Service port for HTTP + http: 80 - # Service node port when service type is LoadBalancer or NodePort - # nodePort: 30000 + nodePorts: + ## @param service.nodePorts.http Service node port for HTTP when service type is LoadBalancer or NodePort + http: + # http: 30000 ingress: + ## @param ingress.enabled Enable ingress controller resource enabled: false - # IngressClass that will be be used to implement the Ingress + ## @param ingress.ingressClassName IngressClass that will be be used to implement the Ingress ingressClassName: "" - # Ingress path type + ## @param ingress.pathType Ingress path type pathType: ImplementationSpecific + ## @param ingress.annotations Ingress annotations annotations: {} # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" + + ## @param ingress.hosts[0].host Hostname to your Dolibarr installation + ## @param ingress.hosts[0].paths Paths within the url structure hosts: - host: dolibarr.local paths: - / + + ## @param ingress.tls TLS configuration tls: [] - # - secretName: dolibarr-tls - # hosts: - # - dolibarr.local + # - secretName: dolibarr-tls + # hosts: + # - dolibarr.local +## @param resources CPU/Memory resource requests/limits resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. # limits: # cpu: 100m # memory: 128Mi @@ -183,42 +210,42 @@ resources: {} # cpu: 100m # memory: 128Mi +## @param nodeSelector Node labels for pod assignment nodeSelector: {} +## @param tolerations Tolerations for pod assignment tolerations: [] +## @param affinity Map of node/pod affinities affinity: {} +## @param extraArgs Additional container arguments extraArgs: {} # name: "" -# Additional container environment variables +## @param extraEnvVars Additional container environment variables extraEnvVars: [] -# - name: MY-NAME -# value: "MY-VALUE" + # - name: MY-NAME + # value: "MY-VALUE" -# Name of existing ConfigMap containing additional container environment variables +## @param extraEnvVarsCM Name of existing ConfigMap containing additional container environment variables extraEnvVarsCM: -# Name of existing Secret containing additional container environment variables +## @param extraEnvVarsSecret Name of existing Secret containing additional container environment variables extraEnvVarsSecret: init: - # Init security context + ## @param init.securityContext Init security context securityContext: {} - # capabilities: - # drop: - # - ALL - # readOnlyRootFilesystem: true - # runAsNonRoot: true - # runAsUser: 1000 - - # Init CPU/Memory resource requests/limits + # capabilities: + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + + ## @param init.resources Init CPU/Memory resource requests/limits resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. # limits: # cpu: 100m # memory: 128Mi @@ -227,112 +254,118 @@ init: # memory: 128Mi persistence: - # Enable persistence using PVC + ## @param persistence.enabled Enable persistence using PVC enabled: false - # Name of an existing PVC to use + ## @param persistence.existingClaim Name of an existing PVC to use + existingClaim: # existingClaim: my-pvc - # PVC access mode + ## @param persistence.accessMode PVC access mode accessMode: ReadWriteOnce - # PVC annotations + ## @param persistence.annotations PVC annotations annotations: {} - # PVC size + ## @param persistence.size PVC size size: 1Gi - # PVC storage class + ## @param persistence.storageClass PVC storage class + storageClass: # storageClass: - dolibarr: admin: - # Administrator username + ## @param dolibarr.admin.username Administrator username username: admin - # Administrator password + ## @param dolibarr.admin.password Administrator password password: admin - # External URL + ## @param dolibarr.externalUrl External URL externalUrl: http://dolibarr.local cron: - # Enable cron for scheduled jobs + ## @param dolibarr.cron.enabled Enable cron for scheduled jobs enabled: false - # Cron username + ## @param dolibarr.cron.username Cron username username: admin - # Cron security key + ## @param dolibarr.cron.securityKey Cron security key securityKey: "" -# Name of existing Secret to use +## @param existingSecret Name of existing Secret to use existingSecret: "" +## @section MariaDB parameters + mariadb: - # Whether to use the MariaDB chart + ## @param mariadb.enabled Whether to use the MariaDB chart enabled: true - # MariaDB architecture + ## @param mariadb.architecture MariaDB architecture architecture: standalone auth: - # MariaDB database + ## @param mariadb.auth.database MariaDB database database: dolibarr - # MariaDB user + ## @param mariadb.auth.username MariaDB user username: dolibarr - # MariaDB password + ## @param mariadb.auth.password MariaDB password password: dolibarr - # Name of existing Secret to use + ## @param mariadb.auth.existingSecret Name of existing Secret to use existingSecret: "" primary: service: ports: - # MariaDB port + ## @param mariadb.primary.service.ports.mysql MariaDB port mysql: 3306 externalMariadb: - # Whether to use an external MariaDB + ## @param externalMariadb.enabled Whether to use an external MariaDB enabled: false - # External MariaDB host + ## @param externalMariadb.host External MariaDB host host: mariadb - # External MariaDB port + ## @param externalMariadb.port External MariaDB port port: 3306 - # External MariaDB user + ## @param externalMariadb.username External MariaDB user username: dolibarr - # External MariaDB password + ## @param externalMariadb.password External MariaDB password password: dolibarr - # Name of existing Secret to use + ## @param externalMariadb.existingSecret Name of existing Secret to use existingSecret: "" - # Name of the key in existing Secret that contains MariaDB password + ## @param externalMariadb.existingSecretKeyPassword Name of the key in existing Secret that contains MariaDB password existingSecretKeyPassword: mariadb-password - # External MariaDB database + ## @param externalMariadb.database External MariaDB database database: dolibarr +## @section Tests parameters + tests: image: - # Image registry + ## @param tests.image.registry Image registry registry: ghcr.io - # Image repository + ## @param tests.image.repository Image repository repository: cowboysysop/pytest - # Image tag + ## @param tests.image.tag Image tag tag: 1.0.35 - # Image digest + ## @param tests.image.digest Image digest digest: "" - # Image pull policy + ## @param tests.image.pullPolicy Image pull policy pullPolicy: IfNotPresent