func()

in pkg/berglas/replace.go [25:45]


func (c *Client) Replace(ctx context.Context, key string) error {
	value := os.Getenv(key)

	logger := logging.FromContext(ctx).With(
		"key", key,
		"reference", value,
	)

	logger.DebugContext(ctx, "replacevalue.start")
	defer logger.DebugContext(ctx, "replacevalue.finish")

	plaintext, err := c.Resolve(ctx, value)
	if err != nil {
		return err
	}

	if err := os.Setenv(key, string(plaintext)); err != nil {
		return fmt.Errorf("failed to set %s: %w", key, err)
	}
	return nil
}