env
API
env
packageAPI reference for the env
package.
Imports
(4)
S
struct
Provider
Provider implements source.Provider for environment variables.
pkg/source/env/provider.go:12-14
type Provider struct
Methods
Load
Method
Load reads all environment variables, filtering by prefix if set.
Parameters
ctx
context.Context
Returns
map[string]any
error
func (*Provider) Load(ctx context.Context) (map[string]any, error)
{
data := make(map[string]any)
env := os.Environ()
for _, kv := range env {
k, v, ok := strings.Cut(kv, "=")
if !ok {
continue
}
if p.Prefix != "" {
if strings.HasPrefix(k, p.Prefix) {
key := strings.TrimPrefix(k, p.Prefix)
if strings.HasSuffix(p.Prefix, "_") {
// Prefix include underscore
} else if strings.HasPrefix(key, "_") {
key = strings.TrimPrefix(key, "_")
}
data[strings.ToLower(key)] = v
}
} else {
data[strings.ToLower(k)] = v
}
}
return data, nil
}
Fields
| Name | Type | Description |
|---|---|---|
| Prefix | string |
F
function
New
New creates a new Environment Variable provider with an optional prefix.
Parameters
prefix
string
Returns
pkg/source/env/provider.go:17-19
func New(prefix string) source.Provider
{
return &Provider{Prefix: prefix}
}