Skip to content

Commit e50f604

Browse files
Add docs for helm sources (#245)
This is somewhat WIP, but can probably merge at least this much for now to get it out there.
1 parent 087a31a commit e50f604

File tree

5 files changed

+62
-2
lines changed

5 files changed

+62
-2
lines changed

pages/deployments/existing-cluster.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ We also strongly recommend you find a secure place to store the generated `value
3737

3838
## Configure Console Upgrades
3939

40-
The Plural Console has the capability of self-managing its own upgrades in BYOK mode. This can be configured in the global settings page for deployments.
40+
The Plural Console has the capability of self-managing its own upgrades in BYOK mode. This can be configured in the global settings page for deployments under `/cd/settings/auto-upgrade`. It will ask you to copy in the values file then if it all looks correct, will create a service against our upstream helm chart with those values as overrides. The ui should look something like this:
4141

42-
You can also self-manage the chart to control your own upgrade cadence. We recommend you use our self-management though to simplify this process and ensure your constantly up-to-date.
42+
![](/assets/deployments/auto-upgrade.png)
43+
44+
You can then go to the service it creates at any time to tweak the values as you might need.
45+
46+
You can also self-manage the chart to control your own upgrade cadence. We recommend you use our self-management though to simplify this process and ensure you are constantly up-to-date.

pages/deployments/helm.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
title: Helm Repository Sources
3+
description: Use Helm repositories in OCI or over HTTP as artifact sources
4+
---
5+
6+
## Overview
7+
8+
There are some use-cases where git is a clunky storage layer for kubernetes manifests, the most common one is when using third party vendored charts from an external helm repository. Plural builds on top of FluxCD's source controller to provide robust support for most of the helm storage formats, including standard HTTP repositories and OCI repos in most major registry providers.
9+
10+
A quick rundown of what you can get by using a helm repository directly:
11+
12+
- no need to manually vendor charts into git
13+
- easier mechanisms to manage multiple versions of the same app created via a helm chart across your fleet
14+
- leveraging OCI scanning capabilities built into your image registry
15+
16+
This model isn't for all usecases as it still has drawbacks (introducing a new packaging mechanism into your deployment architecture), but some users will find it useful.
17+
18+
## Install flux source controller
19+
20+
The first step is to simply install the flux source controller. We already package an add-on for this. You should simply ensure it's installed in your management cluster to be able to get going.
21+
22+
## Create initial helm repositories
23+
24+
We recommend you manage the helm repositories via gitops, yourself. Defining them is a simple matter of crafting a crd in a git repo of your choice, we have an example [here](https://github.com/pluralsh/console/tree/master/test-apps/helm-repositories), and then creating a CD service to sync that folder into your management cluster.
25+
26+
Here's a very simple repository CRD you can use for testing as well:
27+
28+
```yaml
29+
apiVersion: source.toolkit.fluxcd.io/v1beta2
30+
kind: HelmRepository
31+
metadata:
32+
name: podinfo
33+
spec:
34+
interval: 5m0s
35+
url: https://stefanprodan.github.io/podinfo
36+
```
37+
38+
## Create a service from helm
39+
40+
From there you should be able to use the same deploy service flow to create a new service, but select `helm` to toggle from git as the primary source, then chose the repository, chart, and version you want to provision. If you're creating it via the UI, we'll often be able to provide a full dropdown wizard of all this information for you like so:
41+
42+
![](/assets/deployments/helm-service.png)
43+
44+
## Overriding values
45+
46+
You can provide your own values file in the service details UI or via our API directly.
47+
48+
It's worth noting that this can also support templating secrets like a git-sourced helm service as well if you'd like to parameterize your values even more precisely.
49+
50+
## Multi-Source Helm
51+
52+
Occasionally you'll want to source the helm chart itself from an external helm repository, but store the values in git. This is also supported by configuring the service to have both a git and helm source, and using the `helm.valuesFiles` fields on the service to specify which files precisely should be used.
327 KB
Loading
310 KB
Loading

src/NavData.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,10 @@ const rootNavData: NavMenu = deepFreeze([
134134
href: '/deployments/services-deploy',
135135
title: 'Deploy Services',
136136
},
137+
{
138+
href: '/deployments/helm',
139+
title: 'Helm Repository Sources',
140+
},
137141
{
138142
href: '/deployments/global-services',
139143
title: 'Configure Global Services',

0 commit comments

Comments
 (0)