Helm
Installing the Chart
To install the chart with the release name wg-portal:
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 section lists the parameters that can be configured during installation.
Values
| Key | Type | Default | Description |
|---|---|---|---|
| nameOverride | string | "" | Partially override resource names (adds suffix) |
| fullnameOverride | string | "" | Fully override resource names |
| extraDeploy | list | [] | Array of extra objects to deploy with the release |
| config.advanced | tpl/object | {} | Advanced configuration options. |
| config.auth | tpl/object | {} | Auth configuration options. |
| config.core | tpl/object | {} | Core configuration options. If external admins in auth are defined and there are no admin_user and admin_password defined here, the default admin account will be disabled. |
| 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.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. |
| 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 |
| image.repository | string | "ghcr.io/h44z/wg-portal" | Image repository |
| image.pullPolicy | string | "IfNotPresent" | Image pull policy |
| image.tag | string | "" | Overrides the image tag whose default is the chart appVersion |
| imagePullSecrets | list | [] | Image pull secrets |
| podAnnotations | tpl/object | {} | Extra annotations to add to the pod |
| podLabels | object | {} | Extra labels to add to the pod |
| podSecurityContext | object | {} | Pod Security Context |
| securityContext.capabilities.add | list | ["NET_ADMIN"] | Add capabilities to the container |
| initContainers | tpl/list | [] | Pod init containers |
| sidecarContainers | tpl/list | [] | Pod sidecar containers |
| dnsPolicy | string | "ClusterFirst" | Set DNS policy for the pod. Valid values are ClusterFirstWithHostNet, ClusterFirst, Default or None. |
| restartPolicy | string | "Always" | Restart policy for all containers within the pod. Valid values are Always, OnFailure or Never. |
| hostNetwork | string | false. | Use the host's network namespace. |
| resources | object | {} | Resources requests and limits |
| command | list | [] | Overwrite pod command |
| args | list | [] | Additional pod arguments |
| env | tpl/list | [] | Additional environment variables |
| envFrom | tpl/list | [] | Additional environment variables from a secret or configMap |
| livenessProbe | object | {} | Liveness probe configuration |
| readinessProbe | object | {} | Readiness probe configuration |
| startupProbe | object | {} | Startup probe configuration |
| volumes | tpl/list | [] | Additional volumes |
| volumeMounts | tpl/list | [] | Additional volumeMounts |
| nodeSelector | object | {"kubernetes.io/os":"linux"} | Node Selector configuration |
| tolerations | list | [] | Tolerations configuration |
| affinity | object | {} | Affinity configuration |
| service.mixed.enabled | bool | false | Whether to create a single service for the web and wireguard interfaces |
| service.mixed.type | string | "LoadBalancer" | Service type |
| service.web.annotations | object | {} | Annotations for the web service |
| service.web.type | string | "ClusterIP" | Web service type |
| 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.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.metrics.port | int | 8787 | |
| ingress.enabled | bool | false | Specifies whether an ingress resource should be created |
| ingress.className | string | "" | Ingress class name |
| ingress.annotations | object | {} | Ingress annotations |
| ingress.tls | bool | false | Ingress TLS configuration. Enable certificate resource or add ingress annotation to create required secret |
| certificate.enabled | bool | false | Specifies whether a certificate resource should be created. If enabled, certificate will be used for the web. |
| certificate.issuer.name | string | "" | Certificate issuer name |
| certificate.issuer.kind | string | "" | Certificate issuer kind (ClusterIssuer or Issuer) |
| certificate.issuer.group | string | "cert-manager.io" | Certificate issuer group |
| certificate.duration | string | "" | Optional. Documentation |
| certificate.renewBefore | string | "" | Optional. Documentation |
| certificate.commonName | string | "" | Optional. Documentation |
| certificate.emailAddresses | list | [] | Optional. Documentation |
| certificate.ipAddresses | list | [] | Optional. Documentation |
| certificate.keystores | object | {} | Optional. Documentation |
| certificate.privateKey | object | {} | Optional. Documentation |
| certificate.secretTemplate | object | {} | Optional. Documentation |
| certificate.subject | object | {} | Optional. Documentation |
| certificate.uris | list | [] | Optional. Documentation |
| certificate.usages | list | [] | Optional. Documentation |
| persistence.enabled | bool | false | Specifies whether an persistent volume should be created |
| persistence.annotations | object | {} | Persistent Volume Claim annotations |
| persistence.storageClass | string | "" | Persistent Volume storage class. If undefined (the default) cluster's default provisioner will be used. |
| persistence.accessMode | string | "ReadWriteOnce" | Persistent Volume Access Mode |
| persistence.size | string | "1Gi" | Persistent Volume size |
| persistence.volumeName | string | "" | Persistent Volume Name (optional) |
| serviceAccount.create | bool | true | Specifies whether a service account should be created |
| serviceAccount.annotations | object | {} | Service account annotations |
| serviceAccount.automount | bool | false | Automatically mount a ServiceAccount's API credentials |
| 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 |
| monitoring.enabled | bool | false | Enable Prometheus monitoring. |
| monitoring.apiVersion | string | "monitoring.coreos.com/v1" | API version of the Prometheus resource. Use azmonitoring.coreos.com/v1 for Azure Managed Prometheus. |
| monitoring.kind | string | "PodMonitor" | Kind of the Prometheus resource. Could be PodMonitor or ServiceMonitor. |
| monitoring.labels | object | {} | Resource labels. |
| monitoring.annotations | object | {} | Resource annotations. |
| monitoring.interval | string | 1m | Interval at which metrics should be scraped. If not specified config.statistics.data_collection_interval interval is used. |
| monitoring.metricRelabelings | list | [] | Relabelings to samples before ingestion. |
| monitoring.relabelings | list | [] | Relabelings to samples before scraping. |
| monitoring.scrapeTimeout | string | "" | Timeout after which the scrape is ended If not specified, the Prometheus global scrape interval is used. |
| monitoring.jobLabel | string | "" | The label to use to retrieve the job name from. |
| monitoring.podTargetLabels | object | {} | Transfers labels on the Kubernetes Pod onto the target. |
| monitoring.dashboard.enabled | bool | false | Enable Grafana dashboard. |
| monitoring.dashboard.annotations | object | {} | Annotations for the dashboard ConfigMap. |
| monitoring.dashboard.labels | object | {} | Additional labels for the dashboard ConfigMap. |
| monitoring.dashboard.namespace | string | "" | Dashboard ConfigMap namespace Overrides the namespace for the dashboard ConfigMap. |