2022-01-06 06:40:23 -05:00
|
|
|
package secrets
|
|
|
|
|
|
|
|
|
|
import (
|
2023-06-01 08:22:55 +00:00
|
|
|
"os"
|
|
|
|
|
|
2022-01-06 06:40:23 -05:00
|
|
|
"github.com/qdm12/gluetun/internal/configuration/settings"
|
2023-06-01 08:22:55 +00:00
|
|
|
"github.com/qdm12/gosettings/sources/env"
|
2022-01-06 06:40:23 -05:00
|
|
|
)
|
|
|
|
|
|
2023-06-01 08:22:55 +00:00
|
|
|
type Source struct {
|
|
|
|
|
env env.Env
|
|
|
|
|
}
|
2022-01-06 06:40:23 -05:00
|
|
|
|
2022-08-26 15:16:51 +00:00
|
|
|
func New() *Source {
|
2023-06-05 16:25:52 +00:00
|
|
|
handleDeprecatedKey := (func(deprecatedKey, newKey string))(nil)
|
2023-06-01 08:22:55 +00:00
|
|
|
return &Source{
|
2023-06-05 16:25:52 +00:00
|
|
|
env: *env.New(os.Environ(), handleDeprecatedKey),
|
2023-06-01 08:22:55 +00:00
|
|
|
}
|
2022-01-06 06:40:23 -05:00
|
|
|
}
|
|
|
|
|
|
2022-08-26 15:16:51 +00:00
|
|
|
func (s *Source) String() string { return "secret files" }
|
2022-02-20 03:04:16 +00:00
|
|
|
|
2022-08-26 15:16:51 +00:00
|
|
|
func (s *Source) Read() (settings settings.Settings, err error) {
|
2023-06-01 08:22:55 +00:00
|
|
|
settings.VPN, err = s.readVPN()
|
2022-01-06 06:40:23 -05:00
|
|
|
if err != nil {
|
|
|
|
|
return settings, err
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-01 08:22:55 +00:00
|
|
|
settings.HTTPProxy, err = s.readHTTPProxy()
|
2022-01-06 06:40:23 -05:00
|
|
|
if err != nil {
|
|
|
|
|
return settings, err
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-01 08:22:55 +00:00
|
|
|
settings.Shadowsocks, err = s.readShadowsocks()
|
2022-01-06 06:40:23 -05:00
|
|
|
if err != nil {
|
|
|
|
|
return settings, err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return settings, nil
|
|
|
|
|
}
|