[helm-docs] Addopt helm-docs for remaining charts (#660)

* homebridge -> helm-docs

* librespeed -> helmdocs

* node-feature-discovery -> helm-docs

* oauth2-proxy -> helm-docs

* sersock -> helmdocs

* speedtest -> helm-docs

* unifi -> helm-docs

* bump version

* uptimerobot -> helm-docs

* do not install test ser2sock

* Add influxdb dependency

* no default value for externalTrafficPolicy

Co-authored-by: angelnu <git@angelnucom>
This commit is contained in:
Vegetto 2021-03-13 16:30:07 +01:00 committed by GitHub
parent 41841cd579
commit beaf1d697a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
51 changed files with 3012 additions and 920 deletions

View File

@ -6,6 +6,7 @@ chart-dirs:
excluded-charts: excluded-charts:
- alertmanager-bot - alertmanager-bot
- dnsmadeeasy-webhook - dnsmadeeasy-webhook
- ser2sock
- zigbee2mqtt - zigbee2mqtt
chart-repos: chart-repos:
- bitnami=https://charts.bitnami.com/bitnami - bitnami=https://charts.bitnami.com/bitnami

View File

@ -1,8 +1 @@
charts/homebridge
charts/librespeed
charts/node-feature-discovery
charts/oauth2-proxy
charts/ser2sock
charts/speedtest
charts/unifi
charts/uptimerobot charts/uptimerobot

View File

@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
appVersion: 3.1.0 appVersion: 3.1.0
version: 1.0.2 version: 1.0.3
name: homebridge name: homebridge
description: A lightweight NodeJS server that emulates the iOS HomeKit API description: A lightweight NodeJS server that emulates the iOS HomeKit API
type: application type: application

View File

@ -1,100 +1,165 @@
# Homebridge # homebridge
This is a helm chart for [Homebridge](https://homebridge.io) based on [Docker Homebridge](https://github.com/oznu/docker-homebridge). ![Version: 1.0.3](https://img.shields.io/badge/Version-1.0.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.1.0](https://img.shields.io/badge/AppVersion-3.1.0-informational?style=flat-square)
## TL;DR; A lightweight NodeJS server that emulates the iOS HomeKit API
```shell **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://homebridge.io/>
* <https://github.com/oznu/docker-homebridge>
## Requirements
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
## TL;DR
```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/ helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm install k8s-at-home/homebridge helm repo update
helm install homebridge k8s-at-home/homebridge
``` ```
## Installing the Chart ## Installing the Chart
To install the chart with the release name `my-release`: To install the chart with the release name `homebridge`
```shell ```console
helm install --name my-release k8s-at-home/homebridge helm install homebridge k8s-at-home/homebridge
``` ```
## Uninstalling the Chart ## Uninstalling the Chart
To uninstall/delete the `my-release` deployment: To uninstall the `homebridge` deployment
```shell ```console
helm delete my-release --purge helm uninstall homebridge
``` ```
The command removes all the Kubernetes components associated with the chart and deletes the release. The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Configuration ## Configuration
The following tables lists the configurable parameters of the Home Assistant chart and their default values. Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
| Parameter | Description | Default | Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
| `image.repository` | Image repository | `oznu/homebridge` |
| `image.tag` | Image tag. Possible values listed [here](https://hub.docker.com/r/oznu/homebridge/tags). | `3.1.0` |
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
| `image.pullSecrets` | Secrets to use when pulling the image | `[]` |
| `strategyType` | Specifies the strategy used to replace old Pods by new ones | `Recreate` |
| `timezone` | Specify the container timezone | `UTC` |
| `puid` | process userID the instance should run as | `1000` |
| `pgid` | process groupID the instance should run as | `1000` |
| `config.enableUI` | Enable the Homebridge UI plugin | `true` |
| `config.plugins` | Additional Homebridge plugins to install at container startup | `[]` |
| `config.additionalPackages` | Additional Alpine packages to install at container statup | `[] ` |
| `probes.liveness.enabled` | Use the livenessProbe? | `true` |
| `probes.liveness.initialDelaySeconds` | Specify liveness `initialDelaySeconds` parameter for the deployment | `60` |
| `probes.liveness.failureThreshold` | Specify liveness `failureThreshold` parameter for the deployment | `5` |
| `probes.liveness.timeoutSeconds` | Specify liveness `timeoutSeconds` parameter for the deployment | `10` |
| `probes.readiness.enabled` | Use the readinessProbe? | `true` |
| `probes.readiness.initialDelaySeconds` | Specify readiness `initialDelaySeconds` parameter for the deployment | `60` |
| `probes.readiness.failureThreshold` | Specify readiness `failureThreshold` parameter for the deployment | `5` |
| `probes.readiness.timeoutSeconds` | Specify readiness `timeoutSeconds` parameter for the deployment | `10` |
| `probes.startup.enabled` | Use the startupProbe? (new in kubernetes 1.16) | `false` |
| `probes.startup.failureThreshold` | Specify startup `failureThreshold` parameter for the deployment | `5` |
| `probes.startup.periodSeconds` | Specify startup `periodSeconds` parameter for the deployment | `10` |
| `service.type` | Kubernetes service type for the homebridge GUI | `ClusterIP` |
| `service.httpPort` | Kubernetes port where the homebridge GUI is exposed | `8123` |
| `service.annotations` | Service annotations for the homebridge GUI | `{}` |
| `service.clusterIP` | Cluster IP for the homebridge GUI | `` |
| `service.externalIPs` | External IPs for the homebridge GUI | `[]` |
| `service.loadBalancerIP` | Loadbalancer IP for the homebridge GUI | `` |
| `service.loadBalancerSourceRanges` | Loadbalancer client IP restriction range for the homebridge GUI | `[]` |
| `service.externalTrafficPolicy` | Loadbalancer externalTrafficPolicy | `` |
| `hostNetwork` | Enable hostNetwork - needed for discovery to work | `false` |
| `service.nodePort` | nodePort to listen on for the homebridge GUI | `` |
| `ingress.enabled` | Enables Ingress | `false` |
| `ingress.annotations` | Ingress annotations | `{}` |
| `ingress.path` | Ingress path | `/` |
| `ingress.hosts` | Ingress accepted hostnames | `chart-example.local` |
| `ingress.tls` | Ingress TLS configuration | `[]` |
| `persistence.enabled` | Use persistent volume to store data | `true` |
| `persistence.size` | Size of persistent volume claim | `1Gi` |
| `persistence.existingClaim` | Use an existing PVC to persist data | `nil` |
| `persistence.storageClass` | Type of persistent volume claim | `-` |
| `persistence.accessMode` | Persistence access modes | `ReadWriteMany` |
| `persistence.skipuninstall` | Do not delete the pvc upon helm uninstall | `false` |
| `extraEnvs` | Extra ENV vars to pass to the homebridge container | `[]` |
| `resources` | CPU/Memory resource requests/limits or the homebridge GUI | `{}` |
| `nodeSelector` | Node labels for pod assignment or the homebridge GUI | `{}` |
| `tolerations` | Toleration labels for pod assignment or the homebridge GUI | `[]` |
| `affinity` | Affinity settings for pod assignment or the homebridge GUI | `{}` |
| `podAnnotations` | Key-value pairs to add as pod annotations | `{}` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, ```console
helm install homebridge \
```shell --set env.TZ="America/New York" \
helm install --name my-release \
--set timezone="UTC" \
k8s-at-home/homebridge k8s-at-home/homebridge
``` ```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```shell ```console
helm install --name my-release -f values.yaml k8s-at-home/homebridge helm install homebridge k8s-at-home/homebridge -f values.yaml
``` ```
Read through the [values.yaml](values.yaml) file. It has several commented out suggested values. ## Custom configuration
N/A
## 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/charts/tree/master/charts/common/)
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | Affinity settings for pod assignment or the homebridge GUI |
| config.additionalPackages | list | `[]` | Additional Alpine packages to install at container statup such as `bash` |
| config.enableUI | bool | `true` | Enable the Homebridge UI plugin |
| config.plugins | list | `[]` | Additional Homebridge plugins to install at container startup such as `homebridge-hue` |
| extraEnvs | list | `[]` | Extra ENV vars to pass to the homebridge container |
| fullnameOverride | string | `""` | |
| hostNetwork | bool | `false` | Enable hostNetwork - needed for discovery to work |
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
| image.repository | string | `"oznu/homebridge"` | Image repository |
| image.tag | string | `"3.1.0"` | Overrides the image tag whose default is the chart appVersion. Possible values listed [here](https://hub.docker.com/r/oznu/homebridge/tags) |
| imagePullSecrets | list | `[]` | Secrets to use when pulling the image |
| ingress.annotations | object | `{}` | Ingress annotations |
| ingress.enabled | bool | `false` | Enables Ingress |
| ingress.hosts | list | `["chart-example.local"]` | Ingress accepted hostnames |
| ingress.path | string | `"/"` | Ingress path |
| ingress.tls | list | `[]` | Ingress TLS configuration |
| nameOverride | string | `""` | |
| nodeSelector | object | `{}` | Node labels for pod assignment or the homebridge GUI |
| persistence.accessMode | string | `"ReadWriteOnce"` | Persistence access modes |
| persistence.enabled | bool | `true` | Use persistent volume to store data |
| persistence.existingClaim | string | `nil` | Use an existing PVC to persist data |
| persistence.size | string | `"1Gi"` | Size of persistent volume claim |
| persistence.skipuninstall | bool | `false` | Do not delete the pvc upon helm uninstall |
| persistence.storageClass | string | `nil` | Type of persistent volume claim |
| pgid | int | `1000` | process groupID the instance should run as |
| podAnnotations | object | `{}` | Key-value pairs to add as pod annotations |
| podSecurityContext | object | `{}` | |
| probes.liveness.enabled | bool | `true` | Use the livenessProbe? |
| probes.liveness.failureThreshold | int | `5` | Specify liveness `failureThreshold` parameter for the deployment |
| probes.liveness.initialDelaySeconds | int | `60` | Specify liveness `initialDelaySeconds` parameter for the deployment |
| probes.liveness.timeoutSeconds | int | `10` | Specify liveness `timeoutSeconds` parameter for the deployment |
| probes.readiness.enabled | bool | `true` | Use the readinessProbe? |
| probes.readiness.failureThreshold | int | `5` | Specify readiness `failureThreshold` parameter for the deployment |
| probes.readiness.initialDelaySeconds | int | `60` | Specify readiness `initialDelaySeconds` parameter for the deployment |
| probes.readiness.timeoutSeconds | int | `10` | Specify readiness `timeoutSeconds` parameter for the deployment |
| probes.startup.enabled | bool | `false` | Use the startupProbe? (new in kubernetes 1.16) |
| probes.startup.failureThreshold | int | `30` | Specify startup `failureThreshold` parameter for the deployment |
| probes.startup.periodSeconds | int | `10` | Specify startup `periodSeconds` parameter for the deployment |
| puid | int | `1000` | process userID the instance should run as |
| replicaCount | int | `1` | |
| resources | object | `{}` | CPU/Memory resource requests/limits or the homebridge GUI |
| securityContext | object | `{}` | |
| service.annotations | object | `{}` | Service annotations for the homebridge GUI |
| service.clusterIP | string | `nil` | Cluster IP for the homebridge GUI |
| service.externalIPs | string | `nil` | External IPs for the homebridge GUI |
| service.externalTrafficPolicy | string | `nil` | Loadbalancer externalTrafficPolicy |
| service.homebridgePort | int | `51826` | |
| service.httpPort | int | `8080` | Kubernetes port where the homebridge GUI is exposed |
| service.loadBalancerIP | string | `nil` | Loadbalancer IP for the homebridge GUI |
| service.loadBalancerSourceRanges | string | `nil` | Loadbalancer client IP restriction range for the homebridge GUI |
| service.nodePort | string | `nil` | nodePort to listen on for the homebridge GUI |
| service.type | string | `"ClusterIP"` | Kubernetes service type for the homebridge GUI |
| serviceAccount.annotations | object | `{}` | |
| serviceAccount.create | bool | `true` | |
| serviceAccount.name | string | `""` | |
| strategyType | string | `"Recreate"` | Specifies the strategy used to replace old Pods by new ones |
| timezone | string | `"UTC"` | Specify the container timezone |
| tolerations | list | `[]` | Toleration labels for pod assignment or the homebridge GUI |
## 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/charts/tree/master/charts/common/README.md#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.3]
#### Added
- N/A
#### Changed
- Use helm-docs
#### Removed
- N/A
[1.0.3]: #1.0.3
## 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,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](../common/values.yaml) from the [common library](../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/charts/tree/master/charts/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/charts/tree/master/charts/common/README.md#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.3]
#### Added
- N/A
#### Changed
- Use helm-docs
#### Removed
- N/A
[1.0.3]: #1.0.3
{{- 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

@ -3,29 +3,39 @@
replicaCount: 1 replicaCount: 1
image: image:
# -- Image repository
repository: oznu/homebridge repository: oznu/homebridge
# -- Image pull policy
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion. # -- Overrides the image tag whose default is the chart appVersion.
# Possible values listed [here](https://hub.docker.com/r/oznu/homebridge/tags)
tag: "3.1.0" tag: "3.1.0"
# -- Secrets to use when pulling the image
imagePullSecrets: [] imagePullSecrets: []
nameOverride: "" nameOverride: ""
fullnameOverride: "" fullnameOverride: ""
# upgrade strategy type (e.g. Recreate or RollingUpdate) # -- Specifies the strategy used to replace old Pods by new ones
strategyType: Recreate strategyType: Recreate
# -- Specify the container timezone
timezone: "UTC" timezone: "UTC"
# -- process userID the instance should run as
puid: 1000 puid: 1000
# -- process groupID the instance should run as
pgid: 1000 pgid: 1000
config: config:
# -- Enable the Homebridge UI plugin
enableUI: true enableUI: true
# -- Additional Homebridge plugins to install at container startup such as `homebridge-hue`
plugins: [] plugins: []
# - homebridge-hue # -- Additional Alpine packages to install at container statup such as `bash`
additionalPackages: [] additionalPackages: []
# - bash
# -- Extra ENV vars to pass to the homebridge container
extraEnvs: [] extraEnvs: []
serviceAccount: serviceAccount:
@ -37,6 +47,7 @@ serviceAccount:
# If not set and create is true, a name is generated using the fullname template # If not set and create is true, a name is generated using the fullname template
name: "" name: ""
# -- Key-value pairs to add as pod annotations
podAnnotations: {} podAnnotations: {}
podSecurityContext: {} podSecurityContext: {}
@ -51,60 +62,87 @@ securityContext: {}
# runAsUser: 1000 # runAsUser: 1000
service: service:
# -- Kubernetes service type for the homebridge GUI
type: ClusterIP type: ClusterIP
homebridgePort: 51826 homebridgePort: 51826
# -- Kubernetes port where the homebridge GUI is exposed
httpPort: 8080 httpPort: 8080
# -- Service annotations for the homebridge GUI
annotations: {}
# -- (string) Cluster IP for the homebridge GUI
clusterIP:
# -- (string) External IPs for the homebridge GUI
externalIPs:
# -- (string) Loadbalancer IP for the homebridge GUI
loadBalancerIP:
# -- (string) Loadbalancer client IP restriction range for the homebridge GUI
loadBalancerSourceRanges:
# -- (string) Loadbalancer externalTrafficPolicy
externalTrafficPolicy:
# -- (int) nodePort to listen on for the homebridge GUI
nodePort:
ingress: ingress:
# -- Enables Ingress
enabled: false enabled: false
# -- Ingress annotations
annotations: {} annotations: {}
# kubernetes.io/ingress.class: nginx # -- Ingress path
# kubernetes.io/tls-acme: "true"
path: / path: /
# -- Ingress accepted hostnames
hosts: hosts:
- chart-example.local - chart-example.local
# -- Ingress TLS configuration
tls: [] tls: []
# - secretName: chart-example-tls # - secretName: chart-example-tls
# hosts: # hosts:
# - chart-example.local # - chart-example.local
# -- Enable hostNetwork - needed for discovery to work
hostNetwork: false hostNetwork: false
persistence: persistence:
# -- Use persistent volume to store data
enabled: true enabled: true
## homebridge data Persistent Volume Storage Class # -- (string) Type of persistent volume claim
## If defined, storageClassName: <storageClass> storageClass:
## If set to "-", storageClassName: "", which disables dynamic provisioning # -- (string) Use an existing PVC to persist data
## If undefined (the default) or set to null, no storageClassName spec is existingClaim:
## set, choosing the default provisioner. (gp2 on AWS, standard on # -- Persistence access modes
## GKE, AWS & OpenStack)
##
# storageClass: "-"
##
## If you want to reuse an existing claim, you can pass the name of the PVC using
## the existingClaim variable
# existingClaim: your-claim
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
# -- Size of persistent volume claim
size: 1Gi size: 1Gi
## Do not delete the pvc upon helm uninstall # -- Do not delete the pvc upon helm uninstall
skipuninstall: false skipuninstall: false
probes: probes:
liveness: liveness:
# -- Use the livenessProbe?
enabled: true enabled: true
# -- Specify liveness `initialDelaySeconds` parameter for the deployment
initialDelaySeconds: 60 initialDelaySeconds: 60
# -- Specify liveness `failureThreshold` parameter for the deployment
failureThreshold: 5 failureThreshold: 5
# -- Specify liveness `timeoutSeconds` parameter for the deployment
timeoutSeconds: 10 timeoutSeconds: 10
readiness: readiness:
# -- Use the readinessProbe?
enabled: true enabled: true
# -- Specify readiness `initialDelaySeconds` parameter for the deployment
initialDelaySeconds: 60 initialDelaySeconds: 60
# -- Specify readiness `failureThreshold` parameter for the deployment
failureThreshold: 5 failureThreshold: 5
# -- Specify readiness `timeoutSeconds` parameter for the deployment
timeoutSeconds: 10 timeoutSeconds: 10
startup: startup:
# -- Use the startupProbe? (new in kubernetes 1.16)
enabled: false enabled: false
# -- Specify startup `failureThreshold` parameter for the deployment
failureThreshold: 30 failureThreshold: 30
# -- Specify startup `periodSeconds` parameter for the deployment
periodSeconds: 10 periodSeconds: 10
# -- CPU/Memory resource requests/limits or the homebridge GUI
resources: {} resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious # We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little # choice for the user. This also increases chances charts run on environments with little
@ -117,8 +155,11 @@ resources: {}
# cpu: 100m # cpu: 100m
# memory: 128Mi # memory: 128Mi
# -- Node labels for pod assignment or the homebridge GUI
nodeSelector: {} nodeSelector: {}
# -- Toleration labels for pod assignment or the homebridge GUI
tolerations: [] tolerations: []
# -- Affinity settings for pod assignment or the homebridge GUI
affinity: {} affinity: {}

View File

@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 1.0.6-12 appVersion: 1.0.6-12
description: Librespeed is a HTML5 webpage to test upload and download speeds description: Librespeed is a HTML5 webpage to test upload and download speeds
name: librespeed name: librespeed
version: 2.0.0 version: 2.0.1
keywords: keywords:
- librespeed - librespeed
home: https://github.com/k8s-at-home/charts/tree/master/charts/librespeed home: https://github.com/k8s-at-home/charts/tree/master/charts/librespeed

View File

@ -1,96 +1,152 @@
# Librespeed # librespeed
HTML5 based speedtest with password protected history ![Version: 2.0.1](https://img.shields.io/badge/Version-2.0.1-informational?style=flat-square) ![AppVersion: 1.0.6-12](https://img.shields.io/badge/AppVersion-1.0.6--12-informational?style=flat-square)
**This chart is not maintained by the Librespeed project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new)** Librespeed is a HTML5 webpage to test upload and download speeds
## TL;DR; **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)**
```shell ## Source Code
* <https://github.com/librespeed/speedtest>
* <https://hub.docker.com/r/linuxserver/librespeed>
* <https://github.com/k8s-at-home/charts/tree/master/charts/librespeed>
## Requirements
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
## TL;DR
```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/ helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm install k8s-at-home/librespeed helm repo update
helm install librespeed k8s-at-home/librespeed
``` ```
## Introduction
This code is adopted from the [Linuxserver Librespeed docker image](https://hub.docker.com/r/linuxserver/librespeed) which runs the [Librespeed application](https://github.com/librespeed/speedtest)
## Installing the Chart ## Installing the Chart
To install the chart with the release name `my-release`: To install the chart with the release name `librespeed`
```shell ```console
helm install --name my-release k8s-at-home/librespeed helm install librespeed k8s-at-home/librespeed
``` ```
## Uninstalling the Chart ## Uninstalling the Chart
To uninstall/delete the `my-release` deployment: To uninstall the `librespeed` deployment
```shell ```console
helm delete my-release --purge helm uninstall librespeed
``` ```
The command removes all the Kubernetes components associated with the chart and deletes the release. The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Configuration ## Configuration
The following tables lists the configurable parameters of the Librespeed chart and their default values. Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
| Parameter | Description | Default | Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|:---------------------------------- |:----------------------------------------------------------------------- |:------------------------- |
| `image.repository` | Librespeed image | `linuxserver/librespeed` |
| `image.tag` | Librespeed image tag | `5.2-ls25` |
| `image.pullPolicy` | Librespeed image pull policy | `IfNotPresent` |
| `strategyType` | Specifies the strategy used to replace old Pods by new ones | `Recreate` |
| `livenessProbePath` | Default livenessProbe path | `/` |
| `readinessProbePath` | Default readinessProbe path | `/` |
| `timezone` | Default timezone | `UTC` |
| `puid` | Default UID | `1000` |
| `pgid` | Default GID | `1000` |
| `telemetry` | Enable/Disable history | `false` |
| `title` | Title of your speedtest | `LibreSpeed` |
| `idObfuscation` | Test IDs are obfuscated, avoids exposing database internal sequential IDs| `false` |
| `redactIPAddresses` | IP addresses/hostnames are redacted from the collected telemetry | `false` |
| `email` | Email address for GDPR requests. Must be specified when telemetry=true | `fake@fake.com |
| `distance` | how the distance from the server is measured. Options `km`, `mi`, or `` | `km` |
| `service.type` | Kubernetes service type for the GUI | `ClusterIP` |
| `service.port` | Kubernetes port where the GUI is exposed | `1880` |
| `service.nodePort` | Kubernetes nodePort where the GUI is exposed | `` |
| `service.annotations` | Service annotations for the GUI | `{}` |
| `service.labels` | Custom labels | `{}` |
| `service.loadBalancerIP` | Loadbalance IP for the GUI | `{}` |
| `service.loadBalancerSourceRanges` | List of IP CIDRs allowed access to load balancer (if supported) | None |
| `service.externalTrafficPolicy` | Set the externalTrafficPolicy in the Service to either Cluster or Local | `Cluster` |
| `ingress.enabled` | Enables Ingress | `false` |
| `ingress.annotations` | Ingress annotations | `{}` |
| `ingress.path` | Ingress path | `/` |
| `ingress.hosts` | Ingress accepted hostnames | `chart-example.local` |
| `ingress.tls` | Ingress TLS configuration | `[]` |
| `persistence.enabled` | Use persistent volume to store data | `false` |
| `persistence.size` | Size of persistent volume claim | `5Gi` |
| `persistence.existingClaim` | Use an existing PVC to persist data | `nil` |
| `persistence.storageClass` | Type of persistent volume claim | `-` |
| `persistence.accessModes` | Persistence access modes | `ReadWriteOnce` |
| `persistence.subPath` | Mount a sub dir of the persistent volume | `nil` |
| `resources` | CPU/Memory resource requests/limits | `{}` |
| `nodeSelector` | Node labels for pod assignment | `{}` |
| `tolerations` | Toleration labels for pod assignment | `[]` |
| `affinity` | Affinity settings for pod assignment | `{}` |
| `podAnnotations` | Key-value pairs to add as pod annotations | `{}` |
| `deploymentAnnotations` | Key-value pairs to add as deployment annotations | `{}` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, ```console
helm install librespeed \
```shell --set env.TZ="America/New York" \
helm install --name my-release \
--set config.timezone="America/New_York" \
k8s-at-home/librespeed k8s-at-home/librespeed
``` ```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```shell ```console
helm install --name my-release -f values.yaml k8s-at-home/librespeed helm install librespeed k8s-at-home/librespeed -f values.yaml
``` ```
Read through the [values.yaml](values.yaml) file. It has several commented out suggested values. ## Custom configuration
N/A
## 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/charts/tree/master/charts/common/)
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | Affinity settings for pod assignment or the homebridge GUI |
| deploymentAnnotations | object | `{}` | Key-value pairs to add as deployment annotations |
| distance | string | `"km"` | how the distance from the server is measured. Options `km`, `mi`, or `` |
| email | string | `nil` | Email address for GDPR requests. Must be specified when telemetry=true |
| fullnameOverride | string | `""` | |
| idObfuscation | bool | `false` | Test IDs are obfuscated, avoids exposing database internal sequential IDs |
| image.pullPolicy | string | `"IfNotPresent"` | Librespeed image pull policy |
| image.repository | string | `"adolfintel/speedtest"` | Librespeed image |
| image.tag | string | `"latest"` | Librespeed image tag |
| ingress.annotations | object | `{}` | Ingress annotations |
| ingress.enabled | bool | `false` | Enables Ingress |
| ingress.hosts | list | `["chart-example.local"]` | Ingress accepted hostnames |
| ingress.path | string | `"/"` | Ingress path |
| ingress.tls | list | `[]` | Ingress TLS configuration |
| livenessProbePath | string | `"/"` | Default livenessProbe path |
| nameOverride | string | `""` | |
| nodeSelector | object | `{}` | Node labels for pod assignment or the homebridge GUI |
| password | string | `"ChangeMe"` | password for stats page |
| persistence.accessMode | string | `"ReadWriteOnce"` | Persistence access modes |
| persistence.enabled | bool | `true` | Use persistent volume to store data |
| persistence.existingClaim | string | `nil` | Use an existing PVC to persist data |
| persistence.size | string | `"1Gi"` | Size of persistent volume claim |
| persistence.skipuninstall | bool | `false` | Do not delete the pvc upon helm uninstall |
| persistence.storageClass | string | `nil` | Type of persistent volume claim |
| persistence.subPath | string | `nil` | When mounting the data volume you may specify a subPath |
| pgid | string | `"1000"` | Default GID |
| podAnnotations | object | `{}` | Key-value pairs to add as pod annotations |
| puid | string | `"1000"` | Default UID |
| readinessProbePath | string | `"/"` | Default readinessProbe path |
| redactIPAddresses | bool | `false` | IP addresses/hostnames are redacted from the collected telemetry |
| resources | object | `{}` | CPU/Memory resource requests/limits or the homebridge GUI |
| service.annotations | object | `{}` | Service annotations for the GUI |
| service.externalTrafficPolicy | string | `"Cluster"` | Set the externalTrafficPolicy in the Service to either Cluster or Local |
| service.labels | object | `{}` | Custom labels |
| service.loadBalancerIP | string | `nil` | Loadbalance IP for the GUI |
| service.loadBalancerSourceRanges | list | `nil` | List of IP CIDRs allowed access to load balancer (if supported) |
| service.nodePort | int | `nil` | Kubernetes nodePort where the GUI is exposed |
| service.port | int | `80` | Kubernetes port where the GUI is exposed |
| service.type | string | `"ClusterIP"` | Kubernetes service type for the GUI |
| strategyType | string | `"Recreate"` | Specifies the strategy used to replace old Pods by new ones |
| telemetry | bool | `false` | Enable/Disable history |
| timezone | string | `"UTC"` | Default timezone |
| title | string | `"LibreSpeed"` | Title of your speedtest |
| tolerations | list | `[]` | Toleration labels for pod assignment or the homebridge GUI |
## 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/charts/tree/master/charts/common/README.md#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).
### [2.0.1]
#### Added
- N/A
#### Changed
- Use helm-docs
#### Removed
- N/A
[2.0.1]: #2.0.1
## 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,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](../common/values.yaml) from the [common library](../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/charts/tree/master/charts/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/charts/tree/master/charts/common/README.md#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).
### [2.0.1]
#### Added
- N/A
#### Changed
- Use helm-docs
#### Removed
- N/A
[2.0.1]: #2.0.1
{{- 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

@ -2,112 +2,122 @@
# This is a YAML-formatted file. # This is a YAML-formatted file.
# Declare variables to be passed into your templates. # Declare variables to be passed into your templates.
# upgrade strategy type (e.g. Recreate or RollingUpdate) # -- Specifies the strategy used to replace old Pods by new ones
strategyType: Recreate strategyType: Recreate
image: image:
# -- Librespeed image
repository: adolfintel/speedtest repository: adolfintel/speedtest
# -- Librespeed image tag
tag: latest tag: latest
# -- Librespeed image pull policy
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
nameOverride: "" nameOverride: ""
fullnameOverride: "" fullnameOverride: ""
# -- Default livenessProbe path
livenessProbePath: / livenessProbePath: /
# -- Default readinessProbe path
readinessProbePath: / readinessProbePath: /
# -- Default timezone
timezone: "UTC" timezone: "UTC"
# -- Default UID
puid: "1000" puid: "1000"
# -- Default GID
pgid: "1000" pgid: "1000"
## Store results? If enabled, password is required # -- Enable/Disable history
telemetry: false telemetry: false
## The following are required when telemetry is enabled # -- password for stats page
## If telemetry is enabled, a stats page will be available at http://your.server/results/stats.php password: "ChangeMe"
# password: "ChangeMe" # -- (string) Email address for GDPR requests. Must be specified when telemetry=true
# email: "fake@fake.com" email:
## The following are optional. The defaults are listed # -- Title of your speedtest
# title: LibreSpeed title: LibreSpeed
## Test IDs are obfuscated, to avoid exposing the database internal sequential IDs # -- Test IDs are obfuscated, avoids exposing database internal sequential IDs
# idObfuscation: false idObfuscation: false
## IP addresses and hostnames are redacted from the collected telemetry, for better privacy # -- IP addresses/hostnames are redacted from the collected telemetry
# redactIPAddresses: false redactIPAddresses: false
## Specifies how the distance from the server is measured. Can be either km for kilometers, mi for miles, or an empty string to disable distance measurement. # -- how the distance from the server is measured. Options `km`, `mi`, or ``
# distance: "km" distance: "km"
service: service:
# -- Kubernetes service type for the GUI
type: ClusterIP type: ClusterIP
# -- Kubernetes port where the GUI is exposed
port: 80 port: 80
## Specify the nodePort value for the LoadBalancer and NodePort service types. # -- (int) Kubernetes nodePort where the GUI is exposed
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport nodePort:
## # -- Service annotations for the GUI
# nodePort:
## Provide any additional annotations which may be required. This can be used to
## set the LoadBalancer service type to internal only.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
##
annotations: {} annotations: {}
# -- Custom labels
labels: {} labels: {}
## Use loadBalancerIP to request a specific static IP, # -- (string) Loadbalance IP for the GUI
## otherwise leave blank
##
loadBalancerIP: loadBalancerIP:
# loadBalancerSourceRanges: [] # -- (list) List of IP CIDRs allowed access to load balancer (if supported)
## Set the externalTrafficPolicy in the Service to either Cluster or Local loadBalancerSourceRanges:
# externalTrafficPolicy: Cluster # -- Set the externalTrafficPolicy in the Service to either Cluster or Local
externalTrafficPolicy:
ingress: ingress:
# -- Enables Ingress
enabled: false enabled: false
# -- Ingress annotations
annotations: {} annotations: {}
# kubernetes.io/ingress.class: nginx # -- Ingress path
# kubernetes.io/tls-acme: "true"
path: / path: /
# -- Ingress accepted hostnames
hosts: hosts:
- chart-example.local - chart-example.local
# -- Ingress TLS configuration
tls: [] tls: []
# - secretName: chart-example-tls # - secretName: chart-example-tls
# hosts: # hosts:
# - chart-example.local # - chart-example.local
persistence: persistence:
# -- Use persistent volume to store data
enabled: false enabled: false
## node-red data Persistent Volume Storage Class # -- (string) Type of persistent volume claim
## If defined, storageClassName: <storageClass> storageClass:
## If set to "-", storageClassName: "", which disables dynamic provisioning # -- (string) Use an existing PVC to persist data
## If undefined (the default) or set to null, no storageClassName spec is existingClaim:
## set, choosing the default provisioner. (gp2 on AWS, standard on # -- Persistence access modes
## GKE, AWS & OpenStack)
##
# storageClass: "-"
##
## If you want to reuse an existing claim, you can pass the name of the PVC using
## the existingClaim variable
# existingClaim: your-claim
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
# -- Size of persistent volume claim
size: 1Gi size: 1Gi
## When mounting the data volume you may specify a subPath # -- Do not delete the pvc upon helm uninstall
# subPath: /configs/node-red skipuninstall: false
# -- (string) When mounting the data volume you may specify a subPath
subPath:
# -- CPU/Memory resource requests/limits or the homebridge GUI
resources: {} resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious # We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little # choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following # resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits: # limits:
# cpu: 100m # cpu: 100m
# memory: 128Mi # memory: 128Mi
# requests: # requests:
# cpu: 100m # cpu: 100m
# memory: 128Mi # memory: 128Mi
# -- Node labels for pod assignment or the homebridge GUI
nodeSelector: {} nodeSelector: {}
# -- Toleration labels for pod assignment or the homebridge GUI
tolerations: [] tolerations: []
# -- Affinity settings for pod assignment or the homebridge GUI
affinity: {} affinity: {}
# -- Key-value pairs to add as pod annotations
podAnnotations: {} podAnnotations: {}
# -- Key-value pairs to add as deployment annotations
deploymentAnnotations: {} deploymentAnnotations: {}

View File

@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: node-feature-discovery name: node-feature-discovery
version: 2.1.0 version: 2.1.1
appVersion: 0.7.0 appVersion: 0.7.0
description: Detect hardware features available on each node in a Kubernetes cluster, and advertises those features using node labels description: Detect hardware features available on each node in a Kubernetes cluster, and advertises those features using node labels
keywords: keywords:

View File

@ -1,72 +1,141 @@
# node-feature-discovery helm chart # node-feature-discovery
This is a helm chart for [node-feature-discovery](https://github.com/kubernetes-sigs/node-feature-discovery) using the master/worker pattern. ![Version: 2.1.1](https://img.shields.io/badge/Version-2.1.1-informational?style=flat-square) ![AppVersion: 0.7.0](https://img.shields.io/badge/AppVersion-0.7.0-informational?style=flat-square)
Detect hardware features available on each node in a Kubernetes cluster, and advertises those features using node labels
**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/kubernetes-sigs/node-feature-discovery>
* <https://github.com/k8s-at-home/charts>
## Requirements
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
## TL;DR ## TL;DR
```shell ```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/ helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm install k8s-at-home/node-feature-discovery helm repo update
helm install node-feature-discovery k8s-at-home/node-feature-discovery
``` ```
## Installing the Chart ## Installing the Chart
To install the chart with the release name `my-release`: To install the chart with the release name `node-feature-discovery`
```shell ```console
helm install my-release k8s-at-home/node-feature-discovery helm install node-feature-discovery k8s-at-home/node-feature-discovery
``` ```
## Uninstalling the Chart ## Uninstalling the Chart
To uninstall/delete the `my-release` deployment: To uninstall the `node-feature-discovery` deployment
```shell ```console
helm delete my-release --purge helm uninstall node-feature-discovery
``` ```
The command removes all the Kubernetes components associated with the chart and deletes the release. The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Configuration ## Configuration
The following tables lists the configurable parameters of the Sentry chart and their default values. Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Read through the [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/node-feature-discovery/values.yaml) file. It has several commented out suggested values. Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
| Parameter | Description | Default | Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
| ------------------------------------------- | -------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| `image.repository` | Image repository | `quay.io/kubernetes_incubator/node-feature-discovery` |
| `image.tag` | Image tag. Possible values listed [here](https://github.com/kubernetes-sigs/node-feature-discovery/releases). | `v0.6.0` |
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
| `strategyType` | Specifies the strategy used to replace old Pods by new ones | `Recreate` |
| `sources` | List of sources to consider when labeling - see [documentation](https://github.com/kubernetes-sigs/node-feature-discovery#feature-sources) for info | `[]` |
| `config` | node-feature-discovery configuration - see [nfd-worker.conf.example](https://github.com/kubernetes-sigs/node-feature-discovery/blob/master/nfd-worker.conf.example) for example | `{}` |
| `service.type` | Kubernetes service type for the GUI | `ClusterIP` |
| `service.port` | Kubernetes port where the GUI is exposed | `8080` |
| `service.annotations` | Service annotations for the GUI | `{}` |
| `service.labels` | Custom labels | `{}` |
| `service.loadBalancerIP` | Loadbalancer IP for the GUI | `{}` |
| `service.loadBalancerSourceRanges` | List of IP CIDRs allowed access to load balancer (if supported) | `nil` |
| `podAnnotations` | Key-value pairs to add as pod annotations | `{}` |
| `master.replicaCount` | Number of replicas to scale the master component to | `1` |
| `master.resources` | CPU/Memory resource requests/limits for master component | `{}` |
| `master.nodeSelector` | Node labels for master component pod assignment | `{}` |
| `master.tolerations` | Toleration labels for master component pod assignment | See [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/node-feature-discovery/values.yaml) |
| `master.affinity` | Affinity settings for master component pod assignment | See [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/node-feature-discovery/values.yaml) |
| `worker.resources` | CPU/Memory resource requests/limits for worker component | `{}` |
| `worker.nodeSelector` | Node labels for worker component pod assignment | `{}` |
| `worker.tolerations` | Toleration labels for worker component pod assignment | `[]` |
| `worker.affinity` | Affinity settings for worker component pod assignment | `{}` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console ```console
helm install my-release \ helm install node-feature-discovery \
--set image.pullPolicy="Always" \ --set env.TZ="America/New York" \
k8s-at-home/node-feature-discovery k8s-at-home/node-feature-discovery
``` ```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console ```console
helm install my-release -f values.yaml k8s-at-home/node-feature-discovery helm install node-feature-discovery k8s-at-home/node-feature-discovery -f values.yaml
``` ```
## Custom configuration
N/A
## 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/charts/tree/master/charts/common/)
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| config | string | `"#sources:\n# cpu:\n# cpuid:\n## NOTE: whitelist has priority over blacklist\n# attributeBlacklist:\n# - \"BMI1\"\n# - \"BMI2\"\n# - \"CLMUL\"\n# - \"CMOV\"\n# - \"CX16\"\n# - \"ERMS\"\n# - \"F16C\"\n# - \"HTT\"\n# - \"LZCNT\"\n# - \"MMX\"\n# - \"MMXEXT\"\n# - \"NX\"\n# - \"POPCNT\"\n# - \"RDRAND\"\n# - \"RDSEED\"\n# - \"RDTSCP\"\n# - \"SGX\"\n# - \"SSE\"\n# - \"SSE2\"\n# - \"SSE3\"\n# - \"SSE4.1\"\n# - \"SSE4.2\"\n# - \"SSSE3\"\n# attributeWhitelist:\n# kernel:\n# kconfigFile: \"/path/to/kconfig\"\n# configOpts:\n# - \"NO_HZ\"\n# - \"X86\"\n# - \"DMI\"\n# pci:\n# deviceClassWhitelist:\n# - \"0200\"\n# - \"03\"\n# - \"12\"\n# deviceLabelFields:\n# - \"class\"\n# - \"vendor\"\n# - \"device\"\n# - \"subsystem_vendor\"\n# - \"subsystem_device\"\n# usb:\n# deviceClassWhitelist:\n# - \"0e\"\n# - \"ef\"\n# - \"fe\"\n# - \"ff\"\n# deviceLabelFields:\n# - \"class\"\n# - \"vendor\"\n# - \"device\"\n# custom:\n# - name: \"my.kernel.feature\"\n# matchOn:\n# - loadedKMod: [\"example_kmod1\", \"example_kmod2\"]\n# - name: \"my.pci.feature\"\n# matchOn:\n# - pciId:\n# class: [\"0200\"]\n# vendor: [\"15b3\"]\n# device: [\"1014\", \"1017\"]\n# - pciId :\n# vendor: [\"8086\"]\n# device: [\"1000\", \"1100\"]\n# - name: \"my.usb.feature\"\n# matchOn:\n# - usbId:\n# class: [\"ff\"]\n# vendor: [\"03e7\"]\n# device: [\"2485\"]\n# - usbId:\n# class: [\"fe\"]\n# vendor: [\"1a6e\"]\n# device: [\"089a\"]\n# - name: \"my.combined.feature\"\n# matchOn:\n# - pciId:\n# vendor: [\"15b3\"]\n# device: [\"1014\", \"1017\"]\n# loadedKMod : [\"vendor_kmod1\", \"vendor_kmod2\"]\n"` | node-feature-discovery configuration - see https://github.com/kubernetes-sigs/node-feature-discovery/blob/master/nfd-worker.conf.example for example |
| fullnameOverride | string | `""` | |
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
| image.repository | string | `"gcr.io/k8s-staging-nfd/node-feature-discovery"` | Image repository |
| image.tag | string | `"v0.7.0"` | Image tag. Possible values listed [here](https://github.com/kubernetes-sigs/node-feature-discovery/releases). |
| imagePullSecrets | list | `[]` | |
| master.affinity | object | `{"nodeAffinity":{"preferredDuringSchedulingIgnoredDuringExecution":[{"preference":{"matchExpressions":[{"key":"node-role.kubernetes.io/master","operator":"In","values":[""]}]},"weight":1}]}}` | Affinity settings for master component pod assignment |
| master.nodeSelector | object | `{}` | Node labels for master component pod assignment |
| master.replicaCount | int | `1` | Number of replicas to scale the master component to |
| master.resources | object | `{}` | CPU/Memory resource requests/limits for master component |
| master.securityContext | object | `{}` | |
| master.tolerations | list | `[{"effect":"NoSchedule","key":"node-role.kubernetes.io/master","operator":"Equal","value":""}]` | Toleration labels for master component pod assignment. |
| nameOverride | string | `""` | |
| podAnnotations | object | `{}` | Key-value pairs to add as pod annotations |
| podSecurityContext | object | `{}` | |
| rbac.create | bool | `true` | |
| service.annotations | object | `{}` | Service annotations for the GUI |
| service.clusterIP | string | `""` | |
| service.externalTrafficPolicy | string | `"Local"` | Set the externalTrafficPolicy in the Service to either Cluster or Local |
| service.labels | object | `{}` | Custom labels |
| service.loadBalancerIP | string | `nil` | Loadbalance IP for the GUI |
| service.loadBalancerSourceRanges | list | `nil` | List of IP CIDRs allowed access to load balancer (if supported) |
| service.nodePort | int | `nil` | Kubernetes nodePort where the GUI is exposed |
| service.port | int | `8080` | Kubernetes port where the GUI is exposed |
| service.type | string | `"ClusterIP"` | Kubernetes service type for the GUI |
| serviceAccount.annotations | object | `{}` | |
| serviceAccount.create | bool | `true` | |
| serviceAccount.name | string | `""` | |
| sources | list | `[]` | List of sources to consider when labeling - see [documentation](https://github.com/kubernetes-sigs/node-feature-discovery#feature-sources) for info |
| worker.affinity | object | `{}` | Affinity settings for worker component pod assignment |
| worker.nodeSelector | object | `{}` | Node labels for worker component pod assignment |
| worker.resources | object | `{}` | CPU/Memory resource requests/limits for worker component |
| worker.securityContext | object | `{}` | |
| worker.tolerations | list | `[]` | Toleration labels for worker component pod assignment |
## 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/charts/tree/master/charts/common/README.md#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
- N/A
#### 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,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](../common/values.yaml) from the [common library](../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/charts/tree/master/charts/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/charts/tree/master/charts/common/README.md#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
- N/A
#### 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

@ -3,9 +3,11 @@
# Declare variables to be passed into your templates. # Declare variables to be passed into your templates.
image: image:
# -- Image repository
repository: gcr.io/k8s-staging-nfd/node-feature-discovery repository: gcr.io/k8s-staging-nfd/node-feature-discovery
# -- Image pull policy
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion. # -- Image tag. Possible values listed [here](https://github.com/kubernetes-sigs/node-feature-discovery/releases).
tag: "v0.7.0" tag: "v0.7.0"
imagePullSecrets: [] imagePullSecrets: []
@ -25,7 +27,7 @@ rbac:
# Specifies whether RBAC roles should be created # Specifies whether RBAC roles should be created
create: true create: true
# Comma separated list of feature sources. # -- List of sources to consider when labeling - see [documentation](https://github.com/kubernetes-sigs/node-feature-discovery#feature-sources) for info
sources: [] sources: []
# - cpu # - cpu
# - custom # - custom
@ -39,7 +41,7 @@ sources: []
# - system # - system
# - usb # - usb
# node-feature-discovery configuration - see https://github.com/kubernetes-sigs/node-feature-discovery/blob/master/nfd-worker.conf.example for example # -- node-feature-discovery configuration - see https://github.com/kubernetes-sigs/node-feature-discovery/blob/master/nfd-worker.conf.example for example
config: | config: |
#sources: #sources:
# cpu: # cpu:
@ -128,28 +130,32 @@ config: |
# loadedKMod : ["vendor_kmod1", "vendor_kmod2"] # loadedKMod : ["vendor_kmod1", "vendor_kmod2"]
service: service:
# -- Kubernetes service type for the GUI
type: ClusterIP type: ClusterIP
clusterIP: "" clusterIP: ""
# -- Kubernetes port where the GUI is exposed
port: 8080 port: 8080
# -- (int) Kubernetes nodePort where the GUI is exposed
nodePort:
# -- Service annotations for the GUI
annotations: {}
# -- Custom labels
labels: {}
# -- (string) Loadbalance IP for the GUI
loadBalancerIP:
# -- (list) List of IP CIDRs allowed access to load balancer (if supported)
loadBalancerSourceRanges:
# -- Set the externalTrafficPolicy in the Service to either Cluster or Local
externalTrafficPolicy:
## Specify the nodePort value for the LoadBalancer and NodePort service types. # -- Key-value pairs to add as pod annotations
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
# nodePort:
## List of IP addresses at which the hass-configurator service is available
## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
externalIPs: []
## Use loadBalancerIP to request a specific static IP, otherwise leave blank
loadBalancerIP: ""
# loadBalancerSourceRanges: []
## Set the externalTrafficPolicy in the Service to either Cluster or Local
externalTrafficPolicy: # Local
podAnnotations: {} podAnnotations: {}
podSecurityContext: {} podSecurityContext: {}
# fsGroup: 2000 # fsGroup: 2000
master: master:
# -- Number of replicas to scale the master component to
replicaCount: 1 replicaCount: 1
securityContext: {} securityContext: {}
@ -160,6 +166,7 @@ master:
# runAsNonRoot: true # runAsNonRoot: true
# runAsUser: 1000 # runAsUser: 1000
# -- CPU/Memory resource requests/limits for master component
resources: {} resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious # We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little # choice for the user. This also increases chances charts run on environments with little
@ -172,14 +179,17 @@ master:
# cpu: 100m # cpu: 100m
# memory: 128Mi # memory: 128Mi
# -- Node labels for master component pod assignment
nodeSelector: {} nodeSelector: {}
# -- Toleration labels for master component pod assignment.
tolerations: tolerations:
- key: "node-role.kubernetes.io/master" - key: "node-role.kubernetes.io/master"
operator: "Equal" operator: "Equal"
value: "" value: ""
effect: "NoSchedule" effect: "NoSchedule"
# -- Affinity settings for master component pod assignment
affinity: affinity:
nodeAffinity: nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution: preferredDuringSchedulingIgnoredDuringExecution:
@ -199,6 +209,7 @@ worker:
# runAsNonRoot: true # runAsNonRoot: true
# runAsUser: 1000 # runAsUser: 1000
# -- CPU/Memory resource requests/limits for worker component
resources: {} resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious # We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little # choice for the user. This also increases chances charts run on environments with little
@ -211,8 +222,11 @@ worker:
# cpu: 100m # cpu: 100m
# memory: 128Mi # memory: 128Mi
# -- Node labels for worker component pod assignment
nodeSelector: {} nodeSelector: {}
# -- Toleration labels for worker component pod assignment
tolerations: [] tolerations: []
# -- Affinity settings for worker component pod assignment
affinity: {} affinity: {}

View File

@ -1,5 +1,5 @@
name: oauth2-proxy name: oauth2-proxy
version: 5.0.0 version: 5.0.1
apiVersion: v1 apiVersion: v1
appVersion: 7.0.1 appVersion: 7.0.1
home: https://oauth2-proxy.github.io/oauth2-proxy/ home: https://oauth2-proxy.github.io/oauth2-proxy/

View File

@ -1,154 +1,72 @@
# oauth2-proxy # oauth2-proxy
[oauth2-proxy](https://github.com/pusher/oauth2_proxy) is a reverse proxy and static file server that provides authentication using Providers (Google, GitHub, and others) to validate accounts by email, domain or group. ![Version: 5.0.1](https://img.shields.io/badge/Version-5.0.1-informational?style=flat-square) ![AppVersion: 7.0.1](https://img.shields.io/badge/AppVersion-7.0.1-informational?style=flat-square)
## TL;DR; A reverse proxy that provides authentication with Google, Github or other providers
**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/oauth2-proxy/oauth2-proxy>
## Requirements
Kubernetes: `>=1.9.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
## TL;DR
```console ```console
$ helm install stable/oauth2-proxy helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install oauth2-proxy k8s-at-home/oauth2-proxy
``` ```
## Introduction
This chart bootstraps an oauth2-proxy deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
## Installing the Chart ## Installing the Chart
To install the chart with the release name `my-release`: To install the chart with the release name `oauth2-proxy`
```console ```console
$ helm install stable/oauth2-proxy --name my-release helm install oauth2-proxy k8s-at-home/oauth2-proxy
``` ```
The command deploys oauth2-proxy on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
## Uninstalling the Chart ## Uninstalling the Chart
To uninstall/delete the `my-release` deployment: To uninstall the `oauth2-proxy` deployment
```console ```console
$ helm delete my-release helm uninstall oauth2-proxy
``` ```
The command removes all the Kubernetes components associated with the chart and deletes the release. The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Upgrading an existing Release to a new major version
A major chart version change (like v1.2.3 -> v2.0.0) indicates that there is an
incompatible breaking change needing manual actions.
### To 1.0.0
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.
### To 2.0.0
Version 2.0.0 of this chart introduces support for Kubernetes v1.16.x by way of addressing the deprecation of the Deployment object apiVersion `apps/v1beta2`. See [the v1.16 API deprecations page](https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/) for more information.
Due to [this issue](https://github.com/helm/helm/issues/6583) there may be errors performing a `helm upgrade`of this chart from versions earlier than 2.0.0.
### To 3.0.0
Version 3.0.0 introduces support for [EKS IAM roles for service accounts](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) by adding a managed service account to the chart. This is a breaking change since the service account is enabled by default. To disable this behaviour set `serviceAccount.enabled` to `false`
### To 4.0.0
This is a breaking change as the chart was moved to k8s-at-home. No other change on top of the 3.x.x branch.
## To 5.0.0
Not many breaking changes. See the [changelog](https://github.com/oauth2-proxy/oauth2-proxy/releases/tag/v7.0.0) for oauth2-proxy, specifically the section "Breaking Changes" for a few configuration changes, particularly to do with the Azure provider.
## Configuration ## Configuration
The following table lists the configurable parameters of the oauth2-proxy chart and their default values. Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
Parameter | Description | Default Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
--- | --- | ---
`affinity` | node/pod affinities | None
`authenticatedEmailsFile.enabled` | Enables authorize individual email addresses | `false`
`authenticatedEmailsFile.template` | Name of the configmap that is handled outside of that chart | `""`
`authenticatedEmailsFile.restricted_access` | [email addresses](https://github.com/pusher/oauth2_proxy#email-authentication) list config | `""`
`config.clientID` | oauth client ID | `""`
`config.clientSecret` | oauth client secret | `""`
`config.cookieSecret` | server specific cookie for the secret; create a new one with `openssl rand -base64 32 | head -c 32 | base64` | `""`
`config.existingSecret` | existing Kubernetes secret to use for OAuth2 credentials. See [secret template](https://github.com/helm/charts/blob/master/stable/oauth2-proxy/templates/secret.yaml) for the required values | `nil`
`config.configFile` | 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.existingConfig` | existing 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 | `nil`
`config.google.adminEmail` | user impersonated by the google service account | `""`
`config.google.serviceAccountJson` | google service account json contents | `""`
`config.google.existingConfig` | existing Kubernetes configmap to use for the service account file. See [google secret template](https://github.com/helm/charts/blob/master/stable/oauth2-proxy/templates/google-secret.yaml) for the required values | `nil`
`extraArgs` | key:value list of extra arguments to give the binary | `{}`
`extraEnv` | key:value list of extra environment variables to give the binary | `[]`
`extraVolumes` | list of extra volumes | `[]`
`extraVolumeMounts` | list of extra volumeMounts | `[]`
`htpasswdFile.enabled` | enable htpasswd-file option | `false`
`htpasswdFile.entries` | list of [SHA encrypted user:passwords](https://pusher.github.io/oauth2_proxy/configuration#command-line-options) | `{}`
`htpasswdFile.existingSecret` | existing Kubernetes secret to use for OAuth2 htpasswd file | `""`
`httpScheme` | `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. | `http`
`image.pullPolicy` | Image pull policy | `IfNotPresent`
`image.repository` | Image repository | `quay.io/pusher/oauth2_proxy`
`image.tag` | Image tag | `v5.1.0`
`imagePullSecrets` | Specify image pull secrets | `nil` (does not add image pull secrets to deployed pods)
`ingress.enabled` | Enable Ingress | `false`
`ingress.ingressClassName` | Set ingressClassName | `nil`
`ingress.path` | Ingress accepted path | `/`
`ingress.extraPaths` | Ingress extra paths to prepend to every host configuration. Useful when configuring [custom actions with AWS ALB Ingress Controller](https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/ingress/annotation/#actions). | `[]`
`ingress.annotations` | Ingress annotations | `nil`
`ingress.hosts` | Ingress accepted hostnames | `nil`
`ingress.tls` | Ingress TLS configuration | `nil`
`initContainers` | pod init containers | `[]`
`livenessProbe.enabled` | enable Kubernetes livenessProbe. Disable to use oauth2-proxy with Istio mTLS. See [Istio FAQ](https://istio.io/help/faq/security/#k8s-health-checks) | `true`
`livenessProbe.initialDelaySeconds` | number of seconds | 0
`livenessProbe.timeoutSeconds` | number of seconds | 1
`nodeSelector` | node labels for pod assignment | `{}`
`podAnnotations` | annotations to add to each pod | `{}`
`podLabels` | additional labesl to add to each pod | `{}`
`podDisruptionBudget.enabled`| Enabled creation of PodDisruptionBudget (only if replicaCount > 1) | true
`podDisruptionBudget.minAvailable`| minAvailable parameter for PodDisruptionBudget | 1
`podSecurityContext` | Kubernetes security context to apply to pod | `{}`
`priorityClassName` | priorityClassName | `nil`
`readinessProbe.enabled` | enable Kubernetes readinessProbe. Disable to use oauth2-proxy with Istio mTLS. See [Istio FAQ](https://istio.io/help/faq/security/#k8s-health-checks) | `true`
`readinessProbe.initialDelaySeconds` | number of seconds | 0
`readinessProbe.timeoutSeconds` | number of seconds | 1
`readinessProbe.periodSeconds` | number of seconds | 10
`readinessProbe.successThreshold` | number of successes | 1
`replicaCount` | desired number of pods | `1`
`resources` | pod resource requests & limits | `{}`
`service.port` | port for the service | `80`
`service.type` | type of service | `ClusterIP`
`service.clusterIP` | cluster ip address | `nil`
`service.loadBalancerIP` | ip of load balancer | `nil`
`service.loadBalancerSourceRanges` | allowed source ranges in load balancer | `nil`
`serviceAccount.enabled` | create a service account | `true`
`serviceAccount.name` | the service account name | ``
`serviceAccount.annotations` | (optional) annotations for the service account | `{}`
`tolerations` | list of node taints to tolerate | `[]`
`topologySpreadConstraints.enabled` | enable Kubernetes [topologySpreadConstraints](https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/) | `false`
`topologySpreadConstraints.maxSkew` | the degree to which Pods may be unevenly distributed | `1`
`topologySpreadConstraints.topologyKey` | the key of node labels | `topology.kubernetes.io/zone`
`topologySpreadConstraints.whenUnsatisfiable` | how to deal with a Pod if it doesn't satisfy the spread constraint (`DoNotSchedule`, `ScheduleAnyway`) | `DoNotSchedule`
`securityContext.enabled` | enable Kubernetes security context on container | `false`
`securityContext.runAsNonRoot` | make sure that the container runs as a non-root user | `true`
`proxyVarsAsSecrets` | choose between environment values or secrets for setting up OAUTH2_PROXY variables. When set to false, remember to add the variables OAUTH2_PROXY_CLIENT_ID, OAUTH2_PROXY_CLIENT_SECRET, OAUTH2_PROXY_COOKIE_SECRET in extraEnv | `true`
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console ```console
$ helm install stable/oauth2-proxy --name my-release \ helm install oauth2-proxy \
--set=image.tag=v0.0.2,resources.limits.cpu=200m --set env.TZ="America/New York" \
k8s-at-home/oauth2-proxy
``` ```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console ```console
$ helm install stable/oauth2-proxy --name my-release -f values.yaml helm install oauth2-proxy k8s-at-home/oauth2-proxy -f values.yaml
``` ```
> **Tip**: You can use the default [values.yaml](values.yaml) ## Custom configuration
## SSL Configuration ### SSL Configuration
See: [SSL Configuration](https://pusher.github.io/oauth2_proxy/tls-configuration). See: [SSL Configuration](https://pusher.github.io/oauth2_proxy/tls-configuration).
Use ```values.yaml``` like: Use ```values.yaml``` like:
@ -178,3 +96,126 @@ data:
cert.pem: AB..== cert.pem: AB..==
cert.key: CD..== cert.key: CD..==
``` ```
## 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/charts/tree/master/charts/common/)
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| 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.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.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 | `{}` | |
| extraArgs | object | `{}` | key:value list of extra arguments to give the binary |
| extraEnv | list | `[]` | key:value list of extra environment variables to give the binary |
| 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.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 |
| image.repository | string | `"quay.io/oauth2-proxy/oauth2-proxy"` | Image repository |
| image.tag | string | `"v7.0.1"` | Image tag |
| imagePullSecrets | list | `nil` | Optionally specify an array of imagePullSecrets. Secrets must be manually created in the namespace. ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod |
| ingress.annotations | object | `{}` | Ingress annotations |
| ingress.enabled | bool | `false` | Enable Ingress |
| ingress.extraPaths | list | `[]` | Ingress extra paths to prepend to every host configuration. Useful when configuring [custom actions with AWS ALB Ingress Controller](https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/ingress/annotation/#actions). |
| ingress.hosts | list | `[]` | Ingress accepted hostnames |
| ingress.ingressClassName | string | `nil` | Set ingressClassName |
| ingress.path | string | `"/"` | Ingress accepted path |
| ingress.tls | list | `nil` | Ingress TLS configuration |
| initContainers | list | `[]` | Configure init containers for pod Ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ |
| livenessProbe | object | `{"enabled":true,"initialDelaySeconds":0,"timeoutSeconds":1}` | Configure Kubernetes liveness probes. Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ Disable both when deploying with Istio 1.0 mTLS. https://istio.io/help/faq/security/#k8s-health-checks |
| nodeSelector | object | `{}` | Node labels for pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/ |
| podAnnotations | object | `{}` | annotations to add to each pod |
| podDisruptionBudget | object | `{"enabled":true,"minAvailable":1}` | PodDisruptionBudget settings Ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/ |
| podLabels | object | `{}` | labels to add to each pod |
| podSecurityContext | object | `{}` | |
| priorityClassName | string | `""` | |
| proxyVarsAsSecrets | bool | `true` | |
| readinessProbe | object | `{"enabled":true,"initialDelaySeconds":0,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | Configure Kubernetes readiness probes. |
| replicaCount | int | `1` | |
| resources | object | `{}` | |
| securityContext | object | `{"enabled":false,"runAsNonRoot":true}` | Configure Kubernetes security context for container Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ |
| service.annotations | object | `{}` | Service annotations for the GUI |
| service.loadBalancerIP | string | `nil` | Loadbalance IP for the GUI |
| service.loadBalancerSourceRanges | list | `nil` | List of IP CIDRs allowed access to load balancer (if supported) |
| service.port | int | `80` | Kubernetes port where the GUI is exposed |
| service.type | string | `"ClusterIP"` | Kubernetes service type for the GUI |
| serviceAccount.annotations | object | `{}` | |
| serviceAccount.enabled | bool | `true` | |
| serviceAccount.name | string | `nil` | |
| tolerations | list | `[]` | Tolerations for pod assignment Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ |
| topologySpreadConstraints | object | `{"enabled":false,"maxSkew":1,"topologyKey":"topology.kubernetes.io/zone","whenUnsatisfiable":"DoNotSchedule"}` | Configure Pod Topology Spread Constraints See https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ Requires Kubernetes >= v1.16 |
## 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/charts/tree/master/charts/common/README.md#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]
#### 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.
### [2.0.0]
#### Changed
- support for Kubernetes v1.16.x by way of addressing the deprecation of the Deployment object apiVersion `apps/v1beta2`. See [the v1.16 API deprecations page](https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/) for more information.
Due to [this issue](https://github.com/helm/helm/issues/6583) there may be errors performing a `helm upgrade`of this chart from versions earlier than 2.0.0.
### [3.0.0]
#### Changed
- support for [EKS IAM roles for service accounts](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) by adding a managed service account to the chart. This is a breaking change since the service account is enabled by default. To disable this behaviour set `serviceAccount.enabled` to `false`
### [4.0.0]
#### Changed
- This is a breaking change as the chart was moved to k8s-at-home. No other change on top of the 3.x.x branch.
### [5.0.0]
#### Changed
- Not many breaking changes. See the [changelog](https://github.com/oauth2-proxy/oauth2-proxy/releases/tag/v7.0.0) for oauth2-proxy, specifically the section "Breaking Changes" for a few configuration changes, particularly to do with the Azure provider.
### [5.0.1]
#### Added
- N/A
#### Changed
- Use helm-docs
#### Removed
- N/A
[5.0.1]: #5.0.1
## 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,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](../common/values.yaml) from the [common library](../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/charts/tree/master/charts/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,59 @@
{{- 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/charts/tree/master/charts/common/README.md#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]
#### 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.
### [2.0.0]
#### Changed
- support for Kubernetes v1.16.x by way of addressing the deprecation of the Deployment object apiVersion `apps/v1beta2`. See [the v1.16 API deprecations page](https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/) for more information.
Due to [this issue](https://github.com/helm/helm/issues/6583) there may be errors performing a `helm upgrade`of this chart from versions earlier than 2.0.0.
### [3.0.0]
#### Changed
- support for [EKS IAM roles for service accounts](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) by adding a managed service account to the chart. This is a breaking change since the service account is enabled by default. To disable this behaviour set `serviceAccount.enabled` to `false`
### [4.0.0]
#### Changed
- This is a breaking change as the chart was moved to k8s-at-home. No other change on top of the 3.x.x branch.
### [5.0.0]
#### Changed
- Not many breaking changes. See the [changelog](https://github.com/oauth2-proxy/oauth2-proxy/releases/tag/v7.0.0) for oauth2-proxy, specifically the section "Breaking Changes" for a few configuration changes, particularly to do with the Azure provider.
### [5.0.1]
#### Added
- N/A
#### Changed
- Use helm-docs
#### Removed
- N/A
[5.0.1]: #5.0.1
{{- end -}}

View File

@ -0,0 +1,38 @@
{{- define "custom.custom.configuration.header" -}}
## Custom configuration
{{- end -}}
{{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }}
### SSL Configuration
See: [SSL Configuration](https://pusher.github.io/oauth2_proxy/tls-configuration).
Use ```values.yaml``` like:
```yaml
...
extraArgs:
tls-cert: /path/to/cert.pem
tls-key: /path/to/cert.key
extraVolumes:
- name: ssl-cert
secret:
secretName: my-ssl-secret
extraVolumeMounts:
- mountPath: /path/to/
name: ssl-cert
...
```
With a secret called `my-ssl-secret`:
```yaml
...
data:
cert.pem: AB..==
cert.key: CD..==
```
{{- end -}}

View File

@ -1,22 +1,22 @@
# Oauth client configuration specifics # Oauth client configuration specifics
config: config:
# OAuth client ID # -- OAuth client ID
clientID: "XXXXXXX" clientID: "XXXXXXX"
# OAuth client secret # -- OAuth client secret
clientSecret: "XXXXXXXX" clientSecret: "XXXXXXXX"
# Create a new secret with the following command # -- server specific cookie for the secret; create a new one with `openssl rand -base64 32 | head -c 32 | base64`
# openssl rand -base64 32 | head -c 32 | base64
# Use an existing secret for OAuth2 credentials (see secret.yaml for required fields)
# Example:
# existingSecret: secret
cookieSecret: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" cookieSecret: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
google: {} google: {}
# -- user impersonated by the google service account
# adminEmail: xxxx # adminEmail: xxxx
# -- google service account json contents
# serviceAccountJson: xxxx # serviceAccountJson: xxxx
# Alternatively, use an existing secret (see google-secret.yaml for required fields)
# Example: # -- Alternatively, use an existing secret (see google-secret.yaml for required fields)
# existingSecret: google-secret # existingSecret: google-secret
# Default configuration, to be overridden
# -- 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
configFile: |- configFile: |-
email_domains = [ "*" ] email_domains = [ "*" ]
upstreams = [ "file:///dev/null" ] upstreams = [ "file:///dev/null" ]
@ -24,32 +24,37 @@ config:
# configFile: |- # configFile: |-
# pass_basic_auth = false # pass_basic_auth = false
# pass_access_token = true # pass_access_token = true
# Use an existing config map (see configmap.yaml for required fields)
# Example: # -- (string)existing 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
# existingConfig: config existingConfig:
image: image:
# -- Image repository
repository: "quay.io/oauth2-proxy/oauth2-proxy" repository: "quay.io/oauth2-proxy/oauth2-proxy"
# -- Image tag
tag: "v7.0.1" tag: "v7.0.1"
# -- Image pull policy
pullPolicy: "IfNotPresent" pullPolicy: "IfNotPresent"
# Optionally specify an array of imagePullSecrets. # -- (list) Optionally specify an array of imagePullSecrets.
# Secrets must be manually created in the namespace. # Secrets must be manually created in the namespace.
# ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod # ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
# imagePullSecrets: imagePullSecrets:
# - name: myRegistryKeySecretName # - name: myRegistryKeySecretName
# -- key:value list of extra arguments to give the binary
extraArgs: {} extraArgs: {}
# -- key:value list of extra environment variables to give the binary
extraEnv: [] extraEnv: []
# To authorize individual email addresses # To authorize individual email addresses
# That is part of extraArgs but since this needs special treatment we need to do a separate section # That is part of extraArgs but since this needs special treatment we need to do a separate section
authenticatedEmailsFile: authenticatedEmailsFile:
# -- Enables authorize individual email addresses
enabled: false enabled: false
# template is the name of the configmap what contains the email user list but has been configured without this chart. # -- 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. # 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". # Be aware the value name in the extern config map in data needs to be named to "restricted_user_access".
template: ""
# One email per line # One email per line
# example: # example:
# restricted_access: |- # restricted_access: |-
@ -57,18 +62,22 @@ authenticatedEmailsFile:
# name2@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 # 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 map resource.
template: ""
# -- [email addresses](https://github.com/pusher/oauth2_proxy#email-authentication) list config
restricted_access: "" restricted_access: ""
service: service:
# -- Kubernetes service type for the GUI
type: ClusterIP type: ClusterIP
# when service.type is ClusterIP ... # -- Kubernetes port where the GUI is exposed
# clusterIP: 192.0.2.20
# when service.type is LoadBalancer ...
# loadBalancerIP: 198.51.100.40
# loadBalancerSourceRanges: 203.0.113.0/24
port: 80 port: 80
# -- Service annotations for the GUI
annotations: {} annotations: {}
# foo.io/bar: "true" # -- (string) Loadbalance IP for the GUI
loadBalancerIP:
# -- (list) List of IP CIDRs allowed access to load balancer (if supported)
loadBalancerSourceRanges:
## Create or use ServiceAccount ## Create or use ServiceAccount
serviceAccount: serviceAccount:
@ -80,27 +89,33 @@ serviceAccount:
annotations: {} annotations: {}
ingress: ingress:
# -- Enable Ingress
enabled: false enabled: false
# -- Ingress accepted path
path: / path: /
# Used to create an Ingress record. # -- Ingress accepted hostnames
# hosts: hosts: []
# - chart-example.local # -- Ingress extra paths to prepend to every host configuration. Useful when configuring [custom actions with AWS ALB Ingress Controller](https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/ingress/annotation/#actions).
# Extra paths to prepend to every host configuration. This is useful when working with annotation based services. extraPaths: []
# extraPaths:
# - path: /* # - path: /*
# backend: # backend:
# serviceName: ssl-redirect # serviceName: ssl-redirect
# servicePort: use-annotation # servicePort: use-annotation
# annotations:
# -- Ingress annotations
annotations: {}
# kubernetes.io/ingress.class: nginx # kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true" # kubernetes.io/tls-acme: "true"
# tls:
# -- (list) Ingress TLS configuration
tls:
# Secrets must be manually created in the namespace. # Secrets must be manually created in the namespace.
# - secretName: chart-example-tls # - secretName: chart-example-tls
# hosts: # hosts:
# - chart-example.local # - chart-example.local
# Define the ingressClassName
# ingressClassName: nginx # -- (string) Set ingressClassName
ingressClassName:
resources: {} resources: {}
# limits: # limits:
@ -110,33 +125,35 @@ resources: {}
# cpu: 100m # cpu: 100m
# memory: 300Mi # memory: 300Mi
# -- list of extra volumes
extraVolumes: [] extraVolumes: []
# - name: ca-bundle-cert # - name: ca-bundle-cert
# secret: # secret:
# secretName: <secret-name> # secretName: <secret-name>
# -- list of extra volumeMounts
extraVolumeMounts: [] extraVolumeMounts: []
# - mountPath: /etc/ssl/certs/ # - mountPath: /etc/ssl/certs/
# name: ca-bundle-cert # name: ca-bundle-cert
priorityClassName: "" priorityClassName: ""
# Affinity for pod assignment # -- node/pod affinities
# Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity # Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
# affinity: {} affinity: {}
# Tolerations for pod assignment # -- Tolerations for pod assignment
# Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ # Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
tolerations: [] tolerations: []
# Node labels for pod assignment # -- Node labels for pod assignment
# Ref: https://kubernetes.io/docs/user-guide/node-selection/ # Ref: https://kubernetes.io/docs/user-guide/node-selection/
nodeSelector: {} nodeSelector: {}
# Whether to use secrets instead of environment values for setting up OAUTH2_PROXY variables # Whether to use secrets instead of environment values for setting up OAUTH2_PROXY variables
proxyVarsAsSecrets: true proxyVarsAsSecrets: true
# Configure Kubernetes liveness and readiness probes. # -- Configure Kubernetes liveness probes.
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ # Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
# Disable both when deploying with Istio 1.0 mTLS. https://istio.io/help/faq/security/#k8s-health-checks # Disable both when deploying with Istio 1.0 mTLS. https://istio.io/help/faq/security/#k8s-health-checks
livenessProbe: livenessProbe:
@ -144,6 +161,7 @@ livenessProbe:
initialDelaySeconds: 0 initialDelaySeconds: 0
timeoutSeconds: 1 timeoutSeconds: 1
# -- Configure Kubernetes readiness probes.
readinessProbe: readinessProbe:
enabled: true enabled: true
initialDelaySeconds: 0 initialDelaySeconds: 0
@ -151,18 +169,20 @@ readinessProbe:
periodSeconds: 10 periodSeconds: 10
successThreshold: 1 successThreshold: 1
# Configure Kubernetes security context for container # -- Configure Kubernetes security context for container
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ # Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
securityContext: securityContext:
enabled: false enabled: false
runAsNonRoot: true runAsNonRoot: true
# -- annotations to add to each pod
podAnnotations: {} podAnnotations: {}
# -- labels to add to each pod
podLabels: {} podLabels: {}
replicaCount: 1 replicaCount: 1
## PodDisruptionBudget settings # -- PodDisruptionBudget settings
## ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/ # Ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
podDisruptionBudget: podDisruptionBudget:
enabled: true enabled: true
minAvailable: 1 minAvailable: 1
@ -171,27 +191,30 @@ podDisruptionBudget:
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ # Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
podSecurityContext: {} podSecurityContext: {}
# Configure init containers for pod # -- Configure init containers for pod
# REF: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ # Ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
initContainers: [] initContainers: []
# whether to use http or https # -- `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.
httpScheme: http httpScheme: http
# Additionally authenticate against a htpasswd file. Entries must be created with "htpasswd -s" for SHA encryption. # Additionally authenticate against a htpasswd file. Entries must be created with "htpasswd -s" for SHA encryption.
# Alternatively supply an existing secret which contains the required information. # Alternatively supply an existing secret which contains the required information.
htpasswdFile: htpasswdFile:
# -- enable htpasswd-file option
enabled: false enabled: false
# -- existing Kubernetes secret to use for OAuth2 htpasswd file
existingSecret: "" existingSecret: ""
# -- list of [SHA encrypted user:passwords](https://pusher.github.io/oauth2_proxy/configuration#command-line-options)
entries: {} entries: {}
# One row for each user # One row for each user
# example: # example:
# entries: # entries:
# - testuser:{SHA}EWhzdhgoYJWy0z2gyzhRYlN9DSiv # - testuser:{SHA}EWhzdhgoYJWy0z2gyzhRYlN9DSiv
## Configure Pod Topology Spread Constraints # -- Configure Pod Topology Spread Constraints
## See https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ # See https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
## Requires Kubernetes >= v1.16 # Requires Kubernetes >= v1.16
topologySpreadConstraints: topologySpreadConstraints:
enabled: false enabled: false
maxSkew: 1 maxSkew: 1

View File

@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 1.0.0 appVersion: 1.0.0
description: Serial to Socket Redirector description: Serial to Socket Redirector
name: ser2sock name: ser2sock
version: 2.0.1 version: 2.0.2
keywords: keywords:
- ser2sock - ser2sock
home: https://github.com/k8s-at-home/charts/tree/master/charts/ser2sock home: https://github.com/k8s-at-home/charts/tree/master/charts/ser2sock

View File

@ -1,22 +1,70 @@
# ser2sock: Serial to Socket Redirector # ser2sock
This is a helm chart for [ser2sock](https://github.com/nutechsoftware/ser2sock) ![Version: 2.0.2](https://img.shields.io/badge/Version-2.0.2-informational?style=flat-square) ![AppVersion: 1.0.0](https://img.shields.io/badge/AppVersion-1.0.0-informational?style=flat-square)
## TL;DR; Serial to Socket Redirector
```shell **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)**
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
$ helm install k8s-at-home/ser2sock ## Source Code
* <https://github.com/nutechsoftware/ser2sock>
* <https://github.com/tenstartups/ser2sock>
## Requirements
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
## TL;DR
```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install ser2sock k8s-at-home/ser2sock
``` ```
## Installing the Chart ## Installing the Chart
To install the chart with the release name `my-release`: To install the chart with the release name `ser2sock`
```console ```console
helm install --name my-release k8s-at-home/ser2sock helm install ser2sock k8s-at-home/ser2sock
``` ```
## Uninstalling the Chart
To uninstall the `ser2sock` deployment
```console
helm uninstall ser2sock
```
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](../common/values.yaml) from the [common library](../common).
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install ser2sock \
--set env.TZ="America/New York" \
k8s-at-home/ser2sock
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install ser2sock k8s-at-home/ser2sock -f values.yaml
```
## Custom configuration
**IMPORTANT NOTE:** the USB device must be accessible on the node where this pod runs, in order for this chart to function properly. **IMPORTANT NOTE:** the USB device must be accessible on the node where this pod runs, in order for this chart to function properly.
A way to achieve this can be with nodeAffinity rules, for example: A way to achieve this can be with nodeAffinity rules, for example:
@ -35,52 +83,66 @@ affinity:
... where a node with an attached Coral USB device is labeled with `usb: alarmdecoder` ... where a node with an attached Coral USB device is labeled with `usb: alarmdecoder`
## Uninstalling the Chart ## Values
To uninstall/delete the `my-release` deployment: **Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/)
```console | Key | Type | Default | Description |
helm delete my-release --purge |-----|------|---------|-------------|
``` | affinity | object | `{}` | Affinity settings for pod assignment of the GUI |
| baudRate | int | `115200` | Baudrate |
| device | string | `"/dev/ttyUSB0"` | USB Device to use |
| fullnameOverride | string | `""` | |
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
| image.repository | string | `"tenstartups/ser2sock"` | Image repository |
| image.tag | string | `"latest"` | Image tag. Possible values listed [here](https://hub.docker.com/r/tenstartups/ser2sock/tags). |
| nameOverride | string | `""` | |
| nodeSelector | object | `{}` | Node labels for pod assignment of the GUI |
| pgid | string | `"1001"` | GID to run as |
| podAnnotations | object | `{}` | Pod annotations |
| puid | string | `"1001"` | UID to run as |
| resources | object | `{}` | CPU/Memory resource requests/limits or the GUI |
| service.annotations | object | `{}` | Service annotations for the GUI |
| service.clusterIP | string | `nil` | Cluster IP for the GUI |
| service.externalIPs | string | `nil` | External IPs for the GUI |
| service.externalTrafficPolicy | string | `nil` | Loadbalancer externalTrafficPolicy |
| service.loadBalancerIP | string | `nil` | Loadbalancer IP for the GUI |
| service.loadBalancerSourceRanges | string | `nil` | Loadbalancer client IP restriction range for the GUI |
| service.nodePort | string | `nil` | nodePort to listen on for the GUI |
| service.port | int | `10000` | Kubernetes port where the GUI is exposed |
| service.type | string | `"ClusterIP"` | Kubernetes service type for the GUI |
| strategyType | string | `"Recreate"` | Specifies the strategy used to replace old Pods by new ones |
| timezone | string | `nil` | Timezone the ser2sock instance should run as, e.g. 'America/New_York' |
| tolerations | list | `[]` | Toleration labels for pod assignment of the GUI |
The command removes all the Kubernetes components associated with the chart and deletes the release. ## Changelog
## Configuration 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/charts/tree/master/charts/common/README.md#Changelog).
The following tables lists the configurable parameters of the Sentry chart and their default values. 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).
| Parameter | Description | Default | ### [2.0.2]
|----------------------------|-------------------------------------|---------------------------------------------------------|
| `image.repository` | Image repository | `tenstartups/ser2sock` |
| `image.tag` | Image tag. Possible values listed [here](https://hub.docker.com/r/tenstartups/ser2sock/tags).| `latest`|
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
| `strategyType` | Specifies the strategy used to replace old Pods by new ones | `Recreate` |
| `timezone` | Timezone the ser2sock instance should run as, e.g. 'America/New_York' | `` |
| `device` | USB Device to use | `/dev/ttyUSB0` |
| `puid` | UID to run as | `1001` |
| `pgid` | GID to run as | `1001` |
| `Service.type` | Kubernetes service type for the ser2sock GUI | `ClusterIP` |
| `Service.port` | Kubernetes port where the ser2sock GUI is exposed| `5000` |
| `Service.annotations` | Service annotations for the ser2sock GUI | `{}` |
| `Service.labels` | Custom labels | `{}` |
| `Service.loadBalancerIP` | Loadbalance IP for the ser2sock GUI | `{}` |
| `Service.loadBalancerSourceRanges` | List of IP CIDRs allowed access to load balancer (if supported) | None
| `resources` | CPU/Memory resource requests/limits | `{}` |
| `nodeSelector` | Node labels for pod assignment | `{}` |
| `tolerations` | Toleration labels for pod assignment | `[]` |
| `affinity` | Affinity settings for pod assignment | `{}` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, #### Added
```console - N/A
helm install --name my-release \
k8s-at-home/ser2sock
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, #### Changed
```console - N/A
helm install --name my-release -f values.yaml k8s-at-home/ser2sock
```
Read through the [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/ser2sock/values.yaml) file. It has several commented out suggested values. #### Removed
- N/A
[2.0.2]: #2.0.2
## 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,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](../common/values.yaml) from the [common library](../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/charts/tree/master/charts/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/charts/tree/master/charts/common/README.md#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).
### [2.0.2]
#### Added
- N/A
#### Changed
- N/A
#### Removed
- N/A
[2.0.2]: #2.0.2
{{- end -}}

View File

@ -0,0 +1,25 @@
{{- define "custom.custom.configuration.header" -}}
## Custom configuration
{{- end -}}
{{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }}
**IMPORTANT NOTE:** the USB device must be accessible on the node where this pod runs, in order for this chart to function properly.
A way to achieve this can be with nodeAffinity rules, for example:
```yaml
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: usb
operator: In
values:
- alarmdecoder
```
... where a node with an attached Coral USB device is labeled with `usb: alarmdecoder`
{{- end -}}

View File

@ -2,44 +2,52 @@
# This is a YAML-formatted file. # This is a YAML-formatted file.
# Declare variables to be passed into your templates. # Declare variables to be passed into your templates.
# upgrade strategy type (e.g. Recreate or RollingUpdate) # -- Specifies the strategy used to replace old Pods by new ones
strategyType: Recreate strategyType: Recreate
image: image:
# -- Image repository
repository: tenstartups/ser2sock repository: tenstartups/ser2sock
# -- Image tag. Possible values listed [here](https://hub.docker.com/r/tenstartups/ser2sock/tags).
tag: latest tag: latest
# -- Image pull policy
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
nameOverride: "" nameOverride: ""
fullnameOverride: "" fullnameOverride: ""
# timezone: "America/New York" # -- (string) Timezone the ser2sock instance should run as, e.g. 'America/New_York'
timezone:
# -- USB Device to use
device: "/dev/ttyUSB0" device: "/dev/ttyUSB0"
# -- UID to run as
puid: "1001" puid: "1001"
# -- GID to run as
pgid: "1001" pgid: "1001"
# -- Baudrate
baudRate: 115200 baudRate: 115200
service: service:
# -- Kubernetes service type for the GUI
type: ClusterIP type: ClusterIP
# -- Kubernetes port where the GUI is exposed
port: 10000 port: 10000
## Specify the nodePort value for the LoadBalancer and NodePort service types. # -- Service annotations for the GUI
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
##
# nodePort:
## Provide any additional annotations which may be required. This can be used to
## set the LoadBalancer service type to internal only.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
##
annotations: {} annotations: {}
labels: {} # -- (string) Cluster IP for the GUI
## Use loadBalancerIP to request a specific static IP, clusterIP:
## otherwise leave blank # -- (string) External IPs for the GUI
## externalIPs:
# -- (string) Loadbalancer IP for the GUI
loadBalancerIP: loadBalancerIP:
# loadBalancerSourceRanges: [] # -- (string) Loadbalancer client IP restriction range for the GUI
## Set the externalTrafficPolicy in the Service to either Cluster or Local loadBalancerSourceRanges:
# externalTrafficPolicy: Cluster # -- (string) Loadbalancer externalTrafficPolicy
externalTrafficPolicy:
# -- (string) nodePort to listen on for the GUI
nodePort:
# -- CPU/Memory resource requests/limits or the GUI
resources: {} resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious # We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little # choice for the user. This also increases chances charts run on environments with little
@ -52,10 +60,14 @@ resources: {}
# cpu: 100m # cpu: 100m
# memory: 128Mi # memory: 128Mi
# -- Node labels for pod assignment of the GUI
nodeSelector: {} nodeSelector: {}
# -- Toleration labels for pod assignment of the GUI
tolerations: [] tolerations: []
# -- Affinity settings for pod assignment of the GUI
affinity: {} affinity: {}
# -- Pod annotations
podAnnotations: {} podAnnotations: {}

View File

@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: speedtest name: speedtest
version: 3.0.0 version: 3.0.1
appVersion: 1.0.0 appVersion: 1.0.0
description: periodic speedtest and save the results to InfluxDB description: periodic speedtest and save the results to InfluxDB
keywords: keywords:
@ -15,3 +15,9 @@ sources:
maintainers: maintainers:
- name: billimek - name: billimek
email: jeff@billimek.com email: jeff@billimek.com
dependencies:
- name: influxdb
version: 1.1.9
repository: https://charts.bitnami.com/bitnami
condition: influxdb.enabled

View File

@ -1,71 +1,129 @@
# Speedtest.net Collector For InfluxDB and Grafana # speedtest
![Screenshot](https://camo.githubusercontent.com/c652a6685bcb5a8cec6a47c92e57d159b28e47e7/68747470733a2f2f7075752e73682f746d664f412f623535373665383864652e706e67) ![Version: 3.0.1](https://img.shields.io/badge/Version-3.0.1-informational?style=flat-square) ![AppVersion: 1.0.0](https://img.shields.io/badge/AppVersion-1.0.0-informational?style=flat-square)
This tool is a wrapper for speedtest-cli which allows you to run periodic speedtets and save the results to Influxdb periodic speedtest and save the results to InfluxDB
## TL;DR; **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/k8s-at-home/Speedtest-for-InfluxDB-and-Grafana>
* <https://github.com/k8s-at-home/charts>
## Requirements
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://charts.bitnami.com/bitnami | influxdb | 1.1.9 |
## TL;DR
```console ```console
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/ helm repo add k8s-at-home https://k8s-at-home.com/charts/
$ helm install k8s-at-home/speedtest helm repo update
helm install speedtest k8s-at-home/speedtest
``` ```
## Installing the Chart ## Installing the Chart
To install the chart with the release name `my-release`: To install the chart with the release name `speedtest`
```console ```console
$ helm install --name my-release k8s-at-home/speedtest helm install speedtest k8s-at-home/speedtest
``` ```
## Uninstalling the Chart ## Uninstalling the Chart
To uninstall/delete the `my-release` deployment: To uninstall the `speedtest` deployment
```console ```console
$ helm delete my-release --purge helm uninstall speedtest
``` ```
The command removes all the Kubernetes components associated with the chart and deletes the release. The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Configuration ## Configuration
The configuration is set as a block of text through a configmap and mounted as a file in /src/config.ini Any value in this text block should match the defined speedtest configuration. There are several values here that will have to match our kubernetes 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](../common/values.yaml) from the [common library](../common).
## Configuration Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
The following tables lists the configurable parameters of the Sentry chart and their default values.
| Parameter | Description | Default |
| ------------------------------- | ------------------------------- | ---------------------------------------------------------- |
| `image.repository` | speedtest image | `k8s-at-home/speedtestusage-for-influxdb` |
| `image.tag` | speedtest image tag | `latest` |
| `image.pullPolicy` | speedtest image pull policy | `IfNotPresent` |
| `debug` | Display debugging output | `false` |
| `config.delay` | how many seconds to wait between checks | `3600` |
| `config.influxdb.host` | InfluxDB hostname | `influxdb-influxdb` |
| `config.influxdb.port` | InfluxDB port | `8086` |
| `config.influxdb.database` | InfluxDB database | `speedtests` |
| `config.influxdb.username` | InfluxDB username | `` |
| `config.influxdb.password` | InfluxDB password | `` |
| `config.influxdb.ssl` | InfluxDB connection using SSL | `false` |
| `config.speedtest.server` | server to use for speedtest - leave blank to auto-pick | `` |
| `podAnnotations` | Key-value pairs to add as pod annotations | `{}` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console ```console
$ helm install --name my-release \ helm install speedtest \
--set config.influxdb.host=some-influx-host \ --set env.TZ="America/New York" \
k8s-at-home/speedtest k8s-at-home/speedtest
``` ```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console ```console
$ helm install --name my-release -f values.yaml k8s-at-home/speedtest helm install speedtest k8s-at-home/speedtest -f values.yaml
``` ```
Read through the [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/speedtest/values.yaml) file. It has several commented out suggested values. ## Custom configuration
N/A
## 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/charts/tree/master/charts/common/)
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| config.delay | int | `3600` | how many seconds to wait between checks |
| config.influxdb.database | string | `"speedtests"` | InfluxDB database |
| config.influxdb.host | string | `nil` | InfluxDB host @default - internal influxDB chart if not set |
| config.influxdb.password | string | `nil` | InfluxDB password |
| config.influxdb.port | int | `8086` | InfluxDB port |
| config.influxdb.ssl | bool | `false` | enable TLS |
| config.influxdb.username | string | `nil` | InfluxDB username |
| config.speedtest.server | string | `nil` | server to use for speedtest - leave blank to auto-pick |
| debug | bool | `false` | Display debugging output |
| image.pullPolicy | string | `"IfNotPresent"` | speedtest image pull policy |
| image.repository | string | `"atribe/speedtest-for-influxdb-and-grafana"` | speedtest image |
| image.tag | string | `"latest"` | speedtest image tag |
| influxdb.architecture | string | `"standalone"` | |
| influxdb.authEnabled | bool | `false` | |
| influxdb.database | string | `"speedtests"` | |
| influxdb.enabled | bool | `true` | |
| influxdb.persistence.enabled | bool | `false` | |
| nodeSelector | object | `{}` | |
| podAnnotations | object | `{}` | Key-value pairs to add as pod annotations |
| replicaCount | int | `1` | |
| resources | object | `{}` | |
## 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/charts/tree/master/charts/common/README.md#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).
### [3.0.1]
#### Added
- N/A
#### Changed
- USe helm-docs
#### Removed
- N/A
[3.0.1]: #3.0.1
## 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,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](../common/values.yaml) from the [common library](../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/charts/tree/master/charts/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/charts/tree/master/charts/common/README.md#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).
### [3.0.1]
#### Added
- N/A
#### Changed
- USe helm-docs
#### Removed
- N/A
[3.0.1]: #3.0.1
{{- 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

@ -12,7 +12,7 @@ data:
[GENERAL] [GENERAL]
Delay = {{ .Values.config.delay }} Delay = {{ .Values.config.delay }}
[INFLUXDB] [INFLUXDB]
Address = {{ .Values.config.influxdb.host }} Address = {{ default .Values.config.influxdb.host (printf "%s-influxdb" .Release.Name) }}
Port = {{ .Values.config.influxdb.port }} Port = {{ .Values.config.influxdb.port }}
Database = {{ .Values.config.influxdb.database }} Database = {{ .Values.config.influxdb.database }}
Username = {{ .Values.config.influxdb.username }} Username = {{ .Values.config.influxdb.username }}

View File

@ -3,8 +3,11 @@
# Declare variables to be passed into your templates. # Declare variables to be passed into your templates.
replicaCount: 1 replicaCount: 1
image: image:
# -- speedtest image
repository: atribe/speedtest-for-influxdb-and-grafana repository: atribe/speedtest-for-influxdb-and-grafana
# -- speedtest image tag
tag: latest tag: latest
# -- speedtest image pull policy
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
resources: {} resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious # We usually recommend not to specify default resources and to leave this as a conscious
@ -17,21 +20,43 @@ resources: {}
# requests: # requests:
# cpu: 100m # cpu: 100m
# memory: 128Mi # memory: 128Mi
nodeSelector: {} nodeSelector: {}
# -- Display debugging output
debug: false debug: false
config: config:
# how many seconds to wait between checks # -- how many seconds to wait between checks
delay: 3600 delay: 3600
influxdb: influxdb:
# host/port/database are mandatory - change as needed # -- InfluxDB host
host: influxdb-influxdb # @default - internal influxDB chart if not set
host:
# -- InfluxDB port
port: 8086 port: 8086
# -- InfluxDB database
database: speedtests database: speedtests
# username: # -- (string) InfluxDB username
# password: username:
# -- (string) InfluxDB password
password:
# -- enable TLS
ssl: false ssl: false
speedtest: speedtest:
# Leave blank to auto pick server # -- server to use for speedtest - leave blank to auto-pick
server: server:
# -- Key-value pairs to add as pod annotations
podAnnotations: {} podAnnotations: {}
# Enable embeded influxdb
# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/influxdb
influxdb:
# - Use internal Influx DB. Set to false if you use an external DB.
enabled: true
architecture: standalone
database: speedtests
authEnabled: false
persistence:
enabled: false
# storageClass: ""
# size: 8Gi

View File

@ -2,7 +2,7 @@ apiVersion: v2
appVersion: 5.14.23 appVersion: 5.14.23
description: Ubiquiti Network's Unifi Controller description: Ubiquiti Network's Unifi Controller
name: unifi name: unifi
version: 1.5.2 version: 1.5.3
keywords: keywords:
- ubiquiti - ubiquiti
- unifi - unifi

View File

@ -1,184 +1,70 @@
# Ubiquiti Network's Unifi Controller # unifi
This is a helm chart for [Ubiquiti Network's][ubnt] [Unifi Controller][ubnt 2]. ![Version: 1.5.3](https://img.shields.io/badge/Version-1.5.3-informational?style=flat-square) ![AppVersion: 5.14.23](https://img.shields.io/badge/AppVersion-5.14.23-informational?style=flat-square)
## TL;DR; Ubiquiti Network's Unifi Controller
```shell **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/jacobalberty/unifi-docker>
## Requirements
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
## TL;DR
```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/ helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm install k8s-at-home/unifi helm repo update
helm install unifi k8s-at-home/unifi
``` ```
## Installing the Chart ## Installing the Chart
To install the chart with the release name `my-release`: To install the chart with the release name `unifi`
```console ```console
helm install --name my-release stable/unifi helm install unifi k8s-at-home/unifi
``` ```
## Uninstalling the Chart ## Uninstalling the Chart
To uninstall/delete the `my-release` deployment: To uninstall the `unifi` deployment
```console ```console
helm delete my-release --purge helm uninstall unifi
``` ```
The command removes all the Kubernetes components associated with the chart and deletes the release. The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Configuration ## Configuration
The following tables lists the configurable parameters of the Unifi chart and their default values. Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
| Parameter | Default | Description | Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|-------------------------------------------------|------------------------------|------------------------------------------------------------------------------------------------------------------------|
| `image.repository` | `jacobalberty/unifi` | Image repository |
| `image.tag` | `5.14.23` | Image tag. Possible values listed [here][docker]. |
| `image.pullPolicy` | `IfNotPresent` | Image pull policy |
| `strategyType` | `Recreate` | Specifies the strategy used to replace old Pods by new ones |
| `guiService.type` | `ClusterIP` | Kubernetes service type for the Unifi GUI |
| `guiService.port` | `8443` | Kubernetes port where the Unifi GUI is exposed |
| `guiService.annotations` | `{}` | Service annotations for the Unifi GUI |
| `guiService.labels` | `{}` | Custom labels |
| `guiService.loadBalancerIP` | `{}` | Loadbalance IP for the Unifi GUI |
| `guiService.loadBalancerSourceRanges` | None | List of IP CIDRs allowed access to load balancer (if supported) |
| `guiService.externalTrafficPolicy` | `Cluster` | Set the externalTrafficPolicy in the Service to either Cluster or Local |
| `captivePortalService.enabled` | `false` | Install the captive portal service (needed if you want guest captive portal) |
| `captivePortalService.type` | `ClusterIP` | Kubernetes service type for the captive portal |
| `captivePortalService.http` | `8880` | Kubernetes port where the captive portal is exposed |
| `captivePortalService.https` | `8843` | Kubernetes port where the captive portal is exposed (with SSL) |
| `captivePortalService.annotations` | `{}` | Service annotations for the captive portal |
| `captivePortalService.labels` | `{}` | Custom labels |
| `captivePortalService.loadBalancerIP` | `{}` | Loadbalance IP for the Unifi GUI |
| `captivePortalService.loadBalancerSourceRanges` | None | List of IP CIDRs allowed access to load balancer (if supported) |
| `captivePortalService.externalTrafficPolicy` | `Cluster` | Set the externalTrafficPolicy in the Service to either Cluster or Local |
| `captivePortalService.ingress.enabled` | `false` | Enables Ingress (for the captive portal, the main ingress needs to be enabled for the controller to be accessible) |
| `captivePortalService.ingress.annotations` | `{}` | Ingress annotations for the captive portal |
| `captivePortalService.ingress.labels` | `{}` | Custom labels for the captive portal |
| `captivePortalService.ingress.path` | `/` | Ingress path for the captive portal |
| `captivePortalService.ingress.hosts` | `chart-example.local` | Ingress accepted hostnames for the captive portal |
| `captivePortalService.ingress.tls` | `[]` | Ingress TLS configuration for the captive portal |
| `controllerService.type` | `NodePort` | Kubernetes service type for the Unifi Controller communication |
| `controllerService.port` | `8080` | Kubernetes port where the Unifi Controller is exposed - this needs to be reachable by the unifi devices on the network |
| `controllerService.annotations` | `{}` | Service annotations for the Unifi Controller |
| `controllerService.labels` | `{}` | Custom labels |
| `controllerService.loadBalancerIP` | `{}` | Loadbalance IP for the Unifi Controller |
| `controllerService.loadBalancerSourceRanges` | None | List of IP CIDRs allowed access to load balancer (if supported) |
| `controllerService.externalTrafficPolicy` | `Cluster` | Set the externalTrafficPolicy in the Service to either Cluster or Local |
| `controllerService.ingress.enabled` | `false` | Enables Ingress for the controller |
| `controllerService.ingress.annotations` | `{}` | Ingress annotations for the controller |
| `controllerService.ingress.labels` | `{}` | Custom labels for the controller |
| `controllerService.ingress.path` | `/` | Ingress path for the controller |
| `controllerService.ingress.hosts` | `chart-example.local` | Ingress accepted hostnames for the controller |
| `controllerService.ingress.tls` | `[]` | Ingress TLS configuration for the controller |
| `stunService.type` | `NodePort` | Kubernetes service type for the Unifi STUN |
| `stunService.port` | `3478` | Kubernetes UDP port where the Unifi STUN is exposed |
| `stunService.annotations` | `{}` | Service annotations for the Unifi STUN |
| `stunService.labels` | `{}` | Custom labels |
| `stunService.loadBalancerIP` | `{}` | Loadbalance IP for the Unifi STUN |
| `stunService.loadBalancerSourceRanges` | None | List of IP CIDRs allowed access to load balancer (if supported) |
| `stunService.externalTrafficPolicy` | `Cluster` | Set the externalTrafficPolicy in the Service to either Cluster or Local |
| `discoveryService.type` | `NodePort` | Kubernetes service type for AP discovery |
| `discoveryService.port` | `10001` | Kubernetes UDP port for AP discovery |
| `discoveryService.annotations` | `{}` | Service annotations for AP discovery |
| `discoveryService.labels` | `{}` | Custom labels |
| `discoveryService.loadBalancerIP` | `{}` | Loadbalance IP for AP discovery |
| `discoveryService.loadBalancerSourceRanges` | None | List of IP CIDRs allowed access to load balancer (if supported) |
| `discoveryService.externalTrafficPolicy` | `Cluster` | Set the externalTrafficPolicy in the Service to either Cluster or Local |
| `syslogService.type` | `NodePort` | Kubernetes service type for remote syslog capture |
| `syslogService.port` | `5514` | Kubernetes UDP port for remote syslog capture |
| `syslogService.annotations` | `{}` | Service annotations for remote syslog capture |
| `syslogService.labels` | `{}` | Custom labels |
| `syslogService.loadBalancerIP` | `{}` | Loadbalancer IP for remote syslog capture |
| `syslogService.loadBalancerSourceRanges` | None | List of IP CIDRs allowed access to load balancer (if supported) |
| `syslogService.externalTrafficPolicy` | `Cluster` | Set the externalTrafficPolicy in the Service to either Cluster or Local |
| `speedtestService.type` | `ClusterIP` | Kubernetes service type for mobile speedtest |
| `speedtestService.port` | `6789` | Kubernetes UDP port for mobile speedtest |
| `speedtestService.annotations` | `{}` | Service annotations for mobile speedtest |
| `speedtestService.labels` | `{}` | Custom labels |
| `speedtestService.loadBalancerIP` | `{}` | Loadbalancer IP for mobile speedtest |
| `speedtestService.loadBalancerSourceRanges` | None | List of IP CIDRs allowed access to load balancer (if supported) |
| `speedtestService.externalTrafficPolicy` | `Cluster` | Set the externalTrafficPolicy in the Service to either Cluster or Local |
| `unifiedService.enabled` | `false` | Use a single service for GUI, controller, STUN, discovery, syslog and speedtest |
| `unifiedService.type` | `ClusterIP` | Kubernetes service type for the unified service |
| `unifiedService.annotations` | `{}` | Annotations for the unified service |
| `unifiedService.labels` | `{}` | Custom labels for the unified service |
| `unifiedService.loadBalancerIP` | None | Load balancer IP for the unified service |
| `unifiedService.loadBalancerSourceRanges` | None | List of IP CIDRs allowed access to the load balancer (if supported) |
| `unifiedService.externalTrafficPolicy` | `Cluster` | Set the externalTrafficPolicy in the service to either Cluster or Local |
| `ingress.enabled` | `false` | Enables Ingress |
| `ingress.annotations` | `{}` | Ingress annotations |
| `ingress.labels` | `{}` | Custom labels |
| `ingress.path` | `/` | Ingress path |
| `ingress.hosts` | `chart-example.local` | Ingress accepted hostnames |
| `ingress.tls` | `[]` | Ingress TLS configuration |
| `timezone` | `UTC` | Timezone the Unifi controller should run as, e.g. 'America/New York' |
| `runAsRoot` | `false` | Run the controller as UID0 (root user); if set to false, will give container SETFCAP instead |
| `UID` | `999` | Run the controller as user UID |
| `GID` | `999` | Run the controller as group GID |
| `customCert.enabled` | `false` | Define whether you are using s custom certificate |
| `customCert.isChain` | `false` | If you are using a Let's Encrypt certificate which already includes the full chain set this to `true` |
| `customCert.certName` | `tls.crt` | Name of the the certificate file in `<unifi-data>/cert` |
| `customCert.keyName` | `tls.key` | Name of the the private key file in `<unifi-data>/cert` |
| `customCert.certSecret` | `nil` | Name of the the k8s tls secret where the certificate and its key are stored. |
| `logging.promtail.enabled` | `false` | Enable a Promtail sidecar to collect controller logs |
| `logging.promtail.image.repository` | `grafana/promtail` | Promtail image repository |
| `logging.promtail.image.tag` | `1.6.0` | Promtail image tag |
| `logging.promtail.image.pullPolicy` | `IfNotPresent` | Promtail image pull policy |
| `logging.promtail.loki.url` | `http://loki.logs.svc.cluster.local:3100/loki/api/v1/push` | URL of the Loki push API |
| `mongodb.enabled` | `false` | Use external MongoDB for data storage |
| `mongodb.dbUri` | `mongodb://mongo/unifi` | external MongoDB URI |
| `mongodb.statDbUri` | `mongodb://mongo/unifi_stat` | external MongoDB statdb URI |
| `mongodb.databaseName` | `unifi` | external MongoDB database name |
| `persistence.enabled` | `true` | Use persistent volume to store data |
| `persistence.size` | `5Gi` | Size of persistent volume claim |
| `persistence.existingClaim` | `nil` | Use an existing PVC to persist data |
| `persistence.subPath` | `` | Store data in a subdirectory of PV instead of at the root directory |
| `persistence.storageClass` | `-` | Type of persistent volume claim |
| `extraVolumes` | `[]` | Additional volumes to be used by extraVolumeMounts |
| `extraVolumeMounts` | `[]` | Additional volume mounts to be mounted in unifi container |
| `persistence.accessModes` | `[]` | Persistence access modes |
| `extraConfigFiles` | `{}` | Dictionary containing files mounted to `/configmap` inside the pod (See [values.yaml](values.yaml) for examples) |
| `extraJvmOpts` | `[]` | List of additional JVM options, e.g. `["-Dlog4j.configurationFile=file:/configmap/log4j2.xml"]` |
| `jvmInitHeapSize` | `` | Java Virtual Machine (JVM) initial, and minimum, heap size. |
| `jvmMaxHeapSize` | `1024M` | Java Virtual Machine (JVM) maximum heap size. |
| `resources` | `{}` | CPU/Memory resource requests/limits |
| `livenessProbe.enabled` | `true` | Turn on and off liveness probe |
| `livenessProbe.initialDelaySeconds` | `30` | Delay before liveness probe is initiated |
| `livenessProbe.periodSeconds` | `15` | How often to perform the probe |
| `livenessProbe.timeoutSeconds` | `5` | When the probe times out |
| `livenessProbe.failureThreshold` | `3` | Minimum consecutive failures for the probe |
| `livenessProbe.successThreshold` | `1` | Minimum consecutive successes for the probe |
| `readinessProbe.enabled` | `true` | Turn on and off readiness probe |
| `readinessProbe.initialDelaySeconds` | `30` | Delay before readiness probe is initiated |
| `readinessProbe.periodSeconds` | `15` | How often to perform the probe |
| `readinessProbe.timeoutSeconds` | `5` | When the probe times out |
| `readinessProbe.failureThreshold` | `3` | Minimum consecutive failures for the probe |
| `readinessProbe.successThreshold` | `1` | Minimum consecutive successes for the probe |
| `nodeSelector` | `{}` | Node labels for pod assignment |
| `tolerations` | `[]` | Toleration labels for pod assignment |
| `affinity` | `{}` | Affinity settings for pod assignment |
| `podAnnotations` | `{}` | Key-value pairs to add as pod annotations |
| `deploymentAnnotations` | `{}` | Key-value pairs to add as deployment annotations |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console ```console
helm install --name my-release \ helm install unifi \
--set timezone="America/New York" \ --set env.TZ="America/New York" \
stable/unifi k8s-at-home/unifi
``` ```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console ```console
helm install --name my-release -f values.yaml stable/unifi helm install unifi k8s-at-home/unifi -f values.yaml
``` ```
Read through the [values.yaml](values.yaml) file. It has several commented out suggested values. ## Custom configuration
## Regarding the services ### Regarding the services
- `guiService`: Represents the main web UI and is what one would normally point - `guiService`: Represents the main web UI and is what one would normally point
the ingress to. the ingress to.
@ -196,13 +82,13 @@ Read through the [values.yaml](values.yaml) file. It has several commented out s
- `stunService`: Also used periodically by the unifi devices to communicate - `stunService`: Also used periodically by the unifi devices to communicate
with the controller using UDP. See [this article][ubnt 3] and [this other with the controller using UDP. See [this article][ubnt 3] and [this other
article][ubnt 4] for more information. article][ubnt 4] for more information.
- `syslogService`: Used to capture syslog from Unifi devices if the feature is - `syslogService`: Used to capture syslog from Unifi devices if the feature is
enabled in the site configuration. This needs to be reachable by Unifi devices enabled in the site configuration. This needs to be reachable by Unifi devices
on port 5514/UDP. on port 5514/UDP.
- `speedtestService`: Used for mobile speedtest inside the UniFi Mobile app. - `speedtestService`: Used for mobile speedtest inside the UniFi Mobile app.
This needs to be reachable by clients connecting to port 6789/TCP. This needs to be reachable by clients connecting to port 6789/TCP.
## Ingress and HTTPS ### Ingress and HTTPS
Unifi does [not support HTTP][unifi] so if you wish to use the guiService, you Unifi does [not support HTTP][unifi] so if you wish to use the guiService, you
need to ensure that you use a backend transport of HTTPS. need to ensure that you use a backend transport of HTTPS.
@ -216,10 +102,142 @@ ingress:
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
``` ```
[docker]: https://hub.docker.com/r/jacobalberty/unifi/tags/ ## Values
[github]: https://github.com/jacobalberty/unifi-docker
[ubnt]: https://www.ubnt.com/ **Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/)
[ubnt 2]: https://unifi-sdn.ubnt.com/
[ubnt 3]: https://help.ubnt.com/hc/en-us/articles/204976094-UniFi-What-protocol-does-the-controller-use-to-communicate-with-the-UAP- | Key | Type | Default | Description |
[ubnt 4]: https://help.ubnt.com/hc/en-us/articles/115015457668-UniFi-Troubleshooting-STUN-Communication-Errors |-----|------|---------|-------------|
[unifi]: https://community.ui.com/questions/Controller-how-to-deactivate-http-to-https/c5e247d8-b5b9-4c84-a3bb-28a90fd65668 | GID | int | `999` | |
| UID | int | `999` | |
| affinity | object | `{}` | |
| captivePortalService.annotations | object | `{}` | Provide any additional annotations which may be required. This can be used to set the LoadBalancer service type to internal only. ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer |
| captivePortalService.enabled | bool | `false` | |
| captivePortalService.externalTrafficPolicy | string | `"Cluster"` | Set the externalTrafficPolicy in the Service to either Cluster or Local |
| captivePortalService.http | int | `8880` | Kubernetes port where the http service is exposed |
| captivePortalService.https | int | `8843` | Kubernetes port where the https service is exposed |
| captivePortalService.ingress | object | `{"annotations":{},"enabled":false,"hosts":["chart-example.local"],"path":"/","tls":[]}` | Ingress settings |
| captivePortalService.labels | object | `{}` | |
| captivePortalService.loadBalancerIP | string | `nil` | Use loadBalancerIP to request a specific static IP, otherwise leave blank |
| captivePortalService.loadBalancerSourceRanges | list | `nil` | loadBalancerSourceRanges |
| captivePortalService.type | string | `"ClusterIP"` | Kubernetes service type |
| controllerService.annotations | object | `{}` | Provide any additional annotations which may be required. This can be used to set the LoadBalancer service type to internal only. ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer |
| controllerService.enabled | bool | `false` | |
| controllerService.externalTrafficPolicy | string | `"Cluster"` | Set the externalTrafficPolicy in the Service to either Cluster or Local |
| controllerService.ingress | object | `{"annotations":{},"enabled":false,"hosts":["chart-example.local"],"path":"/","tls":[]}` | Ingress settings |
| controllerService.labels | object | `{}` | |
| controllerService.loadBalancerIP | string | `nil` | Use loadBalancerIP to request a specific static IP, otherwise leave blank |
| controllerService.loadBalancerSourceRanges | list | `nil` | loadBalancerSourceRanges |
| controllerService.port | int | `8080` | Kubernetes port where the service is exposed |
| controllerService.type | string | `"NodePort"` | Kubernetes service type |
| customCert | object | `{"certName":"tls.crt","enabled":false,"isChain":false,"keyName":"tls.key"}` | If you provide your own custom certificate in <unifi-data>/cert you can define the following parameters to configure the controller |
| deploymentAnnotations | object | `{}` | |
| discoveryService.annotations | object | `{}` | Provide any additional annotations which may be required. This can be used to set the LoadBalancer service type to internal only. ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer |
| discoveryService.enabled | bool | `false` | |
| discoveryService.externalTrafficPolicy | string | `"Cluster"` | Set the externalTrafficPolicy in the Service to either Cluster or Local |
| discoveryService.ingress | object | `{"annotations":{},"enabled":false,"hosts":["chart-example.local"],"path":"/","tls":[]}` | Ingress settings |
| discoveryService.labels | object | `{}` | |
| discoveryService.loadBalancerIP | string | `nil` | Use loadBalancerIP to request a specific static IP, otherwise leave blank |
| discoveryService.loadBalancerSourceRanges | list | `nil` | loadBalancerSourceRanges |
| discoveryService.port | int | `10001` | Kubernetes port where the service is exposed |
| discoveryService.type | string | `"NodePort"` | Kubernetes service type |
| extraConfigFiles | object | `{}` | |
| extraJvmOpts | list | `[]` | |
| extraVolumeMounts | list | `[]` | |
| extraVolumes | list | `[]` | |
| guiService.annotations | object | `{}` | Provide any additional annotations which may be required. This can be used to set the LoadBalancer service type to internal only. ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer |
| guiService.enabled | bool | `false` | |
| guiService.externalTrafficPolicy | string | `"Cluster"` | Set the externalTrafficPolicy in the Service to either Cluster or Local |
| guiService.labels | object | `{}` | |
| guiService.loadBalancerIP | string | `nil` | Use loadBalancerIP to request a specific static IP, otherwise leave blank |
| guiService.loadBalancerSourceRanges | list | `nil` | loadBalancerSourceRanges |
| guiService.nodePort | int | `nil` | Specify the nodePort value for the LoadBalancer and NodePort service types. ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport |
| guiService.port | int | `8443` | Kubernetes port where the service is exposed |
| guiService.type | string | `"ClusterIP"` | Kubernetes service type |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"jacobalberty/unifi"` | |
| image.tag | string | `"5.14.23"` | |
| ingress | object | `{"annotations":{},"enabled":false,"hosts":["chart-example.local"],"path":"/","tls":[]}` | Ingress settings |
| jvmInitHeapSize | string | `nil` | Java Virtual Machine (JVM) initial, and minimum, heap size Unset value means there is no lower limit |
| jvmMaxHeapSize | string | `"1024M"` | Java Virtual Machine (JVM) maximum heap size For larger installations a larger value is recommended. For memory constrained system this value can be lowered. |
| livenessProbe | object | `{"enabled":true,"failureThreshold":3,"initialDelaySeconds":30,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | Liveness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes |
| logging | object | `{"promtail":{"enabled":false,"image":{"pullPolicy":"IfNotPresent","repository":"grafana/promtail","tag":"1.6.0"},"loki":{"url":"http://loki.logs.svc.cluster.local:3100/loki/api/v1/push"}}}` | Logging configuration |
| mongodb | object | `{"databaseName":"unifi","dbUri":"mongodb://mongo/unifi","enabled":false,"statDbUri":"mongodb://mongo/unifi_stat"}` | define an external mongoDB instead of using the built-in mongodb |
| nodeSelector | object | `{}` | |
| persistence.accessMode | string | `"ReadWriteOnce"` | Persistence access modes |
| persistence.enabled | bool | `true` | Use persistent volume to store data |
| persistence.existingClaim | string | `nil` | Use an existing PVC to persist data |
| persistence.size | string | `"5Gi"` | Size of persistent volume claim |
| persistence.skipuninstall | bool | `false` | Do not delete the pvc upon helm uninstall |
| persistence.storageClass | string | `nil` | Type of persistent volume claim |
| podAnnotations | object | `{}` | |
| readinessProbe | object | `{"enabled":true,"failureThreshold":3,"initialDelaySeconds":15,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | Readiness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes |
| resources | object | `{}` | |
| runAsRoot | bool | `false` | |
| speedtestService.annotations | object | `{}` | Provide any additional annotations which may be required. This can be used to set the LoadBalancer service type to internal only. ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer |
| speedtestService.enabled | bool | `false` | |
| speedtestService.externalTrafficPolicy | string | `"Cluster"` | Set the externalTrafficPolicy in the Service to either Cluster or Local |
| speedtestService.labels | object | `{}` | |
| speedtestService.loadBalancerIP | string | `nil` | Use loadBalancerIP to request a specific static IP, otherwise leave blank |
| speedtestService.loadBalancerSourceRanges | list | `nil` | loadBalancerSourceRanges |
| speedtestService.port | int | `6789` | Kubernetes port where the service is exposed |
| speedtestService.type | string | `"ClusterIP"` | Kubernetes service type |
| strategyType | string | `"Recreate"` | upgrade strategy type (e.g. Recreate or RollingUpdate) |
| stunService.annotations | object | `{}` | Provide any additional annotations which may be required. This can be used to set the LoadBalancer service type to internal only. ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer |
| stunService.enabled | bool | `false` | |
| stunService.externalTrafficPolicy | string | `"Cluster"` | Set the externalTrafficPolicy in the Service to either Cluster or Local |
| stunService.labels | object | `{}` | |
| stunService.loadBalancerIP | string | `nil` | Use loadBalancerIP to request a specific static IP, otherwise leave blank |
| stunService.loadBalancerSourceRanges | list | `nil` | loadBalancerSourceRanges |
| stunService.port | int | `3478` | Kubernetes port where the service is exposed |
| stunService.type | string | `"NodePort"` | Kubernetes service type |
| syslogService.annotations | object | `{}` | Provide any additional annotations which may be required. This can be used to set the LoadBalancer service type to internal only. ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer |
| syslogService.enabled | bool | `false` | |
| syslogService.externalTrafficPolicy | string | `"Cluster"` | Set the externalTrafficPolicy in the Service to either Cluster or Local |
| syslogService.labels | object | `{}` | |
| syslogService.loadBalancerIP | string | `nil` | Use loadBalancerIP to request a specific static IP, otherwise leave blank |
| syslogService.loadBalancerSourceRanges | list | `nil` | loadBalancerSourceRanges |
| syslogService.port | int | `5514` | Kubernetes port where the service is exposed |
| syslogService.type | string | `"NodePort"` | Kubernetes service type |
| timezone | string | `"UTC"` | |
| tolerations | list | `[]` | |
| unifiedService.annotations | object | `{}` | Provide any additional annotations which may be required. This can be used to set the LoadBalancer service type to internal only. ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer |
| unifiedService.enabled | bool | `false` | |
| unifiedService.externalTrafficPolicy | string | `"Cluster"` | Set the externalTrafficPolicy in the Service to either Cluster or Local |
| unifiedService.labels | object | `{}` | |
| unifiedService.loadBalancerIP | string | `nil` | Use loadBalancerIP to request a specific static IP, otherwise leave blank |
| unifiedService.loadBalancerSourceRanges | list | `nil` | loadBalancerSourceRanges |
| unifiedService.nodePort | int | `nil` | Specify the nodePort value for the LoadBalancer and NodePort service types. ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport |
| unifiedService.type | string | `"ClusterIP"` | Kubernetes service type |
## 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/charts/tree/master/charts/common/README.md#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.5.3]
#### Added
- N/A
#### Changed
- Use helm-docs
#### Removed
- N/A
[1.5.3]: #1.5.3
## 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,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](../common/values.yaml) from the [common library](../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/charts/tree/master/charts/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/charts/tree/master/charts/common/README.md#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.5.3]
#### Added
- N/A
#### Changed
- Use helm-docs
#### Removed
- N/A
[1.5.3]: #1.5.3
{{- end -}}

View File

@ -0,0 +1,45 @@
{{- define "custom.custom.configuration.header" -}}
## Custom configuration
{{- end -}}
{{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }}
### Regarding the services
- `guiService`: Represents the main web UI and is what one would normally point
the ingress to.
- `captivePortalService`: This service is used to allow the captive portal webpage
to be accessible. It needs to be reachable by the clients connecting to your guest
network.
- `controllerService`: This is needed in order for the unifi devices to talk to
the controller and must be otherwise exposed to the network where the unifi
devices run. If you run this as a `NodePort` (the default setting), make sure
that there is an external load balancer that is directing traffic from port
8080 to the `NodePort` for this service.
- `discoveryService`: This needs to be reachable by the unifi devices on the
network similar to the controller `Service` but only during the discovery
phase. This is a UDP service.
- `stunService`: Also used periodically by the unifi devices to communicate
with the controller using UDP. See [this article][ubnt 3] and [this other
article][ubnt 4] for more information.
- `syslogService`: Used to capture syslog from Unifi devices if the feature is
enabled in the site configuration. This needs to be reachable by Unifi devices
on port 5514/UDP.
- `speedtestService`: Used for mobile speedtest inside the UniFi Mobile app.
This needs to be reachable by clients connecting to port 6789/TCP.
### Ingress and HTTPS
Unifi does [not support HTTP][unifi] so if you wish to use the guiService, you
need to ensure that you use a backend transport of HTTPS.
An example entry in `values.yaml` to achieve this is as follows:
```
ingress:
enabled: true
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
```
{{- end -}}

View File

@ -2,7 +2,7 @@
# This is a YAML-formatted file. # This is a YAML-formatted file.
# Declare variables to be passed into your templates. # Declare variables to be passed into your templates.
# upgrade strategy type (e.g. Recreate or RollingUpdate) # -- upgrade strategy type (e.g. Recreate or RollingUpdate)
strategyType: Recreate strategyType: Recreate
image: image:
@ -19,106 +19,98 @@ image:
# different services on different IPs. # different services on different IPs.
unifiedService: unifiedService:
enabled: false enabled: false
# -- Kubernetes service type
type: ClusterIP type: ClusterIP
## Specify the nodePort value for the LoadBalancer and NodePort service types. # -- (int) Specify the nodePort value for the LoadBalancer and NodePort service types.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport # ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
## #
# nodePort: nodePort:
## Provide any additional annotations which may be required. This can be used to # -- Provide any additional annotations which may be required. This can be used to
## set the LoadBalancer service type to internal only. # set the LoadBalancer service type to internal only.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer # ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
##
annotations: {} annotations: {}
labels: {} labels: {}
## Use loadBalancerIP to request a specific static IP, # -- Use loadBalancerIP to request a specific static IP,
## otherwise leave blank # otherwise leave blank
##
loadBalancerIP: loadBalancerIP:
# loadBalancerSourceRanges: [] # -- (list) loadBalancerSourceRanges
## Set the externalTrafficPolicy in the Service to either Cluster or Local loadBalancerSourceRanges:
# externalTrafficPolicy: Cluster # -- Set the externalTrafficPolicy in the Service to either Cluster or Local
externalTrafficPolicy:
guiService: guiService:
enabled: false
# -- Kubernetes service type
type: ClusterIP type: ClusterIP
# -- Kubernetes port where the service is exposed
port: 8443 port: 8443
## Specify the nodePort value for the LoadBalancer and NodePort service types. # -- (int) Specify the nodePort value for the LoadBalancer and NodePort service types.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport # ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
## #
# nodePort: nodePort:
## Provide any additional annotations which may be required. This can be used to # -- Provide any additional annotations which may be required. This can be used to
## set the LoadBalancer service type to internal only. # set the LoadBalancer service type to internal only.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer # ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
##
annotations: {} annotations: {}
labels: {} labels: {}
## Use loadBalancerIP to request a specific static IP, # -- Use loadBalancerIP to request a specific static IP,
## otherwise leave blank # otherwise leave blank
##
loadBalancerIP: loadBalancerIP:
# loadBalancerSourceRanges: [] # -- (list) loadBalancerSourceRanges
## Set the externalTrafficPolicy in the Service to either Cluster or Local loadBalancerSourceRanges:
# externalTrafficPolicy: Cluster # -- Set the externalTrafficPolicy in the Service to either Cluster or Local
externalTrafficPolicy:
captivePortalService: captivePortalService:
enabled: false enabled: false
# -- Kubernetes service type
type: ClusterIP type: ClusterIP
## Specify the nodePort value for the LoadBalancer and NodePort service types. # -- Kubernetes port where the http service is exposed
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
##
http: 8880 http: 8880
# -- Kubernetes port where the https service is exposed
https: 8843 https: 8843
## Provide any additional annotations which may be required. This can be used to # -- Provide any additional annotations which may be required. This can be used to
## set the LoadBalancer service type to internal only. # set the LoadBalancer service type to internal only.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer # ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
##
annotations: {} annotations: {}
labels: {} labels: {}
## Use loadBalancerIP to request a specific static IP, # -- Use loadBalancerIP to request a specific static IP,
## otherwise leave blank # otherwise leave blank
##
loadBalancerIP: loadBalancerIP:
# loadBalancerSourceRanges: [] # -- (list) loadBalancerSourceRanges
## Set the externalTrafficPolicy in the Service to either Cluster or Local loadBalancerSourceRanges:
# externalTrafficPolicy: Cluster # -- Set the externalTrafficPolicy in the Service to either Cluster or Local
externalTrafficPolicy:
# -- Ingress settings
# Ingress settings only for the captive portal
ingress: ingress:
enabled: false enabled: false
annotations: {} annotations: {}
# nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
path: / path: /
hosts: hosts:
- chart-example.local - chart-example.local
tls: [] tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
controllerService: controllerService:
enabled: false
# -- Kubernetes service type
type: NodePort type: NodePort
# -- Kubernetes port where the service is exposed
port: 8080 port: 8080
## Specify the nodePort value for the LoadBalancer and NodePort service types. # -- Provide any additional annotations which may be required. This can be used to
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport # set the LoadBalancer service type to internal only.
## # ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
# nodePort:
## Provide any additional annotations which may be required. This can be used to
## set the LoadBalancer service type to internal only.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
##
annotations: {} annotations: {}
labels: {} labels: {}
## Use loadBalancerIP to request a specific static IP, # -- Use loadBalancerIP to request a specific static IP,
## otherwise leave blank # otherwise leave blank
##
loadBalancerIP: loadBalancerIP:
# loadBalancerSourceRanges: [] # -- (list) loadBalancerSourceRanges
## Set the externalTrafficPolicy in the Service to either Cluster or Local loadBalancerSourceRanges:
# externalTrafficPolicy: Cluster # -- Set the externalTrafficPolicy in the Service to either Cluster or Local
## externalTrafficPolicy:
# Ingress settings only for the controller
# -- Ingress settings
ingress: ingress:
enabled: false enabled: false
annotations: {} annotations: {}
@ -128,102 +120,100 @@ controllerService:
tls: [] tls: []
stunService: stunService:
enabled: false
# -- Kubernetes service type
type: NodePort type: NodePort
port: 3478 # udp # -- Kubernetes port where the service is exposed
## Specify the nodePort value for the LoadBalancer and NodePort service types. port: 3478
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport # -- Provide any additional annotations which may be required. This can be used to
## # set the LoadBalancer service type to internal only.
# nodePort: # ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
## Provide any additional annotations which may be required. This can be used to
## set the LoadBalancer service type to internal only.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
##
annotations: {} annotations: {}
labels: {} labels: {}
## Use loadBalancerIP to request a specific static IP, # -- Use loadBalancerIP to request a specific static IP,
## otherwise leave blank # otherwise leave blank
##
loadBalancerIP: loadBalancerIP:
# loadBalancerSourceRanges: [] # -- (list) loadBalancerSourceRanges
## Set the externalTrafficPolicy in the Service to either Cluster or Local loadBalancerSourceRanges:
# externalTrafficPolicy: Cluster # -- Set the externalTrafficPolicy in the Service to either Cluster or Local
externalTrafficPolicy:
discoveryService: discoveryService:
enabled: false
# -- Kubernetes service type
type: NodePort type: NodePort
port: 10001 # udp # -- Kubernetes port where the service is exposed
## Specify the nodePort value for the LoadBalancer and NodePort service types. port: 10001
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport # -- Provide any additional annotations which may be required. This can be used to
## # set the LoadBalancer service type to internal only.
# nodePort: # ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
## Provide any additional annotations which may be required. This can be used to
## set the LoadBalancer service type to internal only.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
##
annotations: {} annotations: {}
labels: {} labels: {}
## Use loadBalancerIP to request a specific static IP, # -- Use loadBalancerIP to request a specific static IP,
## otherwise leave blank # otherwise leave blank
##
loadBalancerIP: loadBalancerIP:
# loadBalancerSourceRanges: [] # -- (list) loadBalancerSourceRanges
## Set the externalTrafficPolicy in the Service to either Cluster or Local loadBalancerSourceRanges:
# externalTrafficPolicy: Cluster # -- Set the externalTrafficPolicy in the Service to either Cluster or Local
externalTrafficPolicy:
# -- Ingress settings
ingress:
enabled: false
annotations: {}
path: /
hosts:
- chart-example.local
tls: []
syslogService: syslogService:
enabled: false
# -- Kubernetes service type
type: NodePort type: NodePort
port: 5514 # udp # -- Kubernetes port where the service is exposed
## Specify the nodePort value for the LoadBalancer and NodePort service types. port: 5514
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport # -- Provide any additional annotations which may be required. This can be used to
## # set the LoadBalancer service type to internal only.
# nodePort: # ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
## Provide any additional annotations which may be required. This can be used to
## set the LoadBalancer service type to internal only.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
##
annotations: {} annotations: {}
labels: {} labels: {}
## Use loadBalancerIP to request a specific static IP, # -- Use loadBalancerIP to request a specific static IP,
## otherwise leave blank # otherwise leave blank
##
loadBalancerIP: loadBalancerIP:
# loadBalancerSourceRanges: [] # -- (list) loadBalancerSourceRanges
## Set the externalTrafficPolicy in the Service to either Cluster or Local loadBalancerSourceRanges:
# externalTrafficPolicy: Cluster # -- Set the externalTrafficPolicy in the Service to either Cluster or Local
externalTrafficPolicy:
speedtestService: speedtestService:
enabled: false
# -- Kubernetes service type
type: ClusterIP type: ClusterIP
# -- Kubernetes port where the service is exposed
port: 6789 port: 6789
## Specify the nodePort value for the LoadBalancer and NodePort service types. # -- Provide any additional annotations which may be required. This can be used to
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport # set the LoadBalancer service type to internal only.
## # ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
# nodePort:
## Provide any additional annotations which may be required. This can be used to
## set the LoadBalancer service type to internal only.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
##
annotations: {} annotations: {}
labels: {} labels: {}
## Use loadBalancerIP to request a specific static IP, # -- Use loadBalancerIP to request a specific static IP,
## otherwise leave blank # otherwise leave blank
##
loadBalancerIP: loadBalancerIP:
# loadBalancerSourceRanges: [] # -- (list) loadBalancerSourceRanges
## Set the externalTrafficPolicy in the Service to either Cluster or Local loadBalancerSourceRanges:
# externalTrafficPolicy: Cluster # -- Set the externalTrafficPolicy in the Service to either Cluster or Local
externalTrafficPolicy:
# -- Ingress settings
ingress: ingress:
enabled: false enabled: false
annotations: {} annotations: {}
# nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
path: / path: /
hosts: hosts:
- chart-example.local - chart-example.local
tls: [] tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
timezone: UTC timezone: UTC
@ -231,8 +221,8 @@ runAsRoot: false
UID: 999 UID: 999
GID: 999 GID: 999
## If you provide your own custom certificate in <unifi-data>/cert # -- If you provide your own custom certificate in <unifi-data>/cert
## you can define the following parameters to configure the controller # you can define the following parameters to configure the controller
customCert: customCert:
enabled: false enabled: false
isChain: false isChain: false
@ -242,7 +232,7 @@ customCert:
# you can pass the name of that secret using certSecret variable # you can pass the name of that secret using certSecret variable
# certSecret: unifi-tls # certSecret: unifi-tls
# Logging configuration # -- Logging configuration
logging: logging:
promtail: promtail:
enabled: false enabled: false
@ -253,7 +243,7 @@ logging:
loki: loki:
url: http://loki.logs.svc.cluster.local:3100/loki/api/v1/push url: http://loki.logs.svc.cluster.local:3100/loki/api/v1/push
# define an external mongoDB instead of using the built-in mongodb # -- define an external mongoDB instead of using the built-in mongodb
mongodb: mongodb:
enabled: false enabled: false
dbUri: mongodb://mongo/unifi dbUri: mongodb://mongo/unifi
@ -261,24 +251,18 @@ mongodb:
databaseName: unifi databaseName: unifi
persistence: persistence:
enabled: true # -- Use persistent volume to store data
## unifi data Persistent Volume Storage Class enabled: false
## If defined, storageClassName: <storageClass> # -- (string) Type of persistent volume claim
## If set to "-", storageClassName: "", which disables dynamic provisioning storageClass:
## If undefined (the default) or set to null, no storageClassName spec is # -- (string) Use an existing PVC to persist data
## set, choosing the default provisioner. (gp2 on AWS, standard on existingClaim:
## GKE, AWS & OpenStack) # -- Persistence access modes
##
# storageClass: "-"
##
## If you want to reuse an existing claim, you can pass the name of the PVC using
## the existingClaim variable
# existingClaim: your-claim
#
## Applies a prefix to the directories created by the unifi container
# subPath: unifi
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
# -- Size of persistent volume claim
size: 5Gi size: 5Gi
# -- Do not delete the pvc upon helm uninstall
skipuninstall: false
extraVolumes: [] extraVolumes: []
## specify additional volume to be used by extraVolumeMounts inside unifi container ## specify additional volume to be used by extraVolumeMounts inside unifi container
@ -300,13 +284,13 @@ extraJvmOpts: []
# - "-Dlog4j.configurationFile=file:/configmap/log4j2.xml" # - "-Dlog4j.configurationFile=file:/configmap/log4j2.xml"
# - "-Dsystem_ip=1.2.3.4" # - "-Dsystem_ip=1.2.3.4"
## Java Virtual Machine (JVM) initial, and minimum, heap size # -- Java Virtual Machine (JVM) initial, and minimum, heap size
## Unset value means there is no lower limit # Unset value means there is no lower limit
jvmInitHeapSize: jvmInitHeapSize:
## Java Virtual Machine (JVM) maximum heap size # -- Java Virtual Machine (JVM) maximum heap size
## For larger installations a larger value is recommended. # For larger installations a larger value is recommended.
## For memory constrained system this value can be lowered. # For memory constrained system this value can be lowered.
jvmMaxHeapSize: 1024M jvmMaxHeapSize: 1024M
extraConfigFiles: {} extraConfigFiles: {}
@ -350,9 +334,8 @@ resources: {}
# cpu: 100m # cpu: 100m
# memory: 128Mi # memory: 128Mi
## Liveness and readiness probe values # -- Liveness probe values
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes # Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
##
livenessProbe: livenessProbe:
enabled: true enabled: true
initialDelaySeconds: 30 initialDelaySeconds: 30
@ -360,6 +343,9 @@ livenessProbe:
timeoutSeconds: 1 timeoutSeconds: 1
failureThreshold: 3 failureThreshold: 3
successThreshold: 1 successThreshold: 1
# -- Readiness probe values
# Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
readinessProbe: readinessProbe:
enabled: true enabled: true
initialDelaySeconds: 15 initialDelaySeconds: 15

View File

@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
name: uptimerobot name: uptimerobot
version: 3.0.1 version: 3.0.2
appVersion: 1.1.0 appVersion: 1.1.0
description: A tool to get statistics from Uptime Robot and log it into InfluxDB description: A tool to get statistics from Uptime Robot and log it into InfluxDB
keywords: keywords:

View File

@ -1,73 +1,120 @@
# A tool to get statistics from Uptime Robot and log it into InfluxDB # uptimerobot
![Screenshot](https://raw.githubusercontent.com/billimek/node-influx-uptimerobot/master/docs/dashboard.png) ![Version: 3.0.1](https://img.shields.io/badge/Version-3.0.1-informational?style=flat-square) ![AppVersion: 1.1.0](https://img.shields.io/badge/AppVersion-1.1.0-informational?style=flat-square)
This tool allows you to run periodic uptimerobot data usage checks and save the results to Influxdb A tool to get statistics from Uptime Robot and log it into InfluxDB
## TL;DR; **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/trojanc/node-influx-uptimerobot>
* <https://github.com/k8s-at-home/charts>
## Requirements
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
## TL;DR
```console ```console
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/ helm repo add k8s-at-home https://k8s-at-home.com/charts/
$ helm install k8s-at-home/uptimerobot helm repo update
helm install uptimerobot k8s-at-home/uptimerobot
``` ```
## Introduction
This code is adopted from [this original repo](https://github.com/trojanc/node-influx-uptimerobot)
## Installing the Chart ## Installing the Chart
To install the chart with the release name `my-release`: To install the chart with the release name `uptimerobot`
```console ```console
$ helm install --name my-release k8s-at-home/uptimerobot helm install uptimerobot k8s-at-home/uptimerobot
``` ```
## Uninstalling the Chart ## Uninstalling the Chart
To uninstall/delete the `my-release` deployment: To uninstall the `uptimerobot` deployment
```console ```console
$ helm delete my-release --purge helm uninstall uptimerobot
``` ```
The command removes all the Kubernetes components associated with the chart and deletes the release. The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
## Configuration ## Configuration
The configuration is set as a block of text through a configmap and mounted as a file in /src/config.ini Any value in this text block should match the defined uptimerobot configuration. There are several values here that will have to match our kubernetes 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](../common/values.yaml) from the [common library](../common).
## Configuration Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
The following tables lists the configurable parameters of the Sentry chart and their default values.
| Parameter | Description | Default |
| ------------------------------- | ------------------------------- | ---------------------------------------------------------- |
| `image.repository` | uptimerobot image | `billimek/uptimerobotusage-for-influxdb` |
| `image.tag` | uptimerobot image tag | `latest` |
| `image.pullPolicy` | uptimerobot image pull policy | `IfNotPresent` |
| `delay` | number of seconds to wait between collections | `300` |
| `config.influxdb.host` | InfluxDB hostname | `influxdb-influxdb` |
| `config.influxdb.port` | InfluxDB port | `8086` |
| `config.influxdb.database` | InfluxDB database | `uptimerobot` |
| `config.influxdb.protocol` | InfluxDB protocol | `http` |
| `config.influxdb.username` | InfluxDB username | `` |
| `config.influxdb.password` | InfluxDB password | `` |
| `config.uptimerobot.apikey` | uptimerobot API key (REQUIRED) | `someapikey` |
| `podAnnotations` | Key-value pairs to add as pod annotations | `{}` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console ```console
$ helm install --name my-release \ helm install uptimerobot \
--set config.uptimerobot.apikey=thisismyapikey \ --set env.TZ="America/New York" \
k8s-at-home/uptimerobot k8s-at-home/uptimerobot
``` ```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console ```console
$ helm install --name my-release -f values.yaml k8s-at-home/uptimerobot helm install uptimerobot k8s-at-home/uptimerobot -f values.yaml
``` ```
Read through the [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/uptimerobot/values.yaml) file. It has several commented out suggested values. ## Custom configuration
N/A
## 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/charts/tree/master/charts/common/)
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| config.influxdb.database | string | `"uptimerobot"` | |
| config.influxdb.host | string | `"influxdb-influxdb"` | host/port/database are mandatory - change as needed |
| config.influxdb.port | int | `8086` | |
| config.influxdb.protocol | string | `"http"` | |
| config.uptimerobot.apikey | string | `"someapikey"` | uptimerobot API key (REQUIRED) |
| delay | int | `300` | number of seconds to wait between collections |
| image.pullPolicy | string | `"Always"` | uptimerobot image pull policy |
| image.repository | string | `"billimek/node-influx-uptimerobot"` | uptimerobot image |
| image.tag | string | `"latest"` | uptimerobot image tag |
| nodeSelector | object | `{}` | |
| podAnnotations | object | `{}` | Key-value pairs to add as pod annotations |
| replicaCount | int | `1` | |
| resources | object | `{}` | |
## 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/charts/tree/master/charts/common/README.md#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).
### [3.0.1]
#### Added
- N/A
#### Changed
- Use helm-docs
#### Removed
- N/A
[3.0.1]: #3.0.1
## 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,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](../common/values.yaml) from the [common library](../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/charts/tree/master/charts/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/charts/tree/master/charts/common/README.md#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).
### [3.0.2]
#### Added
- N/A
#### Changed
- Use helm-docs
#### Removed
- N/A
[3.0.2]: #3.0.2
{{- 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

@ -3,8 +3,11 @@
# Declare variables to be passed into your templates. # Declare variables to be passed into your templates.
replicaCount: 1 replicaCount: 1
image: image:
# -- uptimerobot image
repository: billimek/node-influx-uptimerobot repository: billimek/node-influx-uptimerobot
# -- uptimerobot image tag
tag: latest tag: latest
# -- uptimerobot image pull policy
pullPolicy: Always pullPolicy: Always
resources: {} resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious # We usually recommend not to specify default resources and to leave this as a conscious
@ -18,11 +21,11 @@ resources: {}
# cpu: 100m # cpu: 100m
# memory: 128Mi # memory: 128Mi
nodeSelector: {} nodeSelector: {}
# number of seconds to wait between collections # -- number of seconds to wait between collections
delay: 300 delay: 300
config: config:
influxdb: influxdb:
# host/port/database are mandatory - change as needed # -- host/port/database are mandatory - change as needed
host: influxdb-influxdb host: influxdb-influxdb
port: 8086 port: 8086
protocol: http protocol: http
@ -30,9 +33,10 @@ config:
# username: # username:
# password: # password:
uptimerobot: uptimerobot:
# API key is mandatory and must be populated # -- uptimerobot API key (REQUIRED)
apikey: someapikey apikey: someapikey
# logs_limit: 100 # logs_limit: 100
# response_times_limit: 100 # response_times_limit: 100
# -- Key-value pairs to add as pod annotations
podAnnotations: {} podAnnotations: {}