in app/aws.go [32:60]
func loadAWSOptions(ctx context.Context, cfg aws.Config, logger *zap.SugaredLogger) (string, string) { //nolint:gocritic
manager := secretsmanager.NewFromConfig(cfg)
apmServerAPIKey := os.Getenv("ELASTIC_APM_API_KEY")
if apmServerAPIKeySMSecretID, ok := os.LookupEnv("ELASTIC_APM_SECRETS_MANAGER_API_KEY_ID"); ok {
result, err := loadSecret(ctx, manager, apmServerAPIKeySMSecretID)
if err != nil {
logger.Warnf("Could not load APM API key from AWS Secrets Manager. Reporting APM data will likely fail. Is 'ELASTIC_APM_SECRETS_MANAGER_API_KEY_ID=%s' correct? See https://www.elastic.co/guide/en/apm/lambda/current/aws-lambda-secrets-manager.html. Error message: %v", apmServerAPIKeySMSecretID, err)
apmServerAPIKey = ""
} else {
logger.Infof("Using the APM API key retrieved from AWS Secrets Manager.")
apmServerAPIKey = result
}
}
apmServerSecretToken := os.Getenv("ELASTIC_APM_SECRET_TOKEN")
if apmServerSecretTokenSMSecretID, ok := os.LookupEnv("ELASTIC_APM_SECRETS_MANAGER_SECRET_TOKEN_ID"); ok {
result, err := loadSecret(ctx, manager, apmServerSecretTokenSMSecretID)
if err != nil {
logger.Warnf("Could not load APM secret token from AWS Secrets Manager. Reporting APM data will likely fail. Is 'ELASTIC_APM_SECRETS_MANAGER_SECRET_TOKEN_ID=%s' correct? See https://www.elastic.co/guide/en/apm/lambda/current/aws-lambda-secrets-manager.html. Error message: %v", apmServerSecretTokenSMSecretID, err)
apmServerSecretToken = ""
} else {
logger.Infof("Using the APM secret token retrieved from AWS Secrets Manager.")
apmServerSecretToken = result
}
}
return apmServerAPIKey, apmServerSecretToken
}