Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
vmatsiiako committed Dec 6, 2022
2 parents df1ade4 + c5a422f commit 1e16a18
Show file tree
Hide file tree
Showing 13 changed files with 119 additions and 20 deletions.
22 changes: 22 additions & 0 deletions .github/workflows/helm_chart_release.yml
Original file line number Diff line number Diff line change
@@ -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 }}
2 changes: 1 addition & 1 deletion .github/workflows/release_build.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: goreleaser
name: Go releaser

on:
push:
Expand Down
2 changes: 1 addition & 1 deletion cli/packages/cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ var rootCmd = &cobra.Command{
Short: "Infisical CLI is used to inject environment variables into any process",
Long: `Infisical is a simple, end-to-end encrypted service that enables teams to sync and manage their environment variables across their development life cycle.`,
CompletionOptions: cobra.CompletionOptions{DisableDefaultCmd: true},
Version: "0.1.5",
Version: "0.1.6",
}

// Execute adds all child commands to the root command and sets flags appropriately.
Expand Down
7 changes: 5 additions & 2 deletions docs/mint.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
54 changes: 54 additions & 0 deletions docs/self-hosting/deployments/kubernetes.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
title: "Kubernetes"
description: "Deploy with Kubernetes"
---

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

</Info>

**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 <namespace-to-install-to>` to your `helm install` command.

```bash
## Installs to default namespace
helm install infisical-helm-charts/infisical --values <path to the values.yaml you downloaded/created in step 2>
```

<Note>
If you have not filled out all of the required environment variables, you will see an error message prompting you to
do so.
</Note>

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.
15 changes: 10 additions & 5 deletions docs/self-hosting/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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.

</Info>

## 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)
<CardGroup cols={2}>
<Card title="Any Linux" icon="square-1" color="#ea5a0c" href="/self-hosting/deployments/linux">
Deploy to any Linux with Docker
</Card>
<Card title="Kubernetes" icon="square-2" color="#0285c7" href="/self-hosting/deployments/kubernetes">
Deploy to your Kubernetes cluster
</Card>
</CardGroup>

## Telemetry

Expand Down
16 changes: 16 additions & 0 deletions helm-charts/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
### helm repository Setup
Assuming you have helm already installed, it is straight-forward to add a Cloudsmith-based chart repository:

```
helm repo add infisical-helm-charts 'https://dl.cloudsmith.io/public/infisical/helm-charts/helm/charts/'
helm repo update
```

### Installing a Helm Chart
```
helm install infisical-helm-charts/<name-of-helm-chart>
```

#### Available chart names
- infisical
2 changes: 0 additions & 2 deletions helm-charts/infisical/templates/backend-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ metadata:
name: {{ .Release.Name }}-backend-deployment
labels:
app: backend
namespace: {{ .Values.namespace }}
spec:
replicas: {{ .Values.backend.replicaCount }}
selector:
Expand Down Expand Up @@ -35,7 +34,6 @@ apiVersion: v1
kind: Service
metadata:
name: infisical-backend-service
namespace: {{ .Values.namespace }}
spec:
selector:
app: backend
Expand Down
2 changes: 0 additions & 2 deletions helm-charts/infisical/templates/frontend-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ metadata:
name: {{ .Release.Name }}-frontend-deployment
labels:
app: frontend
namespace: {{ .Values.namespace }}
spec:
replicas: {{ .Values.frontend.replicaCount }}
selector:
Expand All @@ -26,7 +25,6 @@ apiVersion: v1
kind: Service
metadata:
name: infisical-frontend-service
namespace: {{ .Values.namespace }}
spec:
selector:
app: frontend
Expand Down
1 change: 0 additions & 1 deletion helm-charts/infisical/templates/ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Expand Down
2 changes: 0 additions & 2 deletions helm-charts/infisical/templates/mongodb-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: mongodb-deployment
namespace: {{ .Values.namespace }}
labels:
app: mongodb
spec:
Expand Down Expand Up @@ -30,7 +29,6 @@ apiVersion: v1
kind: Service
metadata:
name: mongodb-service
namespace: {{ .Values.namespace }}
spec:
selector:
app: mongodb
Expand Down
4 changes: 0 additions & 4 deletions helm-charts/infisical/templates/namespace.yaml

This file was deleted.

10 changes: 10 additions & 0 deletions helm-charts/upload-to-cloudsmith.sh
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 1e16a18

Please sign in to comment.