diff --git a/helm-charts/README.md b/helm-charts/README.md index 01675d0b29..1bb587a2a3 100644 --- a/helm-charts/README.md +++ b/helm-charts/README.md @@ -2,26 +2,29 @@ Welcome to Infisical Helm Charts repository! Find instructions below to setup and install our charts. +## Installation + ```sh # Add the Infisical repository helm repo add infisical 'https://dl.cloudsmith.io/public/infisical/helm-charts/helm/charts/' && helm repo update -# Install Infisical +# Install Infisical (default values) helm upgrade --install --atomic \ - -n infisical-dev --create-namespace \ + -n infisical --create-namespace \ infisical infisical/infisical -# Install Infisical Secrets Operator +# Install Infisical Secrets Operator (default values) helm upgrade --install --atomic \ - -n infisical-dev --create-namespace \ + -n infisical --create-namespace \ infisical-secrets-operator infisical/secrets-operator ``` ## Charts Here's the link to our charts corresponding documentation : -- **`[infisical](./infisical/README.md)`** -- **`secrets-operator`** + +- [**`infisical`**](./infisical/README.md) +- [**`secrets-operator`**](./secrets-operator/README.md) ## Documentation @@ -30,7 +33,7 @@ We're trying to follow a documentation convention across our charts, allowing us Steps to update the documentation : 1. `cd helm-charts/` 1. `git clone https://github.com/bitnami-labs/readme-generator-for-helm` -2. `npm install ./readme-generator-for-helm` -3. `npm exec readme-generator -- --readme README.md --values values.yaml` +1. `npm install ./readme-generator-for-helm` +1. `npm exec readme-generator -- --readme README.md --values values.yaml` - It'll insert the table below the `## Parameters` title - It'll output errors if some of the path aren't documented \ No newline at end of file diff --git a/helm-charts/infisical/README.md b/helm-charts/infisical/README.md index 6965b818a3..4e20bbc868 100644 --- a/helm-charts/infisical/README.md +++ b/helm-charts/infisical/README.md @@ -1,6 +1,40 @@ -# Infisical - Helm Chart +# Infisical Helm Chart -This is the Infisical application Helm chart. +This is the Infisical application Helm chart. This chart includes the following : + +| Service | Description | +| ---------- | ----------------------------------- | +| `frontend` | Infisical's Web UI | +| `backend` | Infisical's API | +| `mongodb` | Infisical's local database | +| `mailhog` | Infisical's development SMTP server | + +## Installation + +To install the chart, run the following : + +```sh +# Add the Infisical repository +helm repo add infisical 'https://dl.cloudsmith.io/public/infisical/helm-charts/helm/charts/' && helm repo update + +# Install Infisical (with default values) +helm upgrade --install --atomic \ + -n infisical-dev --create-namespace \ + infisical infisical/infisical + +# Install Infisical (with custom inline values, replace with your own values) +helm upgrade --install --atomic \ + -n infisical-dev --create-namespace \ + --set mongodb.enabled=false \ + --set mongodbConnection.externalMongoDBConnectionString="mongodb://:@:/" \ + infisical infisical/infisical + +# Install Infisical (with custom values file, replace with your own values file) +helm upgrade --install --atomic \ + -n infisical-dev --create-namespace \ + -f custom-values.yaml \ + infisical infisical/infisical +``` ## Parameters @@ -118,6 +152,7 @@ This is the Infisical application Helm chart. | `mailhog.ingress.labels` | Ingress labels | `{}` | | `mailhog.ingress.hosts[0].host` | Mailhog host | `mailhog.infisical.local` | +Learn more in our [docs](https://infisical.com/docs/self-hosting/deployments/kubernetes) ## Persistence @@ -125,13 +160,36 @@ The database persistence is enabled by default, your volumes will remain on your ## Local development -Use below values if you want to setup a local development environment, and adapt those variables as you need. Below example will deploy the following : -- https://infisical.local +Find the resources and configuration about how to setup your local develoment environment on a k8s environment. + +### Requirements + +To create a local k8s environment, you'll need : + +- [`helm`](https://helm.sh/docs/intro/install/) required + - to generate the manifests and deploy the chart +- local/remote k8s cluster required + - e.g. [`kind`](https://kubernetes.io/docs/tasks/tools/), [`minikube`](https://kubernetes.io/docs/tasks/tools/) or an online provider +- [`kubectl`](https://kubernetes.io/docs/tasks/tools/) optional + - to interact with the cluster + +### Examples + +ℹ️ Find complete setup scripts in [**./examples**](./examples) + +Below example will deploy the following : + +- [**infisical.local**](https://infisical.local) - Your local Infisical instance - You may have to add `infisical.local` to your `/etc/hosts` or similar depending your OS -- https://mailhog.infisical.local + - The corresponding IP will depend on the tool or the way you're exposing the services ([learn more](https://minikube.sigs.k8s.io/docs/handbook/host-access/)) + +- [**mailhog.infisical.local**](https://mailhog.infisical.local) - Local SMTP server used to receive the signup verification code - You may have to add `mailhog.infisical.local` to your `/etc/hosts` or similar depending your OS + - The corresponding IP will depend on the tool or the way you're exposing the services ([learn more](https://minikube.sigs.k8s.io/docs/handbook/host-access/)) + +Use below values to setup a local development environment, adapt those variables as you need ```yaml # values.dev.yaml @@ -146,7 +204,7 @@ mongodb: mailhog: enabled: true -# Configure backend development variables +# Configure backend development variables (required) backendEnvironmentVariables: ENCRYPTION_KEY: 6c1fe4e407b8911c104518103505b218 JWT_AUTH_SECRET: 4be6ba5602e0fa0ac6ac05c3cd4d247f @@ -162,7 +220,7 @@ backendEnvironmentVariables: SMTP_SECURE: false SMTP_USERNAME: dev@infisical.local -# Configure frontend development variables +# Configure frontend development variables (required) frontendEnvironmentVariables: SITE_URL: https://infisical.local ``` diff --git a/helm-charts/secrets-operator/README.md b/helm-charts/secrets-operator/README.md new file mode 100644 index 0000000000..688670608a --- /dev/null +++ b/helm-charts/secrets-operator/README.md @@ -0,0 +1,99 @@ +# Infisical Helm Chart + +This is the Infisical Secrets Operator Helm chart. Find the integration documentation [here](https://infisical.com/docs/integrations/platforms/kubernetes) + +## Installation + +To install the chart, run the following : + +```sh +# Add the Infisical repository +helm repo add infisical 'https://dl.cloudsmith.io/public/infisical/helm-charts/helm/charts/' && helm repo update + +# Install Infisical Secrets Operator (with default values) +helm upgrade --install --atomic \ + -n infisical-dev --create-namespace \ + infisical-secrets-operator infisical/secrets-operator + +# Install Infisical Secrets Operator (with custom inline values, replace with your own values) +helm upgrade --install --atomic \ + -n infisical-dev --create-namespace \ + --set controllerManager.replicas=3 \ + infisical-secrets-operator infisical/secrets-operator + +# Install Infisical Secrets Operator (with custom values file, replace with your own values file) +helm upgrade --install --atomic \ + -n infisical-dev --create-namespace \ + -f custom-values.yaml \ + infisical-secrets-operator infisical/secrets-operator +``` + +## Synchronization + +To sync your secrets from Infisical (or from your own instance), create the below resources : + +```sh +# Create the tokenSecretReference (replace with your own token) +kubectl create secret generic infisical-example-service-token \ + --from-literal=infisicalToken="" + +# Create the InfisicalSecret +cat <