mirror of
https://github.com/h44z/wg-portal
synced 2025-02-26 05:49:14 +00:00
117 lines
6.4 KiB
Markdown
117 lines
6.4 KiB
Markdown
|
# wg-portal
|
||
|
|
||
|
  
|
||
|
|
||
|
WireGuard Configuration Portal with LDAP, OAuth, OIDC authentication
|
||
|
|
||
|
**Homepage:** <https://wgportal.org>
|
||
|
|
||
|
## Source Code
|
||
|
|
||
|
* <https://github.com/h44z/wg-portal>
|
||
|
|
||
|
## Requirements
|
||
|
|
||
|
Kubernetes: `>=1.19.0`
|
||
|
|
||
|
## Installing the Chart
|
||
|
|
||
|
To install the chart with the release name `wg-portal`:
|
||
|
|
||
|
```console
|
||
|
helm install wg-portal oci://ghcr.io/h44z/charts/wg-portal
|
||
|
```
|
||
|
|
||
|
This command deploy wg-portal on the Kubernetes cluster in the default configuration.
|
||
|
The [Values](#values) section lists the parameters that can be configured during installation.
|
||
|
|
||
|
## Values
|
||
|
|
||
|
### Parameters
|
||
|
|
||
|
| Key | Type | Default | Description |
|
||
|
|-----|------|---------|-------------|
|
||
|
| affinity | object | `{}` | Affinity configuration |
|
||
|
| args | list | `[]` | Additional pod arguments |
|
||
|
| command | list | `[]` | Overwrite pod command |
|
||
|
| dnsPolicy | string | `"ClusterFirst"` | Set DNS policy for the pod. Valid values are `ClusterFirstWithHostNet`, `ClusterFirst`, `Default` or `None`. |
|
||
|
| env | tpl/list | `[]` | Additional environment variables |
|
||
|
| envFrom | tpl/list | `[]` | Additional environment variables from a secret or configMap |
|
||
|
| hostNetwork | string | `false`. | Use the host's network namespace. |
|
||
|
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
|
||
|
| image.repository | string | `"ghcr.io/h44z/wg-portal"` | Image repository |
|
||
|
| image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion |
|
||
|
| imagePullSecrets | list | `[]` | Image pull secrets |
|
||
|
| initContainers | tpl/list | `[]` | Pod init containers |
|
||
|
| nodeSelector | object | `{"kubernetes.io/os":"linux"}` | Node Selector configuration |
|
||
|
| podAnnotations | tpl/object | `{}` | Extra annotations to add to the pod |
|
||
|
| podLabels | object | `{}` | Extra labels to add to the pod |
|
||
|
| podSecurityContext | object | `{}` | Pod Security Context |
|
||
|
| resources | object | `{}` | Resources requests and limits |
|
||
|
| restartPolicy | string | `"Always"` | Restart policy for all containers within the pod. Valid values are `Always`, `OnFailure` or `Never`. |
|
||
|
| revisionHistoryLimit | string | `10` | The number of old ReplicaSets to retain to allow rollback. |
|
||
|
| securityContext.capabilities.add | list | `["NET_ADMIN"]` | Add capabilities to the container |
|
||
|
| sidecarContainers | tpl/list | `[]` | Pod sidecar containers |
|
||
|
| strategy | object | `{"type":"RollingUpdate"}` | Update strategy for the workload Valid values are: `RollingUpdate` or `Recreate` for Deployment, `RollingUpdate` or `OnDelete` for StatefulSet |
|
||
|
| tolerations | list | `[]` | Tolerations configuration |
|
||
|
| volumeMounts | tpl/list | `[]` | Additional volumeMounts |
|
||
|
| volumes | tpl/list | `[]` | Additional volumes |
|
||
|
| workloadType | string | `"Deployment"` | Workload type - `Deployment` or `StatefulSet` |
|
||
|
|
||
|
### Configuration
|
||
|
|
||
|
| Key | Type | Default | Description |
|
||
|
|-----|------|---------|-------------|
|
||
|
| config.advanced | tpl/object | `{}` | Advanced configuration options. |
|
||
|
| config.auth | tpl/object | `{}` | Auth configuration 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.database | tpl/object | `{}` | Database configuration options |
|
||
|
| config.mail | tpl/object | `{}` | Mail configuration options |
|
||
|
| config.statistics | tpl/object | `{}` | Statistics configuration options |
|
||
|
| config.web | tpl/object | `{}` | Web configuration options.<br> The chart will set `listening_address` automatically from `service.web.port`, and `external_url` from `ingress.host` if enabled. |
|
||
|
|
||
|
### Common
|
||
|
|
||
|
| Key | Type | Default | Description |
|
||
|
|-----|------|---------|-------------|
|
||
|
| extraDeploy | list | `[]` | Array of extra objects to deploy with the release |
|
||
|
| fullnameOverride | string | `""` | Fully override resource names |
|
||
|
| nameOverride | string | `""` | Partially override resource names (adds suffix) |
|
||
|
|
||
|
### Traffic exposure
|
||
|
|
||
|
| Key | Type | Default | Description |
|
||
|
|-----|------|---------|-------------|
|
||
|
| ingress.annotations | object | `{}` | Ingress annotations |
|
||
|
| ingress.className | string | `""` | Ingress class name |
|
||
|
| ingress.enabled | bool | `false` | Specifies whether an ingress resource should be created |
|
||
|
| ingress.host | string | `""` | Ingress host FQDN |
|
||
|
| ingress.path | string | `"/"` | Ingress path |
|
||
|
| ingress.pathType | string | `"ImplementationSpecific"` | Ingress path type |
|
||
|
| ingress.tls | list | `[]` | Ingress TLS configuration |
|
||
|
| service.web.annotations | object | `{}` | Annotations for the web service |
|
||
|
| service.web.port | int | `8888` | Web service port Used for the web interface listener |
|
||
|
| service.web.type | string | `"ClusterIP"` | Web service type |
|
||
|
| service.wireguard.annotations | object | `{}` | Annotations for the WireGuard service |
|
||
|
| 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.type | string | `"LoadBalancer"` | Wireguard service type |
|
||
|
|
||
|
### Persistence
|
||
|
|
||
|
| Key | Type | Default | Description |
|
||
|
|-----|------|---------|-------------|
|
||
|
| persistence.accessMode | string | `"ReadWriteOnce"` | Persistent Volume Access Mode |
|
||
|
| persistence.annotations | object | `{}` | Persistent Volume Claim annotations |
|
||
|
| persistence.enabled | bool | `false` | Specifies whether an persistent volume should be created |
|
||
|
| persistence.size | string | `"1Gi"` | Persistent Volume size |
|
||
|
| persistence.storageClass | string | `""` | Persistent Volume storage class. If undefined (the default) cluster's default provisioner will be used. |
|
||
|
|
||
|
### RBAC
|
||
|
|
||
|
| Key | Type | Default | Description |
|
||
|
|-----|------|---------|-------------|
|
||
|
| serviceAccount.annotations | object | `{}` | Service account annotations |
|
||
|
| serviceAccount.automount | bool | `false` | Automatically mount a ServiceAccount's API credentials |
|
||
|
| serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
|
||
|
| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
|