truecharts / public

Community Helm Chart Repository
https://truecharts.org
GNU Affero General Public License v3.0
1.13k stars 617 forks source link

gluetun VPN addon: allow mounting client.key and client.cer files #8090

Closed mariopaolo closed 1 year ago

mariopaolo commented 1 year ago

Is your feature request related to a problem?

The new gluetun VPN add-on is working great with both openvpn and wireguard when using environment variables to set it up, but lacks support for specific openvpn setups involving key and certificate files for the following VPN providers:

The wikis for openvpn client key and client certificate specify how these values should be passed:

Currently, neither option is possible through SCALE UI when configuring applications.

Describe the solution you'd like

I would like to have the ability to specify client key and client certificate for the missing openvpn setups (e.g. if I wanted to use airvpn with openvpn) in the app configuration UI in SCALE.

Ideally, there should be two text fields, named Client Key and Client Certificate, where I could specify the filepath in order to have both files mounted inside the VPN pod in the /gluetun folder with filenames client.key and client.cer respectively. Alternatively, mapping a folder containing both files (key and cert) to /gluetun inside the pod could work as well.

Considering the gluetun add-on already works for any other setup, including Custom VPN configuration (by mounting a vpn.conf file through the currently available text field), this solution would give 100% coverage for gluetun supported providers inside TrueCharts.

Describe alternatives you've considered

As specified by gluetun documentation, client key and client certificate could be passed as environment variables (OPENVPN_KEY and OPENVPN_CERT). I explored this route, unfortunately this is prevented by a hard limit of 1024 characters allowed inside text fields in the SCALE UI (surely for app configuration, possibly everywhere else, I haven't checked). this is also demonstrated by this closed ticket.

Considering both key and certificate strings exceed the limits, this solution is not viable unless IX-System agrees to increase the limit for text fields (very unlikely).

Additional context

This issue was explored and discussed at length in the Gluetun OpenVPN key and cert thread in the TrueCharts Discord server. As of now, the VPN addon UI presents a single text field to mount a .ovpn file inside the pod (mapped to /gluetun/vpn.conf) current UI.

As I mentioned above, in addition to this field (preserved to support custom VPN configurations), it would be neat to have two additional text fields for client key and certificate. Also, since the VPN addon still supports the deprecated options and these fields are specific to gluetun, it would be better if those two fields appeared only when gluetun is selected from the dropdown menu. VPN dropdown - Gluetun selected

I've read and agree with the following

truecharts-admin commented 1 year ago

This issue is locked to prevent necro-posting on closed issues. Please create a new issue or contact staff on discord of the problem persists