From 3a918d3415a6898aece58cf6373395f8df2554f3 Mon Sep 17 00:00:00 2001 From: sonicaj Date: Fri, 24 Mar 2023 21:23:31 +0000 Subject: [PATCH] Update catalog information --- catalog.json | 10 +- charts/wg-easy/1.0.1/.helmignore | 2 + charts/wg-easy/1.0.1/Chart.lock | 6 + charts/wg-easy/1.0.1/Chart.yaml | 25 ++ charts/wg-easy/1.0.1/README.md | 3 + charts/wg-easy/1.0.1/app-readme.md | 3 + .../wg-easy/1.0.1/charts/common-2207.0.0.tgz | Bin 0 -> 4975 bytes charts/wg-easy/1.0.1/ci/test-values.yaml | 22 ++ charts/wg-easy/1.0.1/ix_values.yaml | 4 + charts/wg-easy/1.0.1/questions.yaml | 260 ++++++++++++++++++ .../wg-easy/1.0.1/templates/deployment.yaml | 130 +++++++++ charts/wg-easy/1.0.1/templates/service.yaml | 19 ++ charts/wg-easy/item.yaml | 5 + 13 files changed, 484 insertions(+), 5 deletions(-) create mode 100644 charts/wg-easy/1.0.1/.helmignore create mode 100644 charts/wg-easy/1.0.1/Chart.lock create mode 100644 charts/wg-easy/1.0.1/Chart.yaml create mode 100644 charts/wg-easy/1.0.1/README.md create mode 100644 charts/wg-easy/1.0.1/app-readme.md create mode 100644 charts/wg-easy/1.0.1/charts/common-2207.0.0.tgz create mode 100644 charts/wg-easy/1.0.1/ci/test-values.yaml create mode 100644 charts/wg-easy/1.0.1/ix_values.yaml create mode 100644 charts/wg-easy/1.0.1/questions.yaml create mode 100644 charts/wg-easy/1.0.1/templates/deployment.yaml create mode 100644 charts/wg-easy/1.0.1/templates/service.yaml create mode 100644 charts/wg-easy/item.yaml diff --git a/catalog.json b/catalog.json index acbf7c457f..e8da089a68 100644 --- a/catalog.json +++ b/catalog.json @@ -11,13 +11,13 @@ "healthy": true, "healthy_error": null, "location": "/__w/charts/charts/charts/wg-easy", - "latest_version": "1.0.0", + "latest_version": "1.0.1", "latest_app_version": "7", - "latest_human_version": "7_1.0.0", - "last_update": "2022-12-22 11:20:06", + "latest_human_version": "7_1.0.1", + "last_update": "2023-03-24 21:22:59", "name": "wg-easy", "recommended": false, - "title": "Wg-easy", + "title": "WG Easy", "icon_url": "https://raw.githubusercontent.com/WeeJeWel/wg-easy/master/src/www/img/logo.png" }, "pihole": { @@ -259,7 +259,7 @@ "latest_version": "1.0.19", "latest_app_version": "1.23.2", "latest_human_version": "1.23.2_1.0.19", - "last_update": "2023-03-24 21:22:18", + "last_update": "2023-03-24 21:22:50", "name": "syncthing", "recommended": false, "title": "Syncthing", diff --git a/charts/wg-easy/1.0.1/.helmignore b/charts/wg-easy/1.0.1/.helmignore new file mode 100644 index 0000000000..c1347c2c27 --- /dev/null +++ b/charts/wg-easy/1.0.1/.helmignore @@ -0,0 +1,2 @@ +# Patterns to ignore when building packages. +*.png diff --git a/charts/wg-easy/1.0.1/Chart.lock b/charts/wg-easy/1.0.1/Chart.lock new file mode 100644 index 0000000000..074a92e3f7 --- /dev/null +++ b/charts/wg-easy/1.0.1/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: file://../../../common/2207.0.0 + version: 2207.0.0 +digest: sha256:a301ba0f99ec1e08a60a7f0a0320aa02d225993572f2f056f09520f06df88b37 +generated: "2023-03-21T16:28:24.259499442Z" diff --git a/charts/wg-easy/1.0.1/Chart.yaml b/charts/wg-easy/1.0.1/Chart.yaml new file mode 100644 index 0000000000..79e784aa3a --- /dev/null +++ b/charts/wg-easy/1.0.1/Chart.yaml @@ -0,0 +1,25 @@ +name: wg-easy +description: WG-Easy is the easiest way to install & manage WireGuard! +annotations: + title: WG Easy +type: application +version: 1.0.1 +apiVersion: v2 +appVersion: "7" +kubeVersion: ">=1.16.0-0" +maintainers: + - name: truenas + url: https://www.truenas.com/ +dependencies: + - name: common + repository: file://../../../common/2207.0.0 + version: 2207.0.0 +home: https://github.com/WeeJeWel/wg-easy +icon: https://raw.githubusercontent.com/WeeJeWel/wg-easy/master/src/www/img/logo.png +sources: + - https://github.com/WeeJeWel/wg-easy + - https://github.com/truenas/charts/tree/master/library/ix-dev/charts/wg-easy +keywords: + - wireguard + - network + - vpn diff --git a/charts/wg-easy/1.0.1/README.md b/charts/wg-easy/1.0.1/README.md new file mode 100644 index 0000000000..8c6f958538 --- /dev/null +++ b/charts/wg-easy/1.0.1/README.md @@ -0,0 +1,3 @@ +# WG-Easy + +[WG-Easy (WireGuard Easy)](https://github.com/WeeJeWel/wg-easy) is the easiest way to install & manage WireGuard! diff --git a/charts/wg-easy/1.0.1/app-readme.md b/charts/wg-easy/1.0.1/app-readme.md new file mode 100644 index 0000000000..8c6f958538 --- /dev/null +++ b/charts/wg-easy/1.0.1/app-readme.md @@ -0,0 +1,3 @@ +# WG-Easy + +[WG-Easy (WireGuard Easy)](https://github.com/WeeJeWel/wg-easy) is the easiest way to install & manage WireGuard! diff --git a/charts/wg-easy/1.0.1/charts/common-2207.0.0.tgz b/charts/wg-easy/1.0.1/charts/common-2207.0.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b44cb1bc1ea75c94c71e2ba5f37a6f48b9c73cf1 GIT binary patch literal 4975 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 will be used. + schema: + type: list + default: [] + items: + - variable: entry + label: Allowed IP Entry + schema: + type: string + required: true + default: "" + + - variable: environmentVariables + label: WG-Easy Environment + group: Configuration + schema: + type: list + default: [] + items: + - variable: environmentVariable + label: Environment Variable + schema: + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: value + label: Value + schema: + type: string + default: "" + required: true + + - variable: appVolumeMounts + label: WG-Easy Storage + group: Storage + schema: + type: dict + attrs: + - variable: config + label: Configuration Volume + schema: + type: dict + attrs: + - variable: datasetName + label: Configuration Volume Dataset Name + schema: + type: string + hidden: true + $ref: + - normalize/ixVolume + show_if: [["hostPathEnabled", "=", false]] + default: ix-wg-easy_config + editable: false + - variable: mountPath + label: Configuration Mount Path + description: Path where the volume will be mounted inside the pod + schema: + type: path + hidden: true + editable: true + default: /etc/wireguard + - variable: hostPathEnabled + label: Enable Custom Host Path for WG-Easy Configuration Volume + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostPath + label: Host Path for WG-Easy Configuration Volume + schema: + type: hostpath + required: true + immutable: true + $ref: + - validations/lockedHostPath + + - variable: extraAppVolumeMounts + label: Extra Host Path Volumes + group: Storage + schema: + type: list + items: + - variable: extraAppVolume + label: Host Path Volume + description: Add an extra host path volume for WG-Easy application + schema: + type: dict + attrs: + - variable: mountPath + label: Mount Path in Pod + description: Path where the volume will be mounted inside the pod + schema: + type: path + required: true + - variable: hostPath + label: Host Path + description: Host path + schema: + type: hostpath + required: true + $ref: + - validations/lockedHostPath + + - variable: enableResourceLimits + label: Enable Pod resource limits + group: Resource Limits + schema: + type: boolean + default: false + - variable: cpuLimit + label: CPU Limit resource limits + description: CPU resource limit allow plain integer values with suffix m(milli) e.g 1000m, 100. + group: Resource Limits + schema: + type: string + show_if: [["enableResourceLimits", "=", true]] + valid_chars: "^\\d+(?:\\.\\d+(?!.*m$)|m?$)" + default: 4000m + - variable: memLimit + label: Memory Limit + group: Resource Limits + description: Memory limits is specified by number of bytes. Followed by quantity suffix like E,P,T,G,M,k and Ei,Pi,Ti,Mi,Gi,Ki can also be used. e.g 129e6, 129M, 128974848000m, 123Mi + schema: + type: string + show_if: [["enableResourceLimits", "=", true]] + valid_chars: "^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" + default: 8Gi diff --git a/charts/wg-easy/1.0.1/templates/deployment.yaml b/charts/wg-easy/1.0.1/templates/deployment.yaml new file mode 100644 index 0000000000..0e113f75d8 --- /dev/null +++ b/charts/wg-easy/1.0.1/templates/deployment.yaml @@ -0,0 +1,130 @@ +{{ include "common.storage.hostPathValidate" .Values }} +apiVersion: {{ template "common.capabilities.deployment.apiVersion" . }} +kind: Deployment +metadata: + name: {{ template "common.names.fullname" . }} + labels: + app: {{ template "common.names.name" . }} + chart: {{ template "common.names.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} + annotations: + rollme: {{ randAlphaNum 5 | quote }} +spec: + replicas: {{ (default 1 .Values.replicas) }} + strategy: + type: "Recreate" + selector: + matchLabels: + app: {{ template "common.names.name" . }} + release: {{ .Release.Name }} + template: + metadata: + name: {{ template "common.names.fullname" . }} + labels: + {{- include "common.labels.selectorLabels" . | nindent 8 }} + annotations: {{ include "common.annotations" . | nindent 8 }} + spec: + hostNetwork: {{ .Values.hostNetwork }} + hostname: {{ .Release.Name }} + containers: + - name: {{ .Chart.Name }} + {{ include "common.resources.limitation" . | nindent 10 }} + {{ include "common.containers.imageConfig" .Values.image | nindent 10 }} + securityContext: + capabilities: + add: + - NET_ADMIN + - SYS_MODULE + {{/* https://github.com/WeeJeWel/wg-easy/pull/394 */}} + runAsUser: 0 + runAsGroup: 0 + readOnlyRootFilesystem: false + runAsNonRoot: false + volumeMounts: {{ include "common.storage.configureAppVolumeMountsInContainer" .Values | nindent 12 }} + {{ range $index, $hostPathConfiguration := .Values.extraAppVolumeMounts }} + - name: extrappvolume-{{ $index }} + mountPath: {{ $hostPathConfiguration.mountPath }} + {{ end }} + ports: + - name: udp + containerPort: {{ .Values.wgUDPPort }} + protocol: UDP + - name: web + containerPort: {{ .Values.webUIPort }} + env: + {{ $wgeasy := .Values.wgeasy }} + {{ $envList := (default list .Values.environmentVariables) }} + {{ $envList = mustAppend $envList (dict "name" "WG_HOST" "value" $wgeasy.host) }} + {{ $envList = mustAppend $envList (dict "name" "PASSWORD" "value" $wgeasy.password) }} + {{ $envList = mustAppend $envList (dict "name" "WG_PORT" "value" .Values.wgUDPPort) }} + {{ $envList = mustAppend $envList (dict "name" "PORT" "value" .Values.webUIPort) }} + {{ $envList = mustAppend $envList (dict "name" "WG_PERSISTENT_KEEPALIVE" "value" $wgeasy.keep_alive) }} + {{ $envList = mustAppend $envList (dict "name" "WG_MTU" "value" $wgeasy.client_mtu) }} + {{ $envList = mustAppend $envList (dict "name" "WG_DEFAULT_ADDRESS" "value" $wgeasy.client_address_range) }} + {{ $envList = mustAppend $envList (dict "name" "WG_DEFAULT_DNS" "value" $wgeasy.client_dns_server) }} + {{ if $wgeasy.allowed_ips }} + {{ $envList = mustAppend $envList (dict "name" "WG_ALLOWED_IPS" "value" (join "," $wgeasy.allowed_ips)) }} + {{ else }} + {{ $envList = mustAppend $envList (dict "name" "WG_ALLOWED_IPS" "value" ("0.0.0.0/0,::/0")) }} + {{ end }} + {{ include "common.containers.environmentVariables" (dict "environmentVariables" $envList) | nindent 12 }} + readinessProbe: + httpGet: + path: / + port: {{ .Values.webUIPort }} + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 5 + successThreshold: 2 + livenessProbe: + httpGet: + path: / + port: {{ .Values.webUIPort }} + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 5 + successThreshold: 1 + startupProbe: + httpGet: + path: / + port: {{ .Values.webUIPort }} + initialDelaySeconds: 10 + periodSeconds: 5 + timeoutSeconds: 2 + failureThreshold: 60 + successThreshold: 1 + {{ $ip := .Values.wgeasy.client_address_range | replace "x" "0" }} + lifecycle: + preStop: + exec: + command: + - /bin/bash + - -c + - | + echo "Deleting routes created by the app..." + netmask=$(ip route | grep {{ $ip }}) + netmask=$(echo $netmask | grep -o -E '/.\d*') + netmask=${netmask#/} + echo "Matched routes to delete... {{ $ip }}/$netmask" + # Don't try to delete routes if steps above didn't grep-ed anything + if [ ! "$netmask" == "" ]; then + ip route del {{ $ip }}/$netmask || echo "Route deletion failed..." + fi + echo "Routes deleted..." + interface=$(ip a | grep wg0) + if [ ! "$interface" == "" ]; then + echo "Removing wg0 interface..." + ip link delete wg0 + echo "Removed wg0 interface..." + fi + +{{ include "common.networking.dnsConfiguration" .Values | nindent 6 }} + volumes: {{ include "common.storage.configureAppVolumes" .Values | nindent 8 }} + {{ range $index, $hostPathConfiguration := .Values.extraAppVolumeMounts }} + - name: extrappvolume-{{ $index }} + hostPath: + path: {{ $hostPathConfiguration.hostPath }} + {{ end }} diff --git a/charts/wg-easy/1.0.1/templates/service.yaml b/charts/wg-easy/1.0.1/templates/service.yaml new file mode 100644 index 0000000000..42d960b193 --- /dev/null +++ b/charts/wg-easy/1.0.1/templates/service.yaml @@ -0,0 +1,19 @@ +{{ $selectors := list }} +{{ $selectors = mustAppend $selectors (dict "key" "app" "value" (include "common.names.name" .) ) }} +{{ $selectors = mustAppend $selectors (dict "key" "release" "value" .Release.Name ) }} +{{ $ports := list }} +{{- if not .Values.hostNetwork }} +{{ $ports = mustAppend $ports (dict "name" "web" "port" .Values.webUIPort "nodePort" .Values.webUIPort "targetPort" .Values.webUIPort) }} +{{ $ports = mustAppend $ports (dict "name" "udp" "port" .Values.wgUDPPort "nodePort" .Values.wgUDPPort "targetPort" .Values.wgUDPPort "protocol" "UDP") }} +{{- else }} +{{ $ports = mustAppend $ports (dict "name" "web" "port" .Values.webUIPort "targetPort" .Values.webUIPort) }} +{{ $ports = mustAppend $ports (dict "name" "udp" "port" .Values.wgUDPPort "targetPort" .Values.wgUDPPort "protocol" "UDP") }} +{{- end }} +{{ $params := . }} +{{- if not .Values.hostNetwork }} +{{ $_ := set $params "commonService" (dict "type" "NodePort" "ports" $ports ) }} +{{- else }} +{{ $_ := set $params "commonService" (dict "type" "ClusterIP" "ports" $ports ) }} +{{- end }} +{{ $_1 := set .Values "extraSelectorLabels" $selectors }} +{{ include "common.classes.service" $params }} diff --git a/charts/wg-easy/item.yaml b/charts/wg-easy/item.yaml new file mode 100644 index 0000000000..d14a20abcc --- /dev/null +++ b/charts/wg-easy/item.yaml @@ -0,0 +1,5 @@ +icon_url: https://raw.githubusercontent.com/WeeJeWel/wg-easy/master/src/www/img/logo.png +categories: +- wireguard +- network +- vpn