diff --git a/charts/incubator/dockovpn/.helmignore b/charts/incubator/dockovpn/.helmignore new file mode 100644 index 000000000000..77ca5567b26d --- /dev/null +++ b/charts/incubator/dockovpn/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/incubator/dockovpn/CHANGELOG.md b/charts/incubator/dockovpn/CHANGELOG.md new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/charts/incubator/dockovpn/Chart.yaml b/charts/incubator/dockovpn/Chart.yaml new file mode 100644 index 000000000000..a08e7af6756e --- /dev/null +++ b/charts/incubator/dockovpn/Chart.yaml @@ -0,0 +1,37 @@ +annotations: + max_scale_version: 24.04.0 + min_scale_version: 23.10.0 + truecharts.org/SCALE-support: "true" + truecharts.org/category: networking + truecharts.org/max_helm_version: "3.14" + truecharts.org/min_helm_version: "3.11" + truecharts.org/train: incubator +apiVersion: v2 +appVersion: 1.14.0 +dependencies: + - name: common + version: 20.3.11 + repository: oci://tccr.io/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] +deprecated: false +description: DNS and Ad-filtering for your network +home: https://truecharts.org/charts/incubator/dockovpn +icon: https://truecharts.org/img/hotlink-ok/chart-icons/dockovpn.webp +keywords: + - vpn + - openvpn +kubeVersion: '>=1.24.0-0' +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +name: dockovpn +sources: + - https://github.com/dockovpn/dockovpn + - https://github.com/truecharts/charts/tree/master/charts/incubator/dockovpn + - https://hub.docker.com/r/alekslitvinenk/openvpn +type: application +version: 0.0.1 diff --git a/charts/incubator/dockovpn/README.md b/charts/incubator/dockovpn/README.md new file mode 100644 index 000000000000..11346dd16710 --- /dev/null +++ b/charts/incubator/dockovpn/README.md @@ -0,0 +1,56 @@ +--- +title: README +--- + +## General Info + +TrueCharts can be installed as both _normal_ Helm Charts or as TrueNAS SCALE Apps. +Both solutions are fully supported, but we heavily advice the use of normal Helm Charts where possible + +For more information about this Chart, please check the docs on the TrueCharts [website](https://truecharts.org/charts/inncubator/dockovpn) + +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)** + +## Installation + +### Helm-Chart installation + +To install TrueCharts Helm charts using Helm, you can use our OCI Repository. + +`helm install mychart oci://tccr.io/truecharts/CHARTNAME` + +For more information on how to install TrueCharts Helm charts, checkout the instructions on the website: https://truecharts.org/helm/ + + +### TrueNAS SCALE Apps + +For more information on how to use TrueCharts as TrueNAS SCALE Apps, please checkout the [quick-start guides for TrueNAS SCALE](https://truecharts.org/scale/guides/scale-intro). + +## Configuration Options + +To view the chart specific options, please view Values.yaml included in the chart. + +All our Charts use a shared "common" library chart that contains most of the templating and options. +For the complete overview of all available options, please checkout the documentation for them on the website: https://truecharts.org/common/ + +## Chart Specific Guides and information + +All our charts have dedicated documentation pages. +The documentation for this chart can be found here: +https://truecharts.org/charts/stable/pihole + +## Support + + +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/charts/issues/new/choose) + +--- + +## Sponsor TrueCharts + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/general/sponsor) or contributing back to the project any way you can! + +_All Rights Reserved - The TrueCharts Project_ diff --git a/charts/incubator/dockovpn/icon.png b/charts/incubator/dockovpn/icon.png new file mode 100644 index 000000000000..6436b817a6e7 Binary files /dev/null and b/charts/incubator/dockovpn/icon.png differ diff --git a/charts/incubator/dockovpn/questions.yaml b/charts/incubator/dockovpn/questions.yaml new file mode 100644 index 000000000000..b65772340caf --- /dev/null +++ b/charts/incubator/dockovpn/questions.yaml @@ -0,0 +1,132 @@ +# Include{groups} +portals: + open: +# Include{portalLink} +questions: +# Include{global} +# Include{workload} +# Include{workloadDeployment} +# Include{replicas1} +# Include{podSpec} +# Include{containerMain} + - variable: env + group: "App Configuration" + label: "Image Environment" + schema: + additional_attrs: true + type: dict + attrs: + - variable: HOST_ADDR + label: "Host Address" + description: "Sets address OpenVPN server is located at." + schema: + type: string + required: true + default: "vpn.example.com" + - variable: HOST_TUN_PROTOCOL + label: "Tunnel Protocol" + description: "Sets tunnel protocol." + schema: + type: string + default: udp + enum: + - value: "udp" + description: UDP + - value: "tcp" + description: TCP +# Include{containerBasic} +# Include{containerAdvanced} +# Include{containerConfig} +# Include{podOptions} +# Include{serviceRoot} +# Include{serviceMain} +# Include{serviceSelectorLoadBalancer} +# Include{serviceSelectorExtras} + - variable: main + label: "Config Download port configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + required: true + - variable: vpn + label: "OpenVPN Internal" + description: "OpenVPN Internal Port" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelectorLoadBalancer} +# Include{serviceSelectorExtras} + - variable: vpn + label: "OpenVPN Interal Port" + description: "OpenVPN Interal Port." + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 1194 + required: true +# Include{serviceExpertRoot} +# Include{serviceExpert} +# Include{serviceList} +# Include{persistenceRoot} + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceList} +# Include{ingressRoot} + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: +# Include{ingressDefault} +# Include{ingressAdvanced} +# Include{ingressList} +# Include{securityContextRoot} + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID of the group running the application" + schema: + type: int + default: 0 +# Include{securityContextContainer} +# Include{securityContextAdvanced} +# Include{securityContextPod} + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 +# Include{resources} +# Include{advanced} +# Include{addons} +# Include{codeserver} +# Include{netshoot} +# Include{vpn} +# Include{documentation} diff --git a/charts/incubator/dockovpn/templates/NOTES.txt b/charts/incubator/dockovpn/templates/NOTES.txt new file mode 100644 index 000000000000..efcb74cb7721 --- /dev/null +++ b/charts/incubator/dockovpn/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/charts/incubator/dockovpn/templates/common.yaml b/charts/incubator/dockovpn/templates/common.yaml new file mode 100644 index 000000000000..b51394e00a4d --- /dev/null +++ b/charts/incubator/dockovpn/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.v1.common.loader.all" . }} diff --git a/charts/incubator/dockovpn/values.yaml b/charts/incubator/dockovpn/values.yaml new file mode 100644 index 000000000000..cc0a453ac006 --- /dev/null +++ b/charts/incubator/dockovpn/values.yaml @@ -0,0 +1,55 @@ +image: + repository: alekslitvinenk/openvpn + pullPolicy: IfNotPresent + tag: v1.14.0@sha256:8f3424e3de810169fcd5c770ad723112f5671fcbeb635215612379f7941fc0fe +securityContext: + container: + readOnlyRootFilesystem: false + runAsNonRoot: false + allowPrivilegeEscalation: true + runAsUser: 0 + runAsGroup: 0 + capabilities: + add: + - NET_ADMIN +workload: + main: + podSpec: + containers: + main: + env: + HOST_ADDR: "vpn.example.com" + HOST_CONF_PORT: "{{ .Values.service.main.ports.main.port }}" + # Being implemented currently only UDP supported. + HOST_TUN_PROTOCOL: "udp" + HOST_TUN_PORT: "{{ .Values.service.vpn.ports.vpn.port }}" + probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false +service: + main: + ports: + main: + port: 8080 + vpn: + enabled: true + ports: + vpn: + enabled: true + protocol: udp + port: 1194 + dns-tcp: + enabled: true + protocol: tcp + port: "{{ .Values.service.vpn.ports.vpn.port }}" +persistence: + config: + enabled: true + mountPath: "/opt/Dockovpn_data" +portal: + open: + enabled: true