feat(storage): STORAGE_FILEPATH option (#2416)

- `STORAGE_FILEPATH=` disables storing to and reading from a local servers.json file
- `STORAGE_FILEPATH` defaults to `/gluetun/servers.json`
- Fix #2074
This commit is contained in:
Jean-François Roy
2024-08-18 17:26:46 -07:00
committed by GitHub
parent 3bf937d705
commit 12c411e203
7 changed files with 82 additions and 14 deletions

View File

@@ -21,14 +21,14 @@ type VPN struct {
}
// TODO v4 remove pointer for receiver (because of Surfshark).
func (v *VPN) Validate(storage Storage, ipv6Supported bool, warner Warner) (err error) {
func (v *VPN) Validate(filterChoicesGetter FilterChoicesGetter, ipv6Supported bool, warner Warner) (err error) {
// Validate Type
validVPNTypes := []string{vpn.OpenVPN, vpn.Wireguard}
if err = validate.IsOneOf(v.Type, validVPNTypes...); err != nil {
return fmt.Errorf("%w: %w", ErrVPNTypeNotValid, err)
}
err = v.Provider.validate(v.Type, storage, warner)
err = v.Provider.validate(v.Type, filterChoicesGetter, warner)
if err != nil {
return fmt.Errorf("provider settings: %w", err)
}