Description
The purpose and use-cases of the new component
Many receivers and exporters require credentials that deployers want to keep confidential, particularly when collectors are deployed to systems where users have elevated access. When the collector persists its configuration to disk, storing credentials in plain text is a potential vulnerability. This provider will allow configurations to use AES-encrypted values by decrypting configuration values using a key stored as an environment variable. This still presents a vulnerability if the attacker has access to the collector's memory or the environment's configuration, but increases security over plaintext configurations.
Example configuration for the component
${credential:<value>}
values must be replaced with valid, AES encrypted & base64-encoded values.
receivers:
plugin/pgp:
parameters:
postgresql_log_path:
- /var/log/postgresql/postgresql*.log
- /var/lib/pgsql/data/log/postgresql*.log
- /var/lib/pgsql/*/data/log/postgresql*.log
start_at: end
path: ${OIQ_OTEL_COLLECTOR_HOME}/plugins/postgresql_logs.yaml
postgresql/pg:
collection_interval: 1m0s
endpoint: localhost:5432
metrics: null
password: ${credential:RsEf6cTWrssi8tlsqMeg3SDhDBlGCHiJFC7bUwl7w/P4uths/mA9}
tls:
insecure: true
transport: tcp
username: sam
processors:
resourcedetection/pg:
detectors:
- system
system:
hostname_sources:
- os
transform/google:
error_mode: ignore
metric_statements:
- context: resource
statements:
- set(attributes["cloud.region"], "us-east1") where (attributes["cloud.region"] == nil) and (attributes["cloud.availability_zone"] == nil)
exporters:
googlecloud/google:
credentials: ${credential:RsEf6cTWrssi8tlsqMeg3SDhDBlGCHiJFC7bUwl7w/P4uths/mA9}
log:
resource_filters:
- regex: .*
metric: null
project: fake-project-id
sending_queue:
enabled: false
timeout: 5s
service:
pipelines:
logs/pg__google-0:
receivers:
- plugin/pgp
processors:
- resourcedetection/pg
- transform/google
exporters:
- googlecloud/google
telemetry:
metrics:
address: localhost:8888
Telemetry data types supported
All
Is this a vendor-specific component?
- This is a vendor-specific component
- If this is a vendor-specific component, I am a member of the OpenTelemetry organization.
- If this is a vendor-specific component, I am proposing to contribute and support it as a representative of the vendor.
Code Owner(s)
No response
Sponsor (optional)
No response
Additional context
No response