[chart] Update helm chart (#349)

This commit is contained in:
Dmytro Bondar 2025-01-23 13:42:51 +01:00 committed by GitHub
parent 043d25a08f
commit 2cf2341e4c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 56 additions and 41 deletions

View File

@ -2,10 +2,10 @@ apiVersion: v2
name: wg-portal name: wg-portal
description: WireGuard Configuration Portal with LDAP, OAuth, OIDC authentication description: WireGuard Configuration Portal with LDAP, OAuth, OIDC authentication
# Version is set to ensure compatibility with the chart's Ingress resource. # Version is set to ensure compatibility with the chart's Ingress resource.
kubeVersion: '>=1.19.0' kubeVersion: ">=1.19.0"
type: application type: application
home: https://wgportal.org home: https://wgportal.org
icon: https://wgportal.org/assets/images/logo.svg icon: https://wgportal.org/latest/assets/images/logo.svg
sources: sources:
- https://github.com/h44z/wg-portal - https://github.com/h44z/wg-portal
@ -16,10 +16,10 @@ annotations:
# This is the chart version. This version number should be incremented each time you make changes # This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version. # to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/) # Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.5.0 version: 0.6.0
# This is the version number of the application being deployed. This version number should be # This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to # incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using. # follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes. # It is recommended to use it with quotes.
appVersion: latest appVersion: "v2"

View File

@ -1,6 +1,6 @@
# wg-portal # wg-portal
![Version: 0.5.0](https://img.shields.io/badge/Version-0.5.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) ![Version: 0.6.0](https://img.shields.io/badge/Version-0.6.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v2](https://img.shields.io/badge/AppVersion-v2-informational?style=flat-square)
WireGuard Configuration Portal with LDAP, OAuth, OIDC authentication WireGuard Configuration Portal with LDAP, OAuth, OIDC authentication
@ -32,13 +32,13 @@ The [Values](#values) section lists the parameters that can be configured during
| nameOverride | string | `""` | Partially override resource names (adds suffix) | | nameOverride | string | `""` | Partially override resource names (adds suffix) |
| fullnameOverride | string | `""` | Fully override resource names | | fullnameOverride | string | `""` | Fully override resource names |
| extraDeploy | list | `[]` | Array of extra objects to deploy with the release | | extraDeploy | list | `[]` | Array of extra objects to deploy with the release |
| config.advanced | tpl/object | `{}` | Advanced configuration options. | | config.advanced | tpl/object | `{}` | [Advanced configuration](https://wgportal.org/latest/documentation/configuration/overview/#advanced) options. |
| config.auth | tpl/object | `{}` | Auth configuration options. | | config.auth | tpl/object | `{}` | [Auth configuration](https://wgportal.org/latest/documentation/configuration/overview/#auth) options. |
| config.core | tpl/object | `{}` | Core configuration options.<br> If external admins in `auth` are not defined and there are no `admin_user` and `admin_password` defined here, the default credentials will be generated. | | config.core | tpl/object | `{}` | [Core configuration](https://wgportal.org/latest/documentation/configuration/overview/#core) options.<br> If external admins in `auth` are not defined and there are no `admin_user` and `admin_password` defined here, the default credentials will be generated. |
| config.database | tpl/object | `{}` | Database configuration options | | config.database | tpl/object | `{}` | [Database configuration](https://wgportal.org/latest/documentation/configuration/overview/#database) options |
| config.mail | tpl/object | `{}` | Mail configuration options | | config.mail | tpl/object | `{}` | [Mail configuration](https://wgportal.org/latest/documentation/configuration/overview/#mail) options |
| config.statistics | tpl/object | `{}` | Statistics configuration options | | config.statistics | tpl/object | `{}` | [Statistics configuration](https://wgportal.org/latest/documentation/configuration/overview/#statistics) options |
| config.web | tpl/object | `{}` | Web configuration options.<br> `listening_address` will be set automatically from `service.web.port`. `external_url` is required to enable ingress and certificate resources. | | config.web | tpl/object | `{}` | [Web configuration](https://wgportal.org/latest/documentation/configuration/overview/#web) options.<br> `listening_address` will be set automatically from `service.web.port`. `external_url` is required to enable ingress and certificate resources. |
| revisionHistoryLimit | string | `10` | The number of old ReplicaSets to retain to allow rollback. | | revisionHistoryLimit | string | `10` | The number of old ReplicaSets to retain to allow rollback. |
| workloadType | string | `"Deployment"` | Workload type - `Deployment` or `StatefulSet` | | workloadType | string | `"Deployment"` | Workload type - `Deployment` or `StatefulSet` |
| strategy | object | `{"type":"RollingUpdate"}` | Update strategy for the workload Valid values are: `RollingUpdate` or `Recreate` for Deployment, `RollingUpdate` or `OnDelete` for StatefulSet | | strategy | object | `{"type":"RollingUpdate"}` | Update strategy for the workload Valid values are: `RollingUpdate` or `Recreate` for Deployment, `RollingUpdate` or `OnDelete` for StatefulSet |
@ -73,6 +73,7 @@ The [Values](#values) section lists the parameters that can be configured during
| service.web.annotations | object | `{}` | Annotations for the web service | | service.web.annotations | object | `{}` | Annotations for the web service |
| service.web.type | string | `"ClusterIP"` | Web service type | | service.web.type | string | `"ClusterIP"` | Web service type |
| service.web.port | int | `8888` | Web service port Used for the web interface listener | | service.web.port | int | `8888` | Web service port Used for the web interface listener |
| service.web.appProtocol | string | `"http"` | Web service appProtocol. Will be auto set to `https` if certificate is enabled. |
| service.wireguard.annotations | object | `{}` | Annotations for the WireGuard service | | service.wireguard.annotations | object | `{}` | Annotations for the WireGuard service |
| service.wireguard.type | string | `"LoadBalancer"` | Wireguard service type | | service.wireguard.type | string | `"LoadBalancer"` | Wireguard service type |
| service.wireguard.ports | list | `[51820]` | Wireguard service ports. Exposes the WireGuard ports for created interfaces. Lowerest port is selected as start port for the first interface. Increment next port by 1 for each additional interface. | | service.wireguard.ports | list | `[51820]` | Wireguard service ports. Exposes the WireGuard ports for created interfaces. Lowerest port is selected as start port for the first interface. Increment next port by 1 for each additional interface. |

View File

@ -51,3 +51,16 @@ spec:
{{- end }} {{- end }}
selector: {{- include "wg-portal.selectorLabels" .context | nindent 4 }} selector: {{- include "wg-portal.selectorLabels" .context | nindent 4 }}
{{- end -}} {{- end -}}
{{/*
Define the service port template for the web port
*/}}
{{- define "wg-portal.service.webPort" -}}
name: web
port: {{ .Values.service.web.port }}
protocol: TCP
targetPort: web
{{- if semverCompare ">=1.20-0" .Capabilities.KubeVersion.Version }}
appProtocol: {{ ternary "https" .Values.service.web.appProtocol .Values.certificate.enabled }}
{{- end -}}
{{- end -}}

View File

@ -1,4 +1,4 @@
{{- $portsWeb := list (dict "name" "web" "port" .Values.service.web.port "protocol" "TCP" "targetPort" "web") -}} {{- $portsWeb := list (include "wg-portal.service.webPort" . | fromYaml) -}}
{{- $ports := list -}} {{- $ports := list -}}
{{- range $idx, $port := .Values.service.wireguard.ports -}} {{- range $idx, $port := .Values.service.wireguard.ports -}}
{{- $name := printf "wg%d" $idx -}} {{- $name := printf "wg%d" $idx -}}

View File

@ -3,37 +3,36 @@
# Declare variables to be passed into your templates. # Declare variables to be passed into your templates.
# -- Partially override resource names (adds suffix) # -- Partially override resource names (adds suffix)
nameOverride: '' nameOverride: ""
# -- Fully override resource names # -- Fully override resource names
fullnameOverride: '' fullnameOverride: ""
# -- Array of extra objects to deploy with the release # -- Array of extra objects to deploy with the release
extraDeploy: [] extraDeploy: []
# https://github.com/h44z/wg-portal/blob/master/README.md#configuration-options
config: config:
# -- (tpl/object) Advanced configuration options. # -- (tpl/object) [Advanced configuration](https://wgportal.org/latest/documentation/configuration/overview/#advanced) options.
advanced: {} advanced: {}
# -- (tpl/object) Auth configuration options. # -- (tpl/object) [Auth configuration](https://wgportal.org/latest/documentation/configuration/overview/#auth) options.
auth: {} auth: {}
# -- (tpl/object) Core configuration options.<br> # -- (tpl/object) [Core configuration](https://wgportal.org/latest/documentation/configuration/overview/#core) options.<br>
# If external admins in `auth` are not defined and # If external admins in `auth` are not defined and
# there are no `admin_user` and `admin_password` defined here, # there are no `admin_user` and `admin_password` defined here,
# the default credentials will be generated. # the default credentials will be generated.
core: {} core: {}
# -- (tpl/object) Database configuration options # -- (tpl/object) [Database configuration](https://wgportal.org/latest/documentation/configuration/overview/#database) options
database: {} database: {}
# -- (tpl/object) Mail configuration options # -- (tpl/object) [Mail configuration](https://wgportal.org/latest/documentation/configuration/overview/#mail) options
mail: {} mail: {}
# -- (tpl/object) Statistics configuration options # -- (tpl/object) [Statistics configuration](https://wgportal.org/latest/documentation/configuration/overview/#statistics) options
statistics: {} statistics: {}
# -- (tpl/object) Web configuration options.<br> # -- (tpl/object) [Web configuration](https://wgportal.org/latest/documentation/configuration/overview/#web) options.<br>
# `listening_address` will be set automatically from `service.web.port`. # `listening_address` will be set automatically from `service.web.port`.
# `external_url` is required to enable ingress and certificate resources. # `external_url` is required to enable ingress and certificate resources.
web: {} web: {}
# -- The number of old ReplicaSets to retain to allow rollback. # -- The number of old ReplicaSets to retain to allow rollback.
# @default -- `10` # @default -- `10`
revisionHistoryLimit: '' revisionHistoryLimit: ""
# -- Workload type - `Deployment` or `StatefulSet` # -- Workload type - `Deployment` or `StatefulSet`
workloadType: Deployment workloadType: Deployment
# -- Update strategy for the workload # -- Update strategy for the workload
@ -49,7 +48,7 @@ image:
# -- Image pull policy # -- 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
tag: '' tag: ""
# -- Image pull secrets # -- Image pull secrets
imagePullSecrets: [] imagePullSecrets: []
@ -73,14 +72,14 @@ sidecarContainers: []
# -- Set DNS policy for the pod. # -- Set DNS policy for the pod.
# Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`. # Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`.
# @default -- `"ClusterFirst"` # @default -- `"ClusterFirst"`
dnsPolicy: '' dnsPolicy: ""
# -- Restart policy for all containers within the pod. # -- Restart policy for all containers within the pod.
# Valid values are `Always`, `OnFailure` or `Never`. # Valid values are `Always`, `OnFailure` or `Never`.
# @default -- `"Always"` # @default -- `"Always"`
restartPolicy: '' restartPolicy: ""
# -- Use the host's network namespace. # -- Use the host's network namespace.
# @default -- `false`. # @default -- `false`.
hostNetwork: '' hostNetwork: ""
# -- Resources requests and limits # -- Resources requests and limits
resources: {} resources: {}
# -- Overwrite pod command # -- Overwrite pod command
@ -123,6 +122,8 @@ service:
# -- Web service port # -- Web service port
# Used for the web interface listener # Used for the web interface listener
port: 8888 port: 8888
# -- Web service appProtocol. Will be auto set to `https` if certificate is enabled.
appProtocol: http
wireguard: wireguard:
# -- Annotations for the WireGuard service # -- Annotations for the WireGuard service
annotations: {} annotations: {}
@ -141,7 +142,7 @@ ingress:
# -- Specifies whether an ingress resource should be created # -- Specifies whether an ingress resource should be created
enabled: false enabled: false
# -- Ingress class name # -- Ingress class name
className: '' className: ""
# -- Ingress annotations # -- Ingress annotations
annotations: {} annotations: {}
# -- Ingress TLS configuration. # -- Ingress TLS configuration.
@ -153,17 +154,17 @@ certificate:
enabled: false enabled: false
issuer: issuer:
# -- Certificate issuer name # -- Certificate issuer name
name: '' name: ""
# -- Certificate issuer kind (ClusterIssuer or Issuer) # -- Certificate issuer kind (ClusterIssuer or Issuer)
kind: '' kind: ""
# -- Certificate issuer group # -- Certificate issuer group
group: cert-manager.io group: cert-manager.io
# -- Optional. [Documentation](https://cert-manager.io/docs/usage/certificate/#creating-certificate-resources) # -- Optional. [Documentation](https://cert-manager.io/docs/usage/certificate/#creating-certificate-resources)
duration: '' duration: ""
# -- Optional. [Documentation](https://cert-manager.io/docs/usage/certificate/#creating-certificate-resources) # -- Optional. [Documentation](https://cert-manager.io/docs/usage/certificate/#creating-certificate-resources)
renewBefore: '' renewBefore: ""
# -- Optional. [Documentation](https://cert-manager.io/docs/usage/certificate/#creating-certificate-resources) # -- Optional. [Documentation](https://cert-manager.io/docs/usage/certificate/#creating-certificate-resources)
commonName: '' commonName: ""
# -- Optional. [Documentation](https://cert-manager.io/docs/usage/certificate/#creating-certificate-resources) # -- Optional. [Documentation](https://cert-manager.io/docs/usage/certificate/#creating-certificate-resources)
emailAddresses: [] emailAddresses: []
# -- Optional. [Documentation](https://cert-manager.io/docs/usage/certificate/#creating-certificate-resources) # -- Optional. [Documentation](https://cert-manager.io/docs/usage/certificate/#creating-certificate-resources)
@ -188,7 +189,7 @@ persistence:
annotations: {} annotations: {}
# -- Persistent Volume storage class. # -- Persistent Volume storage class.
# If undefined (the default) cluster's default provisioner will be used. # If undefined (the default) cluster's default provisioner will be used.
storageClass: '' storageClass: ""
# -- Persistent Volume Access Mode # -- Persistent Volume Access Mode
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
# -- Persistent Volume size # -- Persistent Volume size
@ -203,7 +204,7 @@ serviceAccount:
automount: false automount: false
# -- The name of the service account to use. # -- The name of the service account to use.
# 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: ""
monitoring: monitoring:
# -- Enable Prometheus monitoring. # -- Enable Prometheus monitoring.
@ -220,15 +221,15 @@ monitoring:
annotations: {} annotations: {}
# -- Interval at which metrics should be scraped. If not specified `config.statistics.data_collection_interval` interval is used. # -- Interval at which metrics should be scraped. If not specified `config.statistics.data_collection_interval` interval is used.
# @default -- `1m` # @default -- `1m`
interval: '' interval: ""
# -- Relabelings to samples before ingestion. # -- Relabelings to samples before ingestion.
metricRelabelings: [] metricRelabelings: []
# -- Relabelings to samples before scraping. # -- Relabelings to samples before scraping.
relabelings: [] relabelings: []
# -- Timeout after which the scrape is ended If not specified, the Prometheus global scrape interval is used. # -- Timeout after which the scrape is ended If not specified, the Prometheus global scrape interval is used.
scrapeTimeout: '' scrapeTimeout: ""
# -- The label to use to retrieve the job name from. # -- The label to use to retrieve the job name from.
jobLabel: '' jobLabel: ""
# -- Transfers labels on the Kubernetes Pod onto the target. # -- Transfers labels on the Kubernetes Pod onto the target.
podTargetLabels: {} podTargetLabels: {}
@ -241,4 +242,4 @@ monitoring:
labels: {} labels: {}
# -- Dashboard ConfigMap namespace # -- Dashboard ConfigMap namespace
# Overrides the namespace for the dashboard ConfigMap. # Overrides the namespace for the dashboard ConfigMap.
namespace: '' namespace: ""

View File

@ -63,7 +63,7 @@ nav:
- Getting Started: - Getting Started:
- Binaries: documentation/getting-started/binaries.md - Binaries: documentation/getting-started/binaries.md
- Docker: documentation/getting-started/docker.md - Docker: documentation/getting-started/docker.md
- Kubernetes: documentation/getting-started/kubernetes.md - Helm: documentation/getting-started/helm.md
- Sources: documentation/getting-started/sources.md - Sources: documentation/getting-started/sources.md
- Configuration: - Configuration:
- Overview: documentation/configuration/overview.md - Overview: documentation/configuration/overview.md