diff --git a/.github/workflows/helm-chart-release.yaml b/.github/workflows/helm-chart-release.yaml
deleted file mode 100644
index e3a3e32bc8..0000000000
--- a/.github/workflows/helm-chart-release.yaml
+++ /dev/null
@@ -1,33 +0,0 @@
-name: Release Charts
-
-on: [workflow_dispatch]
-
-jobs:
- release:
- # depending on default permission settings for your org (contents being read-only or read-write for workloads), you will have to add permissions
- # see: https://docs.github.com/en/actions/security-guides/automatic-token-authentication#modifying-the-permissions-for-the-github_token
- permissions:
- contents: write
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v2
- with:
- fetch-depth: 0
-
- - name: Configure Git
- run: |
- git config user.name "$GITHUB_ACTOR"
- git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
-
- - name: Install Helm
- uses: azure/setup-helm@v3
- with:
- version: v3.10.0
-
- - name: Run chart-releaser
- uses: helm/chart-releaser-action@v1.4.1
- with:
- charts_dir: helm-charts
- env:
- CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
diff --git a/.github/workflows/helm_chart_release.yml b/.github/workflows/helm_chart_release.yml
new file mode 100644
index 0000000000..8f47da69d0
--- /dev/null
+++ b/.github/workflows/helm_chart_release.yml
@@ -0,0 +1,22 @@
+name: Release Helm Charts
+
+on: [workflow_dispatch]
+
+jobs:
+ release:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Install Helm
+ uses: azure/setup-helm@v3
+ with:
+ version: v3.10.0
+ - name: Install python
+ uses: actions/setup-python@v4
+ - name: Install Cloudsmith CLI
+ run: pip install --upgrade cloudsmith-cli
+ - name: Build and push helm package to Cloudsmith
+ run: cd helm-charts && sh upload-to-cloudsmith.sh
+ env:
+ CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
\ No newline at end of file
diff --git a/.github/workflows/release_build.yml b/.github/workflows/release_build.yml
index aea82a9d2b..695b0ea240 100644
--- a/.github/workflows/release_build.yml
+++ b/.github/workflows/release_build.yml
@@ -1,4 +1,4 @@
-name: goreleaser
+name: Go releaser
on:
push:
diff --git a/docs/mint.json b/docs/mint.json
index 4ff49b5b98..1d52466808 100644
--- a/docs/mint.json
+++ b/docs/mint.json
@@ -102,8 +102,11 @@
"pages": [
"self-hosting/overview",
{
- "group": "Deployments",
- "pages": ["self-hosting/deployments/linux"]
+ "group": "Deployments options",
+ "pages": [
+ "self-hosting/deployments/linux",
+ "self-hosting/deployments/kubernetes"
+ ]
},
{
"group": "Configuration",
diff --git a/docs/self-hosting/deployments/kubernetes.mdx b/docs/self-hosting/deployments/kubernetes.mdx
new file mode 100644
index 0000000000..8ed2c0e056
--- /dev/null
+++ b/docs/self-hosting/deployments/kubernetes.mdx
@@ -0,0 +1,54 @@
+---
+title: "Kubernetes"
+description: "Deploy with Kubernetes"
+---
+
+
+Self-host vs. Infisical Cloud
+
+Self-hosting Infisical means managing the service yourself, taking care of upgrades, scaling, security, etc.
+
+If you're less technical and looking for a hands-free experience with minimal overhead then we recommend Infisical Cloud.
+
+
+
+**Prerequisites**
+- You have understanding of [Kubernetes](https://kubernetes.io/)
+- You have understanding of [Helm package manager](https://helm.sh/)
+- You have [kubectl](https://kubernetes.io/docs/reference/kubectl/kubectl/) installed and connected to your kubernetes cluster
+
+
+#### 1. Fill our environment variables
+
+Before you can deploy the Helm chart, you must fill out the required environment variables. To do so, please either download or copy the
+contents of [this file](https://raw.githubusercontent.com/Infisical/infisical/main/helm-charts/infisical/values.yaml) to a `.yaml` file.
+_Refer to the available [environment variables](../../self-hosting/configuration/envars)_
+
+Once you have a local copy of the values file, fill our the required environment variables and save the file.
+
+
+#### 2. Install Infisical Helm repository
+
+```bash
+helm repo add infisical-helm-charts 'https://dl.cloudsmith.io/public/infisical/helm-charts/helm/charts/'
+
+helm repo update
+```
+
+#### 3. Install the Helm chart
+
+By default, the helm chart will be installed on your default namespace. If you wish to install the Chart on a different namespace, you may specify
+that by adding the `--namespace ` to your `helm install` command.
+
+```bash
+## Installs to default namespace
+helm install infisical-helm-charts/infisical --values
+```
+
+
+If you have not filled out all of the required environment variables, you will see an error message prompting you to
+do so.
+
+
+4. Your Infisical installation is complete and should be running on the host name you specified in Ingress in `values.yaml`.
+Note: Please allow an additional time (2 minutes) for the frontend pods to be fully ready.
\ No newline at end of file
diff --git a/docs/self-hosting/overview.mdx b/docs/self-hosting/overview.mdx
index 8f2df5c378..b0729637cb 100644
--- a/docs/self-hosting/overview.mdx
+++ b/docs/self-hosting/overview.mdx
@@ -9,17 +9,22 @@ Self-hosting Infisical means managing the service yourself, taking care of upgra
If you're less technical and looking for a hands-free experience with minimal overhead then we recommend Infisical Cloud.
-Infisical Cloud also comes with some extra features unavailabe in the self-hosted edition. You can find more information about Infisical Cloud's offering on the pricing page.
+Infisical Cloud also comes with some extra features unavailable in the self-hosted edition. You can find more information about Infisical Cloud's offering on the pricing page.
## Deployment options
-Infisical can be deployed on a Linux VM with docker-compose. We're rolling out more specific deployment options for DigitalOcean, AWS, GCP, and Azure soon.
+Infisical can be deployed on a Linux VM with docker-compose and Kubernetes. We're rolling out more specific deployment options for DigitalOcean, AWS, GCP, and Azure soon.
-Options:
-
-- [Linux VM](/self-hosting/deployments/linux)
+
+
+ Deploy to any Linux with Docker
+
+
+ Deploy to your Kubernetes cluster
+
+
## Telemetry
diff --git a/helm-charts/README.md b/helm-charts/README.md
index ffcef1a657..0974640287 100644
--- a/helm-charts/README.md
+++ b/helm-charts/README.md
@@ -1,22 +1,16 @@
-## Usage
-
-[Helm](https://helm.sh) must be installed to use the charts. Please refer to
-Helm's [documentation](https://helm.sh/docs) to get started.
-
-Once Helm has been set up correctly, add the repo as follows:
+### helm repository Setup
+Assuming you have helm already installed, it is straight-forward to add a Cloudsmith-based chart repository:
```
- helm repo add https://infisical.github.io/helm-charts
+helm repo add infisical-helm-charts 'https://dl.cloudsmith.io/public/infisical/helm-charts/helm/charts/'
+
+helm repo update
```
-If you had already added this repo earlier, run `helm repo update` to retrieve
-the latest versions of the packages. You can then run `helm search repo
-` to see the charts.
-
-To install the chart:
-
- helm install my- /
-
-To uninstall the chart:
+### Installing a Helm Chart
+```
+helm install infisical-helm-charts/
+```
- helm delete my-
+#### Available chart names
+- infisical
diff --git a/helm-charts/infisical/templates/backend-deployment.yaml b/helm-charts/infisical/templates/backend-deployment.yaml
index ca45c528b8..9bc72eaf53 100644
--- a/helm-charts/infisical/templates/backend-deployment.yaml
+++ b/helm-charts/infisical/templates/backend-deployment.yaml
@@ -4,7 +4,6 @@ metadata:
name: {{ .Release.Name }}-backend-deployment
labels:
app: backend
- namespace: {{ .Values.namespace }}
spec:
replicas: {{ .Values.backend.replicaCount }}
selector:
@@ -35,7 +34,6 @@ apiVersion: v1
kind: Service
metadata:
name: infisical-backend-service
- namespace: {{ .Values.namespace }}
spec:
selector:
app: backend
diff --git a/helm-charts/infisical/templates/frontend-deployment.yaml b/helm-charts/infisical/templates/frontend-deployment.yaml
index f19beaa3d4..e0dbdae0db 100644
--- a/helm-charts/infisical/templates/frontend-deployment.yaml
+++ b/helm-charts/infisical/templates/frontend-deployment.yaml
@@ -4,7 +4,6 @@ metadata:
name: {{ .Release.Name }}-frontend-deployment
labels:
app: frontend
- namespace: {{ .Values.namespace }}
spec:
replicas: {{ .Values.frontend.replicaCount }}
selector:
@@ -26,7 +25,6 @@ apiVersion: v1
kind: Service
metadata:
name: infisical-frontend-service
- namespace: {{ .Values.namespace }}
spec:
selector:
app: frontend
diff --git a/helm-charts/infisical/templates/ingress.yaml b/helm-charts/infisical/templates/ingress.yaml
index e8b0febb39..a987627f4b 100644
--- a/helm-charts/infisical/templates/ingress.yaml
+++ b/helm-charts/infisical/templates/ingress.yaml
@@ -3,7 +3,6 @@ apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: infisical-ingress
- namespace: {{ .Values.namespace }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
diff --git a/helm-charts/infisical/templates/mongodb-deployment.yaml b/helm-charts/infisical/templates/mongodb-deployment.yaml
index 02d380b1e2..90b755ad3e 100644
--- a/helm-charts/infisical/templates/mongodb-deployment.yaml
+++ b/helm-charts/infisical/templates/mongodb-deployment.yaml
@@ -2,7 +2,6 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: mongodb-deployment
- namespace: {{ .Values.namespace }}
labels:
app: mongodb
spec:
@@ -30,7 +29,6 @@ apiVersion: v1
kind: Service
metadata:
name: mongodb-service
- namespace: {{ .Values.namespace }}
spec:
selector:
app: mongodb
diff --git a/helm-charts/infisical/templates/namespace.yaml b/helm-charts/infisical/templates/namespace.yaml
deleted file mode 100644
index 3f9c2c1ada..0000000000
--- a/helm-charts/infisical/templates/namespace.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-apiVersion: v1
-kind: Namespace
-metadata:
- name: infisical
\ No newline at end of file
diff --git a/helm-charts/upload-to-cloudsmith.sh b/helm-charts/upload-to-cloudsmith.sh
new file mode 100644
index 0000000000..218c11149a
--- /dev/null
+++ b/helm-charts/upload-to-cloudsmith.sh
@@ -0,0 +1,10 @@
+## Loop through each helm chart directoy and build each into helm package
+for d in */ ; do
+ helm package $d
+done
+
+## Upload each packaged helm chart
+for i in *.tgz; do
+ [ -f "$i" ] || break
+ cloudsmith push helm --republish infisical/helm-charts $i
+done
\ No newline at end of file