mirror of
https://github.com/bjw-s-labs/helm-charts.git
synced 2025-07-03 08:37:03 +02:00
docs(examples): Add some deployment examples
This commit is contained in:
parent
592e2a35dc
commit
216592df83
10 changed files with 280 additions and 34 deletions
|
@ -45,9 +45,6 @@ theme:
|
||||||
docs_dir: ../../docs
|
docs_dir: ../../docs
|
||||||
site_dir: ../../_site
|
site_dir: ../../_site
|
||||||
|
|
||||||
extra_css:
|
|
||||||
- _static/custom.css
|
|
||||||
|
|
||||||
# Plugins
|
# Plugins
|
||||||
plugins:
|
plugins:
|
||||||
- search
|
- search
|
||||||
|
@ -71,6 +68,10 @@ markdown_extensions:
|
||||||
- footnotes
|
- footnotes
|
||||||
- meta
|
- meta
|
||||||
- md_in_html
|
- md_in_html
|
||||||
|
- pymdownx.highlight
|
||||||
|
- pymdownx.snippets:
|
||||||
|
check_paths: true
|
||||||
|
- pymdownx.superfences
|
||||||
- toc:
|
- toc:
|
||||||
permalink: true
|
permalink: true
|
||||||
|
|
||||||
|
|
|
@ -14,40 +14,14 @@ Be sure to check out the [common library docs](../../common-library/introduction
|
||||||
and its [`values.yaml`](https://github.com/bjw-s/helm-charts/tree/main/charts/library/common/values.yaml) for
|
and its [`values.yaml`](https://github.com/bjw-s/helm-charts/tree/main/charts/library/common/values.yaml) for
|
||||||
more information about the available configuration options.
|
more information about the available configuration options.
|
||||||
|
|
||||||
#### Example
|
#### Examples
|
||||||
|
|
||||||
This is an example `values.yaml` file that would deploy the [echo-server](https://github.com/jmalloc/echo-server)
|
This is an example `values.yaml` file that would deploy the [vaultwarden](https://github.com/dani-garcia/vaultwarden)
|
||||||
application.
|
application. For more deployment examples, check out the [`examples` folder](https://github.com/bjw-s/helm-charts/tree/main/examples/).
|
||||||
|
|
||||||
```yaml
|
|
||||||
image:
|
|
||||||
repository: docker.io/jmalloc/echo-server
|
|
||||||
tag: 0.3.3
|
|
||||||
|
|
||||||
service:
|
``` yaml title="values.yaml"
|
||||||
main:
|
--8<-- "./examples/helm/values.yaml"
|
||||||
ports:
|
|
||||||
http:
|
|
||||||
port: 8080
|
|
||||||
|
|
||||||
ingress:
|
|
||||||
main:
|
|
||||||
enabled: true
|
|
||||||
ingressClassName: "nginx"
|
|
||||||
hosts:
|
|
||||||
- host: &host "echo-server.${INGRESS_DOMAIN}"
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
tls:
|
|
||||||
- hosts:
|
|
||||||
- *host
|
|
||||||
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 15m
|
|
||||||
memory: 64M
|
|
||||||
limits:
|
|
||||||
memory: 128M
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Source code
|
## Source code
|
||||||
|
|
10
examples/flux/README.md
Normal file
10
examples/flux/README.md
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# Deployment example using a Flux HelmRelease
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
Make sure that the [`bjws-helm-charts` HelmRepository](helmrepository.yaml) is added to your cluster.
|
||||||
|
|
||||||
|
### Deployment
|
||||||
|
|
||||||
|
When you add the [HelmRelease](helmrelease.yaml) to your cluster, Flux will automatically render and
|
||||||
|
apply the rendered manifest(s) to your cluster.
|
77
examples/flux/helmrelease.yaml
Normal file
77
examples/flux/helmrelease.yaml
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
---
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: vaultwarden
|
||||||
|
namespace: default
|
||||||
|
spec:
|
||||||
|
interval: 15m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: app-template
|
||||||
|
# -- Version of the app-template helm chart
|
||||||
|
# this example is not automatically updated, so be sure to use the latest chart version
|
||||||
|
version: 0.1.1
|
||||||
|
interval: 15m
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: bjw-s-helm-charts
|
||||||
|
namespace: flux-system
|
||||||
|
|
||||||
|
values:
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: vaultwarden/server
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
# -- image tag
|
||||||
|
# this example is not automatically updated, so be sure to use the latest image
|
||||||
|
tag: 1.25.2
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
|
||||||
|
# -- environment variables.
|
||||||
|
# See [image docs](https://github.com/dani-garcia/vaultwarden/blob/main/.env.template) for more details.
|
||||||
|
env:
|
||||||
|
# -- Config dir
|
||||||
|
DATA_FOLDER: "config"
|
||||||
|
|
||||||
|
# -- Configures service settings for the chart.
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: 80
|
||||||
|
websocket:
|
||||||
|
enabled: true
|
||||||
|
port: 3012
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
# -- Enable and configure ingress settings for the chart under this key.
|
||||||
|
main:
|
||||||
|
enabled: false
|
||||||
|
hosts:
|
||||||
|
- host: chart-example.local
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
service:
|
||||||
|
port: http
|
||||||
|
- path: /notifications/hub/negotiate
|
||||||
|
pathType: Prefix
|
||||||
|
service:
|
||||||
|
port: http
|
||||||
|
- path: /notifications/hub
|
||||||
|
pathType: Prefix
|
||||||
|
service:
|
||||||
|
port: websocket
|
||||||
|
|
||||||
|
# -- Configure persistence settings for the chart under this key.
|
||||||
|
persistence:
|
||||||
|
config:
|
||||||
|
enabled: true
|
||||||
|
type: pvc
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 1Gi
|
||||||
|
mountPath: /config
|
10
examples/flux/helmrepository.yaml
Normal file
10
examples/flux/helmrepository.yaml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
apiVersion: source.toolkit.fluxcd.io/v1beta2
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: bjw-s-helm-charts
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 30m
|
||||||
|
url: https://bjw-s.github.io/helm-charts/
|
||||||
|
timeout: 3m
|
21
examples/helm/README.md
Normal file
21
examples/helm/README.md
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# Deployment example using Kustomize
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
Makre sure the Helm repository is installed as follows:
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm repo add bjw-s https://bjw-s.github.io/helm-charts
|
||||||
|
helm repo update
|
||||||
|
```
|
||||||
|
|
||||||
|
### Deployment
|
||||||
|
|
||||||
|
In order to deploy the manifest for this example, issue the
|
||||||
|
following command:
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install vaultwarden bjw-s/app-template --namespace default --values values.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
This will apply the rendered manifest(s) to your cluster.
|
56
examples/helm/values.yaml
Normal file
56
examples/helm/values.yaml
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: vaultwarden/server
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
# -- image tag
|
||||||
|
# this example is not automatically updated, so be sure to use the latest image
|
||||||
|
tag: 1.25.2
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
|
||||||
|
# -- environment variables.
|
||||||
|
# See [image docs](https://github.com/dani-garcia/vaultwarden/blob/main/.env.template) for more details.
|
||||||
|
env:
|
||||||
|
# -- Config dir
|
||||||
|
DATA_FOLDER: "config"
|
||||||
|
|
||||||
|
# -- Configures service settings for the chart.
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: 80
|
||||||
|
websocket:
|
||||||
|
enabled: true
|
||||||
|
port: 3012
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
# -- Enable and configure ingress settings for the chart under this key.
|
||||||
|
main:
|
||||||
|
enabled: false
|
||||||
|
hosts:
|
||||||
|
- host: chart-example.local
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
service:
|
||||||
|
port: http
|
||||||
|
- path: /notifications/hub/negotiate
|
||||||
|
pathType: Prefix
|
||||||
|
service:
|
||||||
|
port: http
|
||||||
|
- path: /notifications/hub
|
||||||
|
pathType: Prefix
|
||||||
|
service:
|
||||||
|
port: websocket
|
||||||
|
|
||||||
|
# -- Configure persistence settings for the chart under this key.
|
||||||
|
persistence:
|
||||||
|
config:
|
||||||
|
enabled: true
|
||||||
|
type: pvc
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 1Gi
|
||||||
|
mountPath: /config
|
25
examples/kustomize/README.md
Normal file
25
examples/kustomize/README.md
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
# Deployment example using Kustomize
|
||||||
|
|
||||||
|
### Deployment
|
||||||
|
|
||||||
|
#### Build
|
||||||
|
|
||||||
|
In order to view the resulting manifest for this example through Kustomize, issue
|
||||||
|
the following command:
|
||||||
|
|
||||||
|
```console
|
||||||
|
kubectl kustomize --enable-helm .
|
||||||
|
```
|
||||||
|
|
||||||
|
This will print the rendered manifest(s) to your console.
|
||||||
|
|
||||||
|
#### Apply
|
||||||
|
|
||||||
|
In order to deploy the manifest for this example through Kustomize, issue the
|
||||||
|
following command:
|
||||||
|
|
||||||
|
```console
|
||||||
|
kubectl kustomize --enable-helm . | kubectl apply -f -
|
||||||
|
```
|
||||||
|
|
||||||
|
This will apply the rendered manifest(s) to your cluster.
|
16
examples/kustomize/kustomization.yaml
Normal file
16
examples/kustomize/kustomization.yaml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
helmCharts:
|
||||||
|
- name: app-template
|
||||||
|
repo: https://bjw-s.github.io/helm-charts/
|
||||||
|
# this example is not automatically updated, so be sure to use the latest chart version
|
||||||
|
version: 0.1.1
|
||||||
|
releaseName: &releaseName vaultwarden
|
||||||
|
namespace: &releaseNamespace default
|
||||||
|
valuesFile: values.yaml
|
||||||
|
commonAnnotations:
|
||||||
|
meta.helm.sh/release-name: *releaseName
|
||||||
|
meta.helm.sh/release-namespace: *releaseNamespace
|
||||||
|
commonLabels:
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
56
examples/kustomize/values.yaml
Normal file
56
examples/kustomize/values.yaml
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: vaultwarden/server
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
# -- image tag
|
||||||
|
# this example is not automatically updated, so be sure to use the latest image
|
||||||
|
tag: 1.25.2
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
|
||||||
|
# -- environment variables.
|
||||||
|
# See [image docs](https://github.com/dani-garcia/vaultwarden/blob/main/.env.template) for more details.
|
||||||
|
env:
|
||||||
|
# -- Config dir
|
||||||
|
DATA_FOLDER: "config"
|
||||||
|
|
||||||
|
# -- Configures service settings for the chart.
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: 80
|
||||||
|
websocket:
|
||||||
|
enabled: true
|
||||||
|
port: 3012
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
# -- Enable and configure ingress settings for the chart under this key.
|
||||||
|
main:
|
||||||
|
enabled: false
|
||||||
|
hosts:
|
||||||
|
- host: chart-example.local
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
service:
|
||||||
|
port: http
|
||||||
|
- path: /notifications/hub/negotiate
|
||||||
|
pathType: Prefix
|
||||||
|
service:
|
||||||
|
port: http
|
||||||
|
- path: /notifications/hub
|
||||||
|
pathType: Prefix
|
||||||
|
service:
|
||||||
|
port: websocket
|
||||||
|
|
||||||
|
# -- Configure persistence settings for the chart under this key.
|
||||||
|
persistence:
|
||||||
|
config:
|
||||||
|
enabled: true
|
||||||
|
type: pvc
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 1Gi
|
||||||
|
mountPath: /config
|
Loading…
Add table
Add a link
Reference in a new issue