-
Notifications
You must be signed in to change notification settings - Fork 534
Description
Integration Name
Kubernetes [kubernetes]
Dataset Name
kubernetes.audit_logs
Integration Version
1.84.0
Agent Version
N/A (configuration issue)
Agent Output Type
elasticsearch
Elasticsearch Version
N/A (configuration issue)
OS Version and Architecture
N/A (affects all platforms)
Software/API Version
AWS EKS (all versions)
Error Message
N/A - Configuration validation issue
Event Original
N/A
What did you do?
Reviewed the Kubernetes integration's audit_logs data stream configuration for the aws-cloudwatch input. The Handlebars template file references AWS authentication variables that are not declared in the manifest.
Template file: packages/kubernetes/data_stream/audit_logs/agent/stream/aws-cloudwatch.yml.hbs
Manifest file: packages/kubernetes/data_stream/audit_logs/manifest.yml
What did you see?
The template file (aws-cloudwatch.yml.hbs) references the following AWS authentication variables on lines 63-89:
credential_profile_name(line 64)shared_credential_file(line 67)api_timeout(line 70)default_region(line 73)access_key_id(line 76)secret_access_key(line 79)session_token(line 82)role_arn(line 84)proxy_url(line 88)
None of these variables are declared in the manifest file (manifest.yml), which only defines CloudWatch-specific variables like log_group_arn, log_group_name, etc.
What did you expect to see?
According to the project's best practices:
Variables referenced in Handlebars must be declared in manifests: Check that any variable referenced in the Handlebars template is declared in the package's manifest. Any undeclared variable is definitely an error.
All variables used in the Handlebars template should be properly declared in the manifest file with appropriate metadata (type, title, description, show_user, required, secret flags, etc.).
This is particularly important for:
role_arn- Critical for IAM role assumption in cross-account or restricted access scenariosaccess_key_idandsecret_access_key- Should be marked assecret: true- Other AWS authentication configuration options
Users currently cannot configure these AWS authentication options through the Fleet UI, which limits the integration's usability for common AWS authentication patterns.
Anything else?
Impact:
- Users cannot configure IAM role assumption (
role_arn) for cross-account access or pod-level IAM roles - Users cannot configure alternative AWS credential methods
- The integration works only with default AWS credential chain, limiting deployment flexibility
Recommended Fix:
Add proper variable declarations to the manifest file for all AWS authentication variables, following the patterns used in other AWS integrations in this repository. Variables like access_key_id, secret_access_key, and session_token should be marked with secret: true.
Related Package: @elastic/obs-ds-hosted-services (per CODEOWNERS)