chore(sources): wrap error with source string
This commit is contained in:
2
internal/configuration/sources/env/reader.go
vendored
2
internal/configuration/sources/env/reader.go
vendored
@@ -23,6 +23,8 @@ func New(warner Warner) *Reader {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r *Reader) String() string { return "environment variables" }
|
||||||
|
|
||||||
func (r *Reader) Read() (settings settings.Settings, err error) {
|
func (r *Reader) Read() (settings settings.Settings, err error) {
|
||||||
settings.VPN, err = r.readVPN()
|
settings.VPN, err = r.readVPN()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ func New() *Reader {
|
|||||||
return &Reader{}
|
return &Reader{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r *Reader) String() string { return "files" }
|
||||||
|
|
||||||
func (r *Reader) Read() (settings settings.Settings, err error) {
|
func (r *Reader) Read() (settings settings.Settings, err error) {
|
||||||
settings.VPN, err = r.readVPN()
|
settings.VPN, err = r.readVPN()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package mux
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/qdm12/gluetun/internal/configuration/settings"
|
"github.com/qdm12/gluetun/internal/configuration/settings"
|
||||||
"github.com/qdm12/gluetun/internal/configuration/sources"
|
"github.com/qdm12/gluetun/internal/configuration/sources"
|
||||||
@@ -19,6 +20,14 @@ func New(sources ...sources.Source) *Reader {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r *Reader) String() string {
|
||||||
|
sources := make([]string, len(r.sources))
|
||||||
|
for i := range r.sources {
|
||||||
|
sources[i] = r.sources[i].String()
|
||||||
|
}
|
||||||
|
return strings.Join(sources, ", ")
|
||||||
|
}
|
||||||
|
|
||||||
// Read reads the settings for each source, merging unset fields
|
// Read reads the settings for each source, merging unset fields
|
||||||
// with field set by the next source.
|
// with field set by the next source.
|
||||||
// It then set defaults to remaining unset fields.
|
// It then set defaults to remaining unset fields.
|
||||||
@@ -26,7 +35,7 @@ func (r *Reader) Read() (settings settings.Settings, err error) {
|
|||||||
for _, source := range r.sources {
|
for _, source := range r.sources {
|
||||||
settingsFromSource, err := source.Read()
|
settingsFromSource, err := source.Read()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return settings, fmt.Errorf("reading from source %T: %w", source, err)
|
return settings, fmt.Errorf("reading from %s: %w", source, err)
|
||||||
}
|
}
|
||||||
settings.MergeWith(settingsFromSource)
|
settings.MergeWith(settingsFromSource)
|
||||||
}
|
}
|
||||||
@@ -42,7 +51,7 @@ func (r *Reader) ReadHealth() (settings settings.Health, err error) {
|
|||||||
for _, source := range r.sources {
|
for _, source := range r.sources {
|
||||||
settingsFromSource, err := source.ReadHealth()
|
settingsFromSource, err := source.ReadHealth()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return settings, fmt.Errorf("reading from source %T: %w", source, err)
|
return settings, fmt.Errorf("reading from %s: %w", source, err)
|
||||||
}
|
}
|
||||||
settings.MergeWith(settingsFromSource)
|
settings.MergeWith(settingsFromSource)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ func New() *Reader {
|
|||||||
return &Reader{}
|
return &Reader{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r *Reader) String() string { return "secret files" }
|
||||||
|
|
||||||
func (r *Reader) Read() (settings settings.Settings, err error) {
|
func (r *Reader) Read() (settings settings.Settings, err error) {
|
||||||
settings.VPN, err = readVPN()
|
settings.VPN, err = readVPN()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -5,4 +5,5 @@ import "github.com/qdm12/gluetun/internal/configuration/settings"
|
|||||||
type Source interface {
|
type Source interface {
|
||||||
Read() (settings settings.Settings, err error)
|
Read() (settings settings.Settings, err error)
|
||||||
ReadHealth() (settings settings.Health, err error)
|
ReadHealth() (settings settings.Health, err error)
|
||||||
|
String() string
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user