Compare commits

...

7 Commits

Author SHA1 Message Date
renovate[bot]
30fd19148f chore(deps): update helm chart common to v2.5.0 (#913)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-15 19:42:42 -04:00
Angel Nunez Mencias
6b2491898a add Multus (#912)
Co-authored-by: angelnu <git@angelnucom>
2021-05-15 18:18:49 -04:00
Angel Nunez Mencias
db04081491 Update container (#911) 2021-05-13 14:03:16 -04:00
Chris Sanders
03fe978070 [gollum] New Chart (#889)
* Added chart for gollum

Signed-off-by: Chris Sanders <sanders.chris@gmail.com>
2021-05-12 09:05:37 +02:00
allcontributors[bot]
41f2093c87 docs: add unasuke as a contributor (#910)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2021-05-11 10:54:44 -04:00
Yusuke Nakamura
2cde36472e [oauth2-proxy] Update oauth2-proxy website urls (#905)
* [oauth2-proxy] Update oauth2-proxy website urls

oauth2-proxy was moved under the oauth2-proxy organization.

Signed-off-by: Yusuke Nakamura <yusuke1994525@gmail.com>

* [oauth2-proxy] Update changelog

Run ./hack/gen-helm-docs.sh stable oauth2-proxy
2021-05-11 10:53:01 -04:00
allcontributors[bot]
c6e87d10b5 docs: add beshkenadze as a contributor (#909)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2021-05-11 15:09:20 +02:00
38 changed files with 1097 additions and 15 deletions

View File

@@ -220,6 +220,24 @@
"contributions": [
"code"
]
},
{
"login": "beshkenadze",
"name": "Aleksandr Beshkenadze",
"avatar_url": "https://avatars.githubusercontent.com/u/167288?v=4",
"profile": "https://4xxi.com",
"contributions": [
"code"
]
},
{
"login": "unasuke",
"name": "Yusuke Nakamura",
"avatar_url": "https://avatars.githubusercontent.com/u/4487291?v=4",
"profile": "https://unasuke.com",
"contributions": [
"code"
]
}
],
"contributorsPerLine": 7,

View File

@@ -7,6 +7,7 @@ chart-dirs:
excluded-charts:
- charts/stable/alertmanager-bot
- charts/stable/dnsmadeeasy-webhook
- charts/stable/multus
- charts/stable/promcord
- charts/stable/reg
- charts/stable/ser2sock

View File

@@ -1,6 +1,6 @@
# Helm charts
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-24-orange.svg?style=flat-square)](#contributors-)
[![All Contributors](https://img.shields.io/badge/all_contributors-26-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
[![docs](https://img.shields.io/badge/docs-rtfm-yellow?logo=gitbook&logoColor=white&style=for-the-badge)](https://docs.k8s-at-home.com/)
@@ -78,6 +78,8 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<td align="center"><a href="https://blog.waltr.tech"><img src="https://avatars.githubusercontent.com/u/11428125?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ryan Walter</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=rwaltr" title="Code">💻</a></td>
<td align="center"><a href="https://chipwolf.uk"><img src="https://avatars.githubusercontent.com/u/3164166?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Chip Wolf </b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=ChipWolf" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/jr0dd"><img src="https://avatars.githubusercontent.com/u/285797?v=4?s=100" width="100px;" alt=""/><br /><sub><b>jr0dd</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=jr0dd" title="Code">💻</a></td>
<td align="center"><a href="https://4xxi.com"><img src="https://avatars.githubusercontent.com/u/167288?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Aleksandr Beshkenadze</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=beshkenadze" title="Code">💻</a></td>
<td align="center"><a href="https://unasuke.com"><img src="https://avatars.githubusercontent.com/u/4487291?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Yusuke Nakamura</b></sub></a><br /><a href="https://github.com/k8s-at-home/charts/commits?author=unasuke" title="Code">💻</a></td>
</tr>
</table>

View File

@@ -1,8 +1,8 @@
apiVersion: v2
appVersion: 1.0.0
appVersion: 1.1.0
description: Cert-Manager Webhook for DNSMadeEasy
name: dnsmadeeasy-webhook
version: 2.4.0
version: 2.5.0
keywords:
- cert-manager
- dnsmadeeasy

View File

@@ -0,0 +1,21 @@
apiVersion: v2
appVersion: latest
description: Gollum is a simple wiki system built on top of Git
name: gollum
version: 1.0.0
kubeVersion: ">=1.16.0-0"
keywords:
- gollum
- wiki
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/gollum
icon: https://gollum.org/icon
sources:
- https://github.com/gollum/gollum
- https://github.com/gollum/docker
maintainers:
- name: chris-sanders
email: sanders.chris@gmail.com
dependencies:
- name: common
repository: https://library-charts.k8s-at-home.com
version: 2.5.0

View File

@@ -0,0 +1,50 @@
# gollum
![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square)
gollum helm package
**Homepage:** <https://github.com/k8s-at-home/charts/tree/master/charts/stable/gollum>
## Maintainers
| Name | Email | Url |
| ---- | ------ | --- |
| Chris Sanders | sanders.chris@gmail.com | |
## Source Code
* <https://github.com/gollum/gollum>
* <https://github.com/gollum/docker>
## Requirements
Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.k8s-at-home.com | common | 2.5.0 |
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| controllerType | string | `"statefulset"` | |
| gollum.additionalArgs | string | `"--h1-title"` | Additional arguments for starting gollum |
| gollum.config | string | `"# Push and pull on commit\nGollum::Hook.register(:post_commit, :hook_id) do |committer, sha1|\n committer.wiki.repo.git.pull('origin', committer.wiki.ref)\n committer.wiki.repo.git.push('origin', committer.wiki.ref)\nend\n"` | Gollum config.rb customizations reference https://github.com/gollum/gollum#config-file |
| gollum.gitBranch | string | `"master"` | Branch to pull |
| gollum.gitUrl | string | `"https://github.com/k8s-at-home/charts.git"` | Repository URL to pull (accepts access tokens) Ex: https://user:access-token@git.example.com/user/repo.git |
| gollum.syncCommand | string | `"git pull && git push"` | Command run during the sync cron |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"gollumorg/gollum"` | gollum upstream image |
| image.tag | string | `"latest"` | |
| ingress.enabled | bool | `false` | |
| persistence.wiki.accessMode | string | `"ReadWriteOnce"` | |
| persistence.wiki.enabled | bool | `false` | |
| persistence.wiki.mountPath | string | `"/wiki"` | |
| persistence.wiki.size | string | `"2Gi"` | |
| service.port.name | string | `"http"` | |
| service.port.port | int | `80` | |
| service.port.targetPort | int | `4567` | |
| service.type | string | `"ClusterIP"` | |
| strategy.type | string | `"RollingUpdate"` | |

View File

@@ -0,0 +1,145 @@
{{- define "custom.repository.organization" -}}
k8s-at-home
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/k8s-at-home/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://k8s-at-home.com/charts/
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install.tldr" -}}
## TL;DR
```console
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
helm repo update
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
```console
helm uninstall {{ template "chart.name" . }}
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.configuration.readValues" -}}
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
{{- end -}}
{{- define "custom.configuration.example.set" -}}
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install {{ template "chart.name" . }} \
--set env.TZ="America/New York" \
{{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.configuration.example.file" -}}
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
```
{{- end -}}
{{- define "custom.valuesSection" -}}
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
{{ template "chart.valuesTable" . }}
{{- end -}}
{{- define "custom.support" -}}
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/introduction/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
{{- end -}}
{{ template "chart.header" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install.tldr" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.configuration.header" . }}
{{ template "custom.configuration.readValues" . }}
{{ template "custom.configuration.example.set" . }}
{{ template "custom.configuration.example.file" . }}
{{ template "custom.custom.configuration" . }}
{{ template "custom.valuesSection" . }}
{{ template "custom.changelog" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}

View File

@@ -0,0 +1,27 @@
{{- define "custom.changelog.header" -}}
## Changelog
{{- end -}}
{{- define "custom.changelog" -}}
{{ template "custom.changelog.header" . }}
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common#changelog).
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [1.0.0]
#### Added
- Initial version
#### Changed
- N/A
#### Removed
- N/A
[1.0.0]: #1.0.0
{{- end -}}

View File

@@ -0,0 +1,9 @@
{{- define "custom.custom.configuration.header" -}}
## Custom configuration
{{- end -}}
{{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }}
N/A
{{- end -}}

View File

@@ -0,0 +1 @@
{{- include "common.notes.defaultNotes" . -}}

View File

@@ -0,0 +1,10 @@
{{/* Gollum Additional Volume Mounts */}}
{{- define "gollum.volumeMounts.config" -}}
mountPath: /config
name: gollum-config
{{- end -}}
{{- define "gollum.volumeMounts.wiki" -}}
mountPath: /wiki
name: wiki
{{- end -}}

View File

@@ -0,0 +1,25 @@
{{/* Gollum Additional Volumes */}}
{{- define "gollum.volume.sync" -}}
name: git-sync
configMap:
name: {{ include "common.names.fullname" . }}
defaultMode: 0755
items:
- key: git-sync
path: git-sync
{{- end -}}
{{- define "gollum.volume.config" -}}
name: gollum-config
configMap:
name: {{ include "common.names.fullname" . }}
defaultMode: 0755
items:
- key: config.rb
path: config.rb
{{- end -}}
{{- define "gollum.volume.wiki" -}}
name: wiki
emptyDir: {}
{{- end -}}

View File

@@ -0,0 +1,11 @@
{{/* Gollum Additional Containers */}}
{{- define "gollum.container.cron" -}}
name: cron
image: alpine/git
command: ["crond", "-f", "-l", "8"]
volumeMounts:
- mountPath: /etc/periodic/15min/
name: git-sync
- mountPath: /wiki
name: wiki
{{- end -}}

View File

@@ -0,0 +1,25 @@
{{/* Gollum Init Containers */}}
{{- define "gollum.init.clone" -}}
name: git-init
image: alpine/git
args:
- clone
- -b
- {{ (required "gollum.gitBranch is required and not set" .Values.gollum.gitBranch) }}
- {{ (required "gollum.gitUrl is required and not set" .Values.gollum.gitUrl) }}
- /wiki
volumeMounts:
- mountPath: /wiki
name: wiki
{{- end -}}
{{- define "gollum.init.clear" -}}
name: clear-wiki
image: alpine
command:
- sh
- -c
- rm -fr /wiki/*; rm -fr /wiki/.*; ls -la /wiki/;
volumeMounts:
- mountPath: /wiki
name: wiki
{{- end -}}

View File

@@ -0,0 +1,42 @@
{{- include "common.values.setup" . }}
{{/* Add initContainers */}}
{{- $initClear := include "gollum.init.clear" . | fromYaml -}}
{{- $initClone := include "gollum.init.clone" . | fromYaml -}}
{{- $initContainers := append .Values.initContainers $initClear -}}
{{- $initContainers = append $initContainers $initClone -}}
{{- $_ := set .Values "initContainers" $initContainers -}}
{{/* Add conatiners */}}
{{- $contCron := include "gollum.container.cron" . | fromYaml -}}
{{- $containers := append .Values.additionalContainers $contCron -}}
{{- $_ := set .Values "additionalContainers" $containers -}}
{{/* Add Volumes */}}
{{- $volSync := include "gollum.volume.sync" . | fromYaml -}}
{{- $volConfig := include "gollum.volume.config" . | fromYaml -}}
{{- $volWiki := include "gollum.volume.wiki" . | fromYaml -}}
{{- $volumes := append .Values.additionalVolumes $volSync -}}
{{- $volumes = append $volumes $volConfig -}}
{{- if (not .Values.persistence.wiki.enabled) -}}
{{- $volumes = append $volumes $volWiki -}}
{{- end -}}
{{- $_ := set .Values "additionalVolumes" $volumes -}}
{{/* Add VolumeMounts */}}
{{- $mntConfig := include "gollum.volumeMounts.config" . | fromYaml -}}
{{- $mntWiki := include "gollum.volumeMounts.wiki" . | fromYaml -}}
{{- $mounts := append .Values.additionalVolumeMounts $mntConfig -}}
{{- if (not .Values.persistence.wiki.enabled) -}}
{{- $mounts = append $mounts $mntWiki -}}
{{- end -}}
{{- $_ := set .Values "additionalVolumeMounts" $mounts -}}
{{/* Setup the start command */}}
{{- $command := list "gollum" "/wiki" "--config" "/config/config.rb" "--ref" (required "A branch is requred but unset" .Values.gollum.gitBranch) -}}
{{- if .Values.gollum.additionalArgs -}}
{{- $command = append $command .Values.gollum.additionalArgs -}}
{{- end -}}
{{- $_ := set .Values "command" $command -}}
{{ include "common.all" . }}

View File

@@ -0,0 +1,10 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "common.names.fullname" . }}
data:
git-sync: |
#!/bin/bash
cd /wiki && {{ .Values.gollum.syncCommand }}
config.rb: |
{{- nindent 4 .Values.gollum.config }}

View File

@@ -0,0 +1,52 @@
#
# IMPORTANT NOTE
#
# This chart inherits from our common library chart. You can check the default values/options here:
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
#
image:
# -- gollum upstream image
repository: gollumorg/gollum
tag: latest
pullPolicy: IfNotPresent
controllerType: statefulset
strategy:
type: RollingUpdate
service:
type: ClusterIP
port:
port: 80
name: http
targetPort: 4567
ingress:
enabled: false
persistence:
wiki:
enabled: false
mountPath: /wiki
accessMode: ReadWriteOnce
size: 2Gi
gollum:
# -- Branch to pull
gitBranch: master
# -- Repository URL to pull (accepts access tokens)
# Ex: https://user:access-token@git.example.com/user/repo.git
gitUrl: https://github.com/k8s-at-home/charts.git
# -- Additional arguments for starting gollum
additionalArgs: --h1-title
# -- Command run during the sync cron
syncCommand: git pull && git push
# -- Gollum config.rb customizations
# reference https://github.com/gollum/gollum#config-file
config: |
# Push and pull on commit
Gollum::Hook.register(:post_commit, :hook_id) do |committer, sha1|
committer.wiki.repo.git.pull('origin', committer.wiki.ref)
committer.wiki.repo.git.push('origin', committer.wiki.ref)
end

View File

@@ -0,0 +1,26 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
# OWNERS file for Kubernetes
OWNERS
# helm-docs templates
*.gotmpl

View File

@@ -0,0 +1,19 @@
apiVersion: v2
appVersion: v3.7.1
description: multus CNI allows multiple NICs per pod
name: multus
version: 1.1.0
kubeVersion: ">=1.16.0-0"
keywords:
- multus
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/multus
icon: https://multus.org/icon
sources:
- https://github.com/k8snetworkplumbingwg/multus-cni
maintainers:
- name: angelnu
email: git@angelnu.com
dependencies:
- name: common
repository: https://library-charts.k8s-at-home.com
version: 2.5.0

View File

@@ -0,0 +1,152 @@
# multus
![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: v3.7.1](https://img.shields.io/badge/AppVersion-v3.7.1-informational?style=flat-square)
multus CNI allows multiple NICs per pod
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
## Source Code
* <https://github.com/k8snetworkplumbingwg/multus-cni>
## Requirements
Kubernetes: `>=1.16.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.k8s-at-home.com | common | 2.4.0 |
## TL;DR
```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install multus k8s-at-home/multus
```
## Installing the Chart
To install the chart with the release name `multus`
```console
helm install multus k8s-at-home/multus
```
## Uninstalling the Chart
To uninstall the `multus` deployment
```console
helm uninstall multus
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Configuration
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install multus \
--set env.TZ="America/New York" \
k8s-at-home/multus
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install multus k8s-at-home/multus -f values.yaml
```
## Custom configuration
### Error setting up network for sandbox
If you remove multus by force, the helm uninstall hook will not
be called. In this situation kubelet will still try to call
multus to during the creation of every single pod. you wil see
this error:
```
Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox
```
If you hit this problem you can manually remove multus config.
For k3s you can do so with:
```sh
rm -rf /var/lib/rancher/k3s/agent/etc/cni/net.d/*multus*
```
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| additionalVolumeMounts[0].mountPath | string | `"/host/etc/cni/net.d"` | |
| additionalVolumeMounts[0].name | string | `"cni"` | |
| additionalVolumeMounts[1].mountPath | string | `"/host/opt/cni/bin"` | |
| additionalVolumeMounts[1].name | string | `"cnibin"` | |
| additionalVolumes[0].hostPath.path | string | `"/var/lib/rancher/k3s/agent/etc/cni/net.d"` | |
| additionalVolumes[0].hostPath.type | string | `"Directory"` | |
| additionalVolumes[0].name | string | `"cni"` | |
| additionalVolumes[1].hostPath.path | string | `"/var/lib/rancher/k3s/data/current/bin"` | |
| additionalVolumes[1].hostPath.type | string | `"Directory"` | |
| additionalVolumes[1].name | string | `"cnibin"` | |
| args[0] | string | `"--multus-conf-file=auto"` | |
| args[1] | string | `"--cleanup-config-on-exit=true"` | |
| args[2] | string | `"--cni-version=0.3.1"` | |
| args[3] | string | `"--multus-kubeconfig-file-host=/var/lib/rancher/k3s/agent/etc/cni/net.d/multus.d/multus.kubeconfig"` | |
| command[0] | string | `"/entrypoint.sh"` | |
| controllerType | string | `"daemonset"` | |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"ghcr.io/k8snetworkplumbingwg/multus-cni"` | |
| image.tag | string | `"v3.7.1"` | |
| initContainers | list | `[{"image":"ghcr.io/k8s-at-home/cni-plugins:v0.9.1","name":"cni-installer","volumeMounts":[{"mountPath":"/host/opt/cni/bin","name":"cnibin"}]}]` | Init container that install reference CNI plugins |
| probes.liveness.enabled | bool | `false` | |
| probes.readiness.enabled | bool | `false` | |
| probes.startup.enabled | bool | `false` | |
| securityContext.privileged | bool | `true` | |
| service.enabled | bool | `false` | |
| serviceAccount.create | bool | `true` | |
| strategy.type | string | `"RollingUpdate"` | |
## Changelog
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common#changelog).
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [1.0.0]
#### Added
- Initial version
#### Changed
- N/A
#### Removed
- N/A
[1.0.0]: #1.0.0
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)

View File

@@ -0,0 +1,146 @@
{{- define "custom.repository.organization" -}}
k8s-at-home
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/k8s-at-home/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://k8s-at-home.com/charts/
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install.tldr" -}}
## TL;DR
```console
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
helm repo update
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
```console
helm uninstall {{ template "chart.name" . }}
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.configuration.readValues" -}}
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
{{- end -}}
{{- define "custom.configuration.example.set" -}}
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install {{ template "chart.name" . }} \
--set env.TZ="America/New York" \
{{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.configuration.example.file" -}}
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
```
{{- end -}}
{{- define "custom.valuesSection" -}}
## Values
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
{{ template "chart.valuesTable" . }}
{{- end -}}
{{- define "custom.support" -}}
## Support
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
- Join our [Discord](https://discord.gg/sTMX7Vh) community
{{- end -}}
{{ template "chart.header" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install.tldr" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.configuration.header" . }}
{{ template "custom.configuration.readValues" . }}
{{ template "custom.configuration.example.set" . }}
{{ template "custom.configuration.example.file" . }}
{{ template "custom.custom.configuration" . }}
{{ template "custom.valuesSection" . }}
{{ template "custom.changelog" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}
{{ "" }}

View File

@@ -0,0 +1,27 @@
{{- define "custom.changelog.header" -}}
## Changelog
{{- end -}}
{{- define "custom.changelog" -}}
{{ template "custom.changelog.header" . }}
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common#changelog).
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [1.0.0]
#### Added
- Initial version
#### Changed
- N/A
#### Removed
- N/A
[1.0.0]: #1.0.0
{{- end -}}

View File

@@ -0,0 +1,26 @@
{{- define "custom.custom.configuration.header" -}}
## Custom configuration
{{- end -}}
{{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }}
### Error setting up network for sandbox
If you remove multus by force, the helm uninstall hook will not
be called. In this situation kubelet will still try to call
multus to during the creation of every single pod. you wil see
this error:
```
Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox
```
If you hit this problem you can manually remove multus config.
For k3s you can do so with:
```sh
rm -rf /var/lib/rancher/k3s/agent/etc/cni/net.d/*multus*
```
{{- end -}}

View File

@@ -0,0 +1,44 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: network-attachment-definitions.k8s.cni.cncf.io
spec:
group: k8s.cni.cncf.io
scope: Namespaced
names:
plural: network-attachment-definitions
singular: network-attachment-definition
kind: NetworkAttachmentDefinition
shortNames:
- net-attach-def
versions:
- name: v1
served: true
storage: true
schema:
openAPIV3Schema:
description: 'NetworkAttachmentDefinition is a CRD schema specified by the Network Plumbing
Working Group to express the intent for attaching pods to one or more logical or physical
networks. More information available at: https://github.com/k8snetworkplumbingwg/multi-net-spec'
type: object
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this represen
tation of an object. Servers should convert recognized schemas to the
latest internal value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: 'NetworkAttachmentDefinition spec defines the desired state of a network attachment'
type: object
properties:
config:
description: 'NetworkAttachmentDefinition config is a JSON-formatted CNI configuration'
type: string

View File

@@ -0,0 +1,29 @@
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ include "common.names.fullname" . }}
labels:
{{- include "common.labels" . | nindent 4 }}
rules:
- apiGroups: ["k8s.cni.cncf.io"]
resources:
- '*'
verbs:
- '*'
- apiGroups:
- ""
resources:
- pods
- pods/status
verbs:
- get
- update
- apiGroups:
- ""
- events.k8s.io
resources:
- events
verbs:
- create
- patch
- update

View File

@@ -0,0 +1,14 @@
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ include "common.names.fullname" . }}
labels:
{{- include "common.labels" . | nindent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ include "common.names.fullname" . }}
subjects:
- kind: ServiceAccount
name: {{ include "common.names.serviceAccountName" . }}
namespace: {{ .Release.Namespace }}

View File

@@ -0,0 +1 @@
{{- include "common.notes.defaultNotes" . -}}

View File

@@ -0,0 +1,2 @@
{{/* Render the templates */}}
{{ include "common.all" . }}

View File

@@ -0,0 +1,15 @@
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
name: {{ include "common.names.fullname" . }}-test
labels:
{{- include "common.labels" . | nindent 4 }}
annotations:
"helm.sh/hook": test-success
spec:
config: '{
"cniVersion": "0.3.1",
"name": "{{ include "common.names.fullname" . }}-test",
"type": "macvlan",
"capabilities": { "ips": true }
}'

View File

@@ -0,0 +1,18 @@
apiVersion: v1
kind: Pod
metadata:
name: {{ include "common.names.fullname" . }}-pod-test
labels:
{{- include "common.labels" . | nindent 4 }}
annotations:
"helm.sh/hook": test-success
k8s.v1.cni.cncf.io/networks: |
[{
"name": "{{ include "common.names.fullname" . }}-test"
}]
spec:
containers:
- name: podt-test
image: "alpine"
command: ["/bin/true"]
restartPolicy: Never

View File

@@ -0,0 +1,32 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ include "common.names.fullname" . }}-uninstall
labels:
{{- include "common.labels" . | nindent 4 }}
annotations:
# This is what defines this resource as a hook. Without this line, the
# job is considered part of the release.
"helm.sh/hook": pre-delete
"helm.sh/hook-weight": "-5"
"helm.sh/hook-delete-policy": hook-succeeded
spec:
template:
metadata:
name: {{ include "common.names.fullname" . }}-uninstall
labels:
{{- include "common.labels" . | nindent 8 }}
spec:
restartPolicy: OnFailure
containers:
- name: remove-config
image: "alpine"
command: ["/bin/sh","-c", "rm -rf /host/etc/cni/net.d/*multus*"]
{{- with (include "common.controller.volumeMounts" . | trim) }}
volumeMounts:
{{- . | nindent 10 }}
{{- end }}
{{- with (include "common.controller.volumes" . | trim) }}
volumes:
{{- . | nindent 8 }}
{{- end }}

View File

@@ -0,0 +1,69 @@
#
# IMPORTANT NOTE
#
# This chart inherits from our common library chart. You can check the default values/options here:
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
#
image:
repository: ghcr.io/k8snetworkplumbingwg/multus-cni
tag: v3.7.1
pullPolicy: IfNotPresent
controllerType: daemonset
serviceAccount:
create: true
# -- Init container that install reference CNI plugins
initContainers:
- name: cni-installer
image: ghcr.io/k8s-at-home/cni-plugins:v0.9.1
volumeMounts:
- name: cnibin
mountPath: /host/opt/cni/bin
command:
- /entrypoint.sh
args:
- "--multus-conf-file=auto"
- "--cleanup-config-on-exit=true"
- "--cni-version=0.3.1"
- "--multus-kubeconfig-file-host=/var/lib/rancher/k3s/agent/etc/cni/net.d/multus.d/multus.kubeconfig"
securityContext:
privileged: true
strategy:
type: RollingUpdate
additionalVolumes:
- name: cni
hostPath:
# path: /etc/cni/net.d
path: /var/lib/rancher/k3s/agent/etc/cni/net.d
type: Directory
- name: cnibin
hostPath:
# path: /opt/cni/bin
path: /var/lib/rancher/k3s/data/current/bin
type: Directory
additionalVolumeMounts:
- name: cni
mountPath: /host/etc/cni/net.d
- name: cnibin
mountPath: /host/opt/cni/bin
probes:
liveness:
enabled: false
readiness:
enabled: false
startup:
enabled: false
service:
enabled: false

View File

@@ -1,5 +1,5 @@
name: oauth2-proxy
version: 5.0.4
version: 5.0.5
apiVersion: v1
appVersion: 7.0.1
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/oauth2-proxy

View File

@@ -1,6 +1,6 @@
# oauth2-proxy
![Version: 5.0.4](https://img.shields.io/badge/Version-5.0.4-informational?style=flat-square) ![AppVersion: 7.0.1](https://img.shields.io/badge/AppVersion-7.0.1-informational?style=flat-square)
![Version: 5.0.5](https://img.shields.io/badge/Version-5.0.5-informational?style=flat-square) ![AppVersion: 7.0.1](https://img.shields.io/badge/AppVersion-7.0.1-informational?style=flat-square)
A reverse proxy that provides authentication with Google, Github or other providers
@@ -68,7 +68,7 @@ helm install oauth2-proxy k8s-at-home/oauth2-proxy -f values.yaml
### SSL Configuration
See: [SSL Configuration](https://pusher.github.io/oauth2_proxy/tls-configuration).
See: [SSL Configuration](https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/tls).
Use ```values.yaml``` like:
```yaml
@@ -105,11 +105,11 @@ data:
|-----|------|---------|-------------|
| affinity | object | `{}` | node/pod affinities Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity |
| authenticatedEmailsFile.enabled | bool | `false` | Enables authorize individual email addresses |
| authenticatedEmailsFile.restricted_access | string | `""` | [email addresses](https://github.com/pusher/oauth2_proxy#email-authentication) list config |
| authenticatedEmailsFile.restricted_access | string | `""` | [email addresses](https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/oauth_provider#email-authentication) list config |
| authenticatedEmailsFile.template | string | `""` | Name of the configmap that is handled outside of that chart It's a simpler way to maintain only one configmap (user list) instead changing it for each oauth2-proxy service. Be aware the value name in the extern config map in data needs to be named to "restricted_user_access". One email per line example: restricted_access: |- name1@domain name2@domain If you override the config with restricted_access it will configure a user list within this chart what takes care of the config map resource. |
| config.clientID | string | `"XXXXXXX"` | OAuth client ID |
| config.clientSecret | string | `"XXXXXXXX"` | OAuth client secret |
| config.configFile | string | `"email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"` | google service account json contents serviceAccountJson: xxxx -- Alternatively, use an existing secret (see google-secret.yaml for required fields) existingSecret: google-secret -- custom [oauth2_proxy.cfg](https://github.com/pusher/oauth2_proxy/blob/master/contrib/oauth2_proxy.cfg.example) contents for settings not overridable via environment nor command line |
| config.configFile | string | `"email_domains = [ \"*\" ]\nupstreams = [ \"file:///dev/null\" ]"` | google service account json contents serviceAccountJson: xxxx -- Alternatively, use an existing secret (see google-secret.yaml for required fields) existingSecret: google-secret -- custom [oauth2_proxy.cfg](https://github.com/oauth2-proxy/oauth2-proxy/blob/master/contrib/oauth2-proxy.cfg.example) contents for settings not overridable via environment nor command line |
| config.cookieSecret | string | `"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"` | server specific cookie for the secret; create a new one with `openssl rand -base64 32 | head -c 32 | base64` |
| config.existingConfig | string | `nil` | xisting Kubernetes configmap to use for the configuration file. See [config template](https://github.com/helm/charts/blob/master/stable/oauth2-proxy/templates/configmap.yaml) for the required values |
| config.google | object | `{}` | |
@@ -118,7 +118,7 @@ data:
| extraVolumeMounts | list | `[]` | list of extra volumeMounts |
| extraVolumes | list | `[]` | list of extra volumes |
| htpasswdFile.enabled | bool | `false` | enable htpasswd-file option |
| htpasswdFile.entries | object | `{}` | list of [SHA encrypted user:passwords](https://pusher.github.io/oauth2_proxy/configuration#command-line-options) |
| htpasswdFile.entries | object | `{}` | list of [SHA encrypted user:passwords](https://oauth2-proxy.github.io/oauth2-proxy/configuration#command-line-options) |
| htpasswdFile.existingSecret | string | `""` | existing Kubernetes secret to use for OAuth2 htpasswd file |
| httpScheme | string | `"http"` | `http` or `https`. `name` used for port on the deployment. `httpGet` port `name` and `scheme` used for `liveness`- and `readinessProbes`. `name` and `targetPort` used for the service. |
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
@@ -166,7 +166,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
#### Changed
- This version upgrade oauth2-proxy to v4.0.0. Please see the [changelog](https://github.com/pusher/oauth2_proxy/blob/v4.0.0/CHANGELOG.md#v400) in order to upgrade.
- This version upgrade oauth2-proxy to v4.0.0. Please see the [changelog](https://github.com/oauth2-proxy/oauth2-proxy/blob/v4.0.0/CHANGELOG.md#v400) in order to upgrade.
### [2.0.0]
@@ -222,6 +222,12 @@ Due to [this issue](https://github.com/helm/helm/issues/6583) there may be error
- N/A
### [5.0.5]
#### Fixed
- Update oauth2-proxy website URLs.
[5.0.4]: #5.0.4
[5.0.1]: #5.0.1

View File

@@ -143,3 +143,4 @@ helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}
{{ "" }}

View File

@@ -13,7 +13,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
#### Changed
- This version upgrade oauth2-proxy to v4.0.0. Please see the [changelog](https://github.com/pusher/oauth2_proxy/blob/v4.0.0/CHANGELOG.md#v400) in order to upgrade.
- This version upgrade oauth2-proxy to v4.0.0. Please see the [changelog](https://github.com/oauth2-proxy/oauth2-proxy/blob/v4.0.0/CHANGELOG.md#v400) in order to upgrade.
### [2.0.0]
@@ -69,6 +69,12 @@ Due to [this issue](https://github.com/helm/helm/issues/6583) there may be error
- N/A
### [5.0.5]
#### Fixed
- Update oauth2-proxy website URLs.
[5.0.4]: #5.0.4
[5.0.1]: #5.0.1
{{- end -}}

View File

@@ -7,7 +7,7 @@
### SSL Configuration
See: [SSL Configuration](https://pusher.github.io/oauth2_proxy/tls-configuration).
See: [SSL Configuration](https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/tls).
Use ```values.yaml``` like:
```yaml

View File

@@ -16,7 +16,7 @@ config:
# -- Alternatively, use an existing secret (see google-secret.yaml for required fields)
# existingSecret: google-secret
# -- custom [oauth2_proxy.cfg](https://github.com/pusher/oauth2_proxy/blob/master/contrib/oauth2_proxy.cfg.example) contents for settings not overridable via environment nor command line
# -- custom [oauth2_proxy.cfg](https://github.com/oauth2-proxy/oauth2-proxy/blob/master/contrib/oauth2-proxy.cfg.example) contents for settings not overridable via environment nor command line
configFile: |-
email_domains = [ "*" ]
upstreams = [ "file:///dev/null" ]
@@ -64,7 +64,7 @@ authenticatedEmailsFile:
# config map resource.
template: ""
# -- [email addresses](https://github.com/pusher/oauth2_proxy#email-authentication) list config
# -- [email addresses](https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/oauth_provider#email-authentication) list config
restricted_access: ""
service:
@@ -205,7 +205,7 @@ htpasswdFile:
enabled: false
# -- existing Kubernetes secret to use for OAuth2 htpasswd file
existingSecret: ""
# -- list of [SHA encrypted user:passwords](https://pusher.github.io/oauth2_proxy/configuration#command-line-options)
# -- list of [SHA encrypted user:passwords](https://oauth2-proxy.github.io/oauth2-proxy/configuration#command-line-options)
entries: {}
# One row for each user
# example: