func init()

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
		}
	}
}