{"id":19879999,"url":"https://github.com/passbolt/charts-passbolt","last_synced_at":"2025-05-02T13:31:53.133Z","repository":{"id":78047262,"uuid":"596631192","full_name":"passbolt/charts-passbolt","owner":"passbolt","description":"Helm charts to run Passbolt on Kubernetes. No strings attached charts to run the open source password manager for teams!","archived":false,"fork":false,"pushed_at":"2025-04-28T08:02:21.000Z","size":631,"stargazers_count":54,"open_issues_count":9,"forks_count":36,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-28T08:37:44.445Z","etag":null,"topics":["charts","helm","helm-chart","high-availability","kubernetes","passbolt","password-manager","security"],"latest_commit_sha":null,"homepage":"https://passbolt.com","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/passbolt.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-02-02T15:53:42.000Z","updated_at":"2025-04-28T07:53:24.000Z","dependencies_parsed_at":"2024-03-28T11:46:22.310Z","dependency_job_id":"530e6f40-cb29-4b4b-9873-4e3f428e5197","html_url":"https://github.com/passbolt/charts-passbolt","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/passbolt%2Fcharts-passbolt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/passbolt%2Fcharts-passbolt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/passbolt%2Fcharts-passbolt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/passbolt%2Fcharts-passbolt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/passbolt","download_url":"https://codeload.github.com/passbolt/charts-passbolt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252046213,"owners_count":21685973,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["charts","helm","helm-chart","high-availability","kubernetes","passbolt","password-manager","security"],"created_at":"2024-11-12T17:09:58.391Z","updated_at":"2025-05-02T13:31:53.126Z","avatar_url":"https://github.com/passbolt.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Passbolt Helm chart\n\n\u003ch3 align=\"center\"\u003e\n    \u003cimg src=\"./.assets/helm_passbolt.png\" alt=\"passbolt sails kubernetes\" width=\"500\"/\u003e\n\u003c/h3\u003e\n\n![Version: 1.3.2](https://img.shields.io/badge/Version-1.3.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 5.0.0-1-ce](https://img.shields.io/badge/AppVersion-5.0.0--1--ce-informational?style=flat-square)\n\nPassbolt is an open source, security first password manager with strong focus on\ncollaboration.\n\n## TL;DR\n\nThe following commands are not recommended for production deployments as they will\nuse default passwords for internal databases:\n\n```bash\nhelm repo add my-repo https://download.passbolt.com/charts/passbolt\nhelm install my-release my-repo/passbolt\n```\n\nIn case you prefer to use postgresql intead of mariadb, a sample config is provided in the examples directory:\n\n```\nhelm repo add my-repo https://download.passbolt.com/charts/passbolt\nhelm install my-release my-repo/passbolt -f examples/postgresql.yaml\n```\n\nProduction workloads should change the fields with values 'CHANGEME' on values.yaml\nand deploy the chart as follows:\n\n```bash\nhelm repo add my-repo https://download.passbolt.com/charts/passbolt\nhelm install my-release my-repo/passbolt -f values.yaml\n```\n\nOr using `--set` flags to modify certain chart options:\n\n```bash\nhelm repo add my-repo https://download.passbolt.com/charts/passbolt\nhelm install my-release my-repo/passbolt \\\n  --set redis.auth.password=my_redis_password \\\n  --set passboltEnv.secret.CACHE_CAKE_DEFAULT_PASSWORD=my_redis_password \\\n  --set mariadb.auth.password=my_mariadb_password \\\n  --set passboltEnv.secret.DATASOURCES_DEFAULT_PASSWORD=my_mariadb_password\n```\n\n## Introduction\n\nThis chart deploys [passbolt](https://www.passbolt.com) on [kubernetes](https://kubernetes.io) using the [Helm](https://helm.sh/) package manager.\n\nPassbolt comes in three editions:\n\n- [Community edition](https://www.passbolt.com/ce/docker)\n- [Professional edition](https://signup.passbolt.com/pricing/pro)\n- [Cloud edition](https://signup.passbolt.com/pricing/cloud)\n\nThis chart supports the deployment of Community edition and Professional edition.\n\n## Prerequisites\n\n- Kubernetes 1.19+ or 1.23+ if you want to use hpa\n- Helm 3.x\n- Passbolt docker \u003e= 3.12.2-1\n\n## Installing the chart\n\nInstalling the chart under the name `my-release`:\n\n```bash\nhelm install my-release my-repo\n```\n\nThe above command deploys passbolt with default settings on your kubernetes cluster.\nCheck the [configuration](#Configuration) section to check which parameters you can fine tune.\n\n## Use passbolt non-root image\n\nIn case you want to use the non-root passbolt image, there are a few changes that you have to introduce on your values file:\n\n```bash\napp:\n  image:\n    tag: \u003cNON_ROOT_TAG\u003e\n\nservice:\n  ports:\n    https:\n      targetPort: 4433\n    http:\n      targetPort: 8080\n```\n\nWith these changes you should be able to run passbolt on a container executed by www-data user.\n\n## Creating first user\n\nOnce the chart is deployed, you can create your first user by running the following command:\n\n```bash\nkubectl exec -it \u003cpassbolt-pod-name\u003e -- su -c \"bin/cake passbolt register_user -u \u003cemail\u003e -f \u003cfirstname\u003e -l \u003clastname\u003e -r admin\" -s /bin/bash www-data\n```\n\n## Uninstalling the chart\n\nTo uninstall/delete the chart from your cluster:\n\n```bash\nhelm delete my-release\n```\n\nThe above command deletes all the kubernetes components associated with the\nchart and deletes the release.\n\n## Requirements\n\n| Repository                                            | Name             | Version |\n|-------------------------------------------------------|------------------|---------|\n| https://download.passbolt.com/charts/passbolt-library | passbolt-library | 0.2.7   |\n| oci://registry-1.docker.io/bitnamicharts              | mariadb          | 11.5.7  |\n| oci://registry-1.docker.io/bitnamicharts              | redis            | 17.15.2 |\n\n## Values\n\n| Key | Type | Default | Description |\n|-----|------|---------|-------------|\n| affinity | object | `{}` | Configure passbolt deployment affinity |\n| app.cache.redis.enabled | bool | `true` | By enabling redis the chart will mount a configuration file on /etc/passbolt/app.php That instructs passbolt to store sessions on redis and to use it as a general cache. |\n| app.cache.redis.sentinelProxy.enabled | bool | `true` | Inject a haproxy sidecar container configured as a proxy to redis sentinel Make sure that CACHE_CAKE_DEFAULT_SERVER is set to '127.0.0.1' to use the proxy |\n| app.cache.redis.sentinelProxy.image | object | `{\"registry\":\"\",\"repository\":\"haproxy\",\"tag\":\"latest\"}` | Configure redis sentinel proxy image |\n| app.cache.redis.sentinelProxy.image.repository | string | `\"haproxy\"` | Configure redis sentinel image repository |\n| app.cache.redis.sentinelProxy.image.tag | string | `\"latest\"` | Configure redis sentinel image tag |\n| app.cache.redis.sentinelProxy.resources | object | `{}` | Configure redis sentinel container resources |\n| app.database.kind | string | `\"mariadb\"` |  |\n| app.databaseInitContainer | object | `{\"enabled\":true}` | Configure pasbolt deployment init container that waits for database |\n| app.databaseInitContainer.enabled | bool | `true` | Toggle pasbolt deployment init container that waits for database |\n| app.extraContainers | list | `[]` | Configure additional containers to be added to the pod |\n| app.extraPodLabels | object | `{}` |  |\n| app.image.pullPolicy | string | `\"IfNotPresent\"` | Configure pasbolt deployment image pullPolicy |\n| app.image.registry | string | `\"\"` | Configure pasbolt deployment image repsitory |\n| app.image.repository | string | `\"passbolt/passbolt\"` |  |\n| app.image.tag | string | `\"5.0.0-1-ce\"` | Overrides the image tag whose default is the chart appVersion. |\n| app.resources | object | `{}` |  |\n| app.tls | object | `{}` |  |\n| autoscaling.enabled | bool | `false` | Enable autoscaling on passbolt deployment |\n| autoscaling.maxReplicas | int | `100` | Configure autoscaling maximum replicas |\n| autoscaling.minReplicas | int | `1` | Configure autoscaling minimum replicas |\n| autoscaling.targetCPUUtilizationPercentage | int | `80` | Configure autoscaling target CPU uptilization percentage |\n| cronJobEmail | object | `{\"enabled\":true,\"extraPodLabels\":{},\"schedule\":\"* * * * *\"}` | Enable email cron |\n| extraVolumeMounts | list | `[]` | Add additional volume mounts, e.g. for overwriting config files |\n| extraVolumes | list | `[]` | Add additional volumes, e.g. for overwriting config files |\n| fullnameOverride | string | `\"\"` | Value to override the whole fullName |\n| global.imagePullSecrets | list | `[]` |  |\n| global.imageRegistry | string | `\"\"` |  |\n| gpgExistingSecret | string | `\"\"` | Name of the existing secret for the GPG server keypair. The secret must contain the `serverkey.asc` and `serverkey_private.asc` keys. |\n| gpgPath | string | `\"/etc/passbolt/gpg\"` | Configure passbolt gpg directory |\n| gpgServerKeyPrivate | string | `\"\"` | Gpg server private key in base64 |\n| gpgServerKeyPublic | string | `\"\"` | Gpg server public key in base64 |\n| imagePullSecrets | list | `[]` | Configure image pull secrets |\n| ingress.annotations | object | `{}` | Configure passbolt ingress annotations |\n| ingress.enabled | bool | `false` | Enable passbolt ingress |\n| ingress.hosts | list | `[]` | Configure passbolt ingress hosts |\n| ingress.tls | list | `[]` | Configure passbolt ingress tls |\n| jobCreateGpgKeys.extraPodLabels | object | `{}` |  |\n| jobCreateJwtKeys.extraPodLabels | object | `{}` |  |\n| jwtCreateKeysForced | bool | `false` | Forces overwrite JWT keys |\n| jwtExistingSecret | string | `\"\"` | Name of the existing secret for the JWT server keypair. The secret must contain the `jwt.key` and `jwt.pem` keys. |\n| jwtPath | string | `\"/etc/passbolt/jwt\"` | Configure passbolt jwt directory |\n| jwtServerPrivate | string | `\"\"` | JWT server private key in base64 |\n| jwtServerPublic | string | `\"\"` | JWT server public key in base64 |\n| livenessProbe | object | `{\"initialDelaySeconds\":20,\"periodSeconds\":10}` | Configure passbolt container livenessProbe |\n| mariadb.architecture | string | `\"replication\"` | Configure mariadb architecture |\n| mariadb.auth.database | string | `\"passbolt\"` | Configure mariadb auth database |\n| mariadb.auth.password | string | `\"CHANGEME\"` | Configure mariadb auth password |\n| mariadb.auth.replicationPassword | string | `\"CHANGEME\"` | Configure mariadb auth replicationPassword |\n| mariadb.auth.rootPassword | string | `\"root\"` | Configure mariadb auth root password |\n| mariadb.auth.username | string | `\"CHANGEME\"` | Configure mariadb auth username |\n| mariadb.primary | object | `{\"persistence\":{\"accessModes\":[\"ReadWriteOnce\"],\"annotations\":{},\"enabled\":true,\"existingClaim\":\"\",\"labels\":{},\"selector\":{},\"size\":\"8Gi\",\"storageClass\":\"\",\"subPath\":\"\"}}` | Configure parameters for the primary instance. |\n| mariadb.primary.persistence | object | `{\"accessModes\":[\"ReadWriteOnce\"],\"annotations\":{},\"enabled\":true,\"existingClaim\":\"\",\"labels\":{},\"selector\":{},\"size\":\"8Gi\",\"storageClass\":\"\",\"subPath\":\"\"}` | Configure persistence options. |\n| mariadb.primary.persistence.accessModes | list | `[\"ReadWriteOnce\"]` | Primary persistent volume access Modes |\n| mariadb.primary.persistence.annotations | object | `{}` | Primary persistent volume claim annotations |\n| mariadb.primary.persistence.enabled | bool | `true` | Enable persistence on MariaDB primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir |\n| mariadb.primary.persistence.existingClaim | string | `\"\"` | Name of an existing `PersistentVolumeClaim` for MariaDB primary replicas. When it's set the rest of persistence parameters are ignored. |\n| mariadb.primary.persistence.labels | object | `{}` | Labels for the PVC |\n| mariadb.primary.persistence.selector | object | `{}` | Selector to match an existing Persistent Volume |\n| mariadb.primary.persistence.size | string | `\"8Gi\"` | Primary persistent volume size |\n| mariadb.primary.persistence.storageClass | string | `\"\"` | Primary persistent volume storage Class |\n| mariadb.primary.persistence.subPath | string | `\"\"` | Subdirectory of the volume to mount at |\n| mariadb.secondary | object | `{\"persistence\":{\"accessModes\":[\"ReadWriteOnce\"],\"annotations\":{},\"enabled\":true,\"labels\":{},\"selector\":{},\"size\":\"8Gi\",\"storageClass\":\"\",\"subPath\":\"\"}}` | Configure parameters for the secondary instance. |\n| mariadb.secondary.persistence | object | `{\"accessModes\":[\"ReadWriteOnce\"],\"annotations\":{},\"enabled\":true,\"labels\":{},\"selector\":{},\"size\":\"8Gi\",\"storageClass\":\"\",\"subPath\":\"\"}` | Configure persistence options. |\n| mariadb.secondary.persistence.accessModes | list | `[\"ReadWriteOnce\"]` | Secondary persistent volume access Modes |\n| mariadb.secondary.persistence.annotations | object | `{}` | Secondary persistent volume claim annotations |\n| mariadb.secondary.persistence.enabled | bool | `true` | Enable persistence on MariaDB secondary replicas using a `PersistentVolumeClaim`. If false, use emptyDir |\n| mariadb.secondary.persistence.labels | object | `{}` | Labels for the PVC |\n| mariadb.secondary.persistence.selector | object | `{}` | Selector to match an existing Persistent Volume |\n| mariadb.secondary.persistence.size | string | `\"8Gi\"` | Secondary persistent volume size |\n| mariadb.secondary.persistence.storageClass | string | `\"\"` | Secondary persistent volume storage Class |\n| mariadb.secondary.persistence.subPath | string | `\"\"` | Subdirectory of the volume to mount at |\n| mariadbDependencyEnabled | bool | `true` | Install mariadb as a depending chart |\n| nameOverride | string | `\"\"` | Value to override the chart name on default |\n| networkPolicy.enabled | bool | `false` | Enable network policies to allow ingress access passbolt pods |\n| networkPolicy.label | string | `\"app.kubernetes.io/name\"` | Configure network policies label for ingress deployment |\n| networkPolicy.namespaceLabel | string | `\"ingress-nginx\"` | Configure network policies namespaceLabel for namespaceSelector |\n| networkPolicy.podLabel | string | `\"ingress-nginx\"` | Configure network policies podLabel for podSelector |\n| nodeSelector | object | `{}` | Configure passbolt deployment nodeSelector |\n| passboltEnv.configMapName | string | `\"\"` |  |\n| passboltEnv.extraEnv | list | `[]` | Environment variables to add to the passbolt pods |\n| passboltEnv.extraEnvFrom | list | `[]` | Environment variables from secrets or configmaps to add to the passbolt pods |\n| passboltEnv.plain.APP_FULL_BASE_URL | string | `\"https://passbolt.local\"` | Configure passbolt fullBaseUrl |\n| passboltEnv.plain.CACHE_CAKE_DEFAULT_SERVER | string | `\"127.0.0.1\"` | Configure passbolt cake cache server |\n| passboltEnv.plain.DEBUG | bool | `false` | Toggle passbolt debug mode |\n| passboltEnv.plain.EMAIL_DEFAULT_FROM | string | `\"no-reply@passbolt.local\"` | Configure passbolt default email from |\n| passboltEnv.plain.EMAIL_DEFAULT_FROM_NAME | string | `\"Passbolt\"` | Configure passbolt default email from name |\n| passboltEnv.plain.EMAIL_TRANSPORT_DEFAULT_HOST | string | `\"127.0.0.1\"` | Configure passbolt default email host |\n| passboltEnv.plain.EMAIL_TRANSPORT_DEFAULT_PORT | int | `587` | Configure passbolt default email service port |\n| passboltEnv.plain.EMAIL_TRANSPORT_DEFAULT_TIMEOUT | int | `30` | Configure passbolt default email timeout |\n| passboltEnv.plain.EMAIL_TRANSPORT_DEFAULT_TLS | bool | `true` | Toggle passbolt tls |\n| passboltEnv.plain.KUBECTL_DOWNLOAD_CMD | string | `\"\"` | Download Command for kubectl |\n| passboltEnv.plain.PASSBOLT_JWT_SERVER_KEY | string | `\"/var/www/passbolt/config/jwt/jwt.key\"` | Configure passbolt jwt private key path |\n| passboltEnv.plain.PASSBOLT_JWT_SERVER_PEM | string | `\"/var/www/passbolt/config/jwt/jwt.pem\"` | Configure passbolt jwt public key path |\n| passboltEnv.plain.PASSBOLT_KEY_EMAIL | string | `\"passbolt@yourdomain.com\"` | Configure email used on gpg key. This is used when automatically creating a new gpg server key and when automatically calculating the fingerprint. |\n| passboltEnv.plain.PASSBOLT_LEGAL_PRIVACYPOLICYURL | string | `\"https://www.passbolt.com/privacy\"` | Configure passbolt privacy url |\n| passboltEnv.plain.PASSBOLT_PLUGINS_JWT_AUTHENTICATION_ENABLED | bool | `true` | Toggle passbolt jwt authentication |\n| passboltEnv.plain.PASSBOLT_PLUGINS_LICENSE_LICENSE | string | `\"/etc/passbolt/subscription_key.txt\"` | Configure passbolt license path |\n| passboltEnv.plain.PASSBOLT_REGISTRATION_PUBLIC | bool | `true` | Toggle passbolt public registration |\n| passboltEnv.plain.PASSBOLT_SELENIUM_ACTIVE | bool | `false` | Toggle passbolt selenium mode |\n| passboltEnv.plain.PASSBOLT_SSL_FORCE | bool | `true` | Configure passbolt to force ssl |\n| passboltEnv.secret.CACHE_CAKE_DEFAULT_PASSWORD | string | `\"CHANGEME\"` | Configure passbolt cake cache password |\n| passboltEnv.secret.DATASOURCES_DEFAULT_DATABASE | string | `\"passbolt\"` | Configure passbolt default database |\n| passboltEnv.secret.DATASOURCES_DEFAULT_PASSWORD | string | `\"CHANGEME\"` | Configure passbolt default database password |\n| passboltEnv.secret.DATASOURCES_DEFAULT_USERNAME | string | `\"CHANGEME\"` | Configure passbolt default database username |\n| passboltEnv.secret.EMAIL_TRANSPORT_DEFAULT_PASSWORD | string | `\"CHANGEME\"` | Configure passbolt default email service password |\n| passboltEnv.secret.EMAIL_TRANSPORT_DEFAULT_USERNAME | string | `\"CHANGEME\"` | Configure passbolt default email service username |\n| passboltEnv.secretName | string | `\"\"` |  |\n| podAnnotations | object | `{}` | Map of annotation for passbolt server pod |\n| podSecurityContext | object | `{}` | Security Context configuration for passbolt server pod |\n| postgresqlDependencyEnabled | bool | `false` | Install postgresql as a depending chart |\n| rbacEnabled | bool | `true` | Enable role based access control |\n| readinessProbe | object | `{\"initialDelaySeconds\":5,\"periodSeconds\":10}` | Configure passbolt container RadinessProbe |\n| redis.auth.enabled | bool | `true` | Enable redis authentication |\n| redis.auth.password | string | `\"CHANGEME\"` | Configure redis password |\n| redis.sentinel.enabled | bool | `true` | Enable redis sentinel |\n| redisDependencyEnabled | bool | `true` | Install redis as a depending chart |\n| replicaCount | int | `2` | If autoscaling is disabled this will define the number of pods to run |\n| service.annotations | object | `{}` | Annotations to add to the service |\n| service.ports | object | `{\"http\":{\"name\":\"http\",\"port\":80,\"targetPort\":80},\"https\":{\"name\":\"https\",\"port\":443,\"targetPort\":443}}` | Configure the service ports |\n| service.ports.http.name | string | `\"http\"` | Configure passbolt HTTP service port name |\n| service.ports.http.port | int | `80` | Configure passbolt HTTP service port |\n| service.ports.http.targetPort | int | `80` | Configure passbolt HTTP service targetPort |\n| service.ports.https | object | `{\"name\":\"https\",\"port\":443,\"targetPort\":443}` | Configure the HTTPS port |\n| service.ports.https.name | string | `\"https\"` | Configure passbolt HTTPS service port name |\n| service.ports.https.port | int | `443` | Configure passbolt HTTPS service port |\n| service.ports.https.targetPort | int | `443` | Configure passbolt HTTPS service targetPort |\n| service.type | string | `\"ClusterIP\"` | Configure passbolt service type |\n| serviceAccount.annotations | object | `{}` | Annotations to add to the service account |\n| serviceAccount.create | bool | `true` | Specifies whether a service account should be created |\n| tolerations | list | `[]` | Configure passbolt deployment tolerations |\n\n## Running tests\n\nIn order to run the available tests, you can run the `run_tests.sh` script on the root of the project. This script runs both the unit and the integration tests.\n\n```\n$ bash run_tests.sh -h\nRun the available tests for passbolt helm charts\n\nSyntax: run_tests.sh [options]\nrun_tests.sh with no arguments will run all of the available tests.\n\noptions:\n-h|--help                 Show this message.\n-l|--lint                 Run helm lint.\n-u|--unit                 Run helm unittest tests.\n-i|--integration          Run integration tests.\n-d|--database [option]    Database to run integration tests with [mariadb|postgresql].\"\n-no-clean                 Skip cleaning step.\n\n```\n\n### Unit tests\n\nWe rely on [helm unitttest](https://github.com/helm-unittest/helm-unittest) framework, so if you want to run it on your own, follow the installation steps in their [docs](https://github.com/helm-unittest/helm-unittest?tab=readme-ov-file#install).\n\n### Integration tests\n\nThe integration tests code is under the `tests/integration`. There are a list of tools that are required locally to run the integration tests ([kind](https://github.com/kubernetes-sigs/kind), [helm](https://github.com/helm/helm), [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl), [mkcert](https://github.com/FiloSottile/mkcert) and [passbolt go cli](https://github.com/passbolt/go-passbolt-cli))\nand they will be downloaded during the tests execution if they are not installed in the system. Even though, there is a cleaning step that runs at the end of the execution to clean the directory.\n\n## Updating README.md\n\nWe rely on the [helm-docs](https://github.com/norwoodj/helm-docs) helm plugin and [mdformat](https://github.com/executablebooks/mdformat) with [mdformat-tables](https://github.com/executablebooks/mdformat-tables) to generate and format the README.md on each release\n\n```\nhelm-docs -t README.md.gotmpl --dry-run | mdformat - \u003e README.md \n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpassbolt%2Fcharts-passbolt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpassbolt%2Fcharts-passbolt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpassbolt%2Fcharts-passbolt/lists"}