in pkg/auto/importer.go [43:83]
func init() {
ctx, done := signal.NotifyContext(context.Background(),
syscall.SIGINT, syscall.SIGTERM)
defer done()
logger, err := logging.New(os.Stderr, logLevel, logFormat, false)
if err != nil {
handleError(fmt.Errorf("failed to initialize logger: %w", err))
return
}
ctx = logging.WithLogger(ctx, logger)
client, err := berglas.New(ctx)
if err != nil {
handleError(fmt.Errorf("failed to initialize berglas client: %w", err))
return
}
for _, e := range os.Environ() {
p := strings.SplitN(e, "=", 2)
if len(p) < 2 {
continue
}
k, v := p[0], p[1]
if !berglas.IsReference(v) {
continue
}
s, err := client.Resolve(ctx, v)
if err != nil {
handleError(fmt.Errorf("failed to parse %q: %w", k, err))
continue
}
if err := os.Setenv(k, string(s)); err != nil {
handleError(fmt.Errorf("failed to set %q: %w", k, err))
continue
}
}
}