@@ -17,14 +17,29 @@ data:
1717 create_directory: true
1818 health_check:
1919 endpoint: ${env:MY_POD_IP}:13133
20+ basicauth/server:
21+ htpasswd:
22+ inline: |
23+ # TEST-ONLY: plaintext htpasswd entries are NOT production-ready.
24+ # For production generate a bcrypt htpasswd line (e.g. `htpasswd -nbBC 10 USER PASS`)
25+ # and store it in a Kubernetes Secret (or external secret store).
26+ #####
27+ basicauth/client:
28+ client_auth:
29+ username: ${env:OPENSEARCH_USERNAME}
30+ password: ${env:OPENSEARCH_PASSWORD}
2031
2132 receivers:
2233 otlp:
2334 protocols:
2435 grpc:
2536 endpoint: 0.0.0.0:4317
37+ auth:
38+ authenticator: basicauth/server
2639 http:
2740 endpoint: 0.0.0.0:4318
41+ auth:
42+ authenticator: basicauth/server
2843
2944 processors:
3045 batch:
@@ -35,24 +50,34 @@ data:
3550 # Export logs directly to OpenSearch in namespace 'tier-3'.
3651 # If your OpenSearch installation requires authentication, provide username/password
3752 # via Kubernetes Secret and reference them using env vars in the DaemonSet below.
38- elasticsearch:
39- endpoints: ["http://opensearch-cluster-master.tier-3.svc.cluster.local:9200"]
40- # username: "admin"
41- # password: "changeme"
53+ opensearch:
54+ http:
55+ endpoint: https://opensearch-cluster-master.tier-3.svc.cluster.local:9200
56+ tls:
57+ insecure_skip_verify: true
58+ auth:
59+ authenticator: basicauth/client
60+ logs_index: otel-logs
61+ traces_index: otel-traces
4262 sending_queue:
4363 enabled: true
4464 storage: file_storage
45- # retry_on_failure: # FIXME elasticsearch exporter doesn't support retry_on_failure yet
46- # enabled: true
47- debug:
65+ debug/logs:
66+ verbosity: detailed
67+ debug/metrics:
68+ verbosity: basic
4869
4970 service:
50- extensions: [file_storage, health_check]
71+ extensions: [file_storage, health_check, basicauth/server, basicauth/client ]
5172 pipelines:
5273 logs:
5374 receivers: [otlp]
5475 processors: [batch]
55- exporters: [elasticsearch, debug]
76+ exporters: [opensearch, debug/logs]
77+ metrics:
78+ receivers: [otlp]
79+ processors: [batch]
80+ exporters: [debug/metrics]
5681 telemetry:
5782 metrics:
5883 readers:
@@ -134,16 +159,16 @@ spec:
134159 fieldRef :
135160 fieldPath : status.podIP
136161 # If OpenSearch requires basic auth, you can pass credentials via env vars
137- # - name: OPENSEARCH_USERNAME
138- # valueFrom:
139- # secretKeyRef:
140- # name: opensearch-credentials
141- # key: username
142- # - name: OPENSEARCH_PASSWORD
143- # valueFrom:
144- # secretKeyRef:
145- # name: opensearch-credentials
146- # key: password
162+ - name : OPENSEARCH_USERNAME
163+ valueFrom :
164+ secretKeyRef :
165+ name : opensearch-credentials
166+ key : username
167+ - name : OPENSEARCH_PASSWORD
168+ valueFrom :
169+ secretKeyRef :
170+ name : opensearch-credentials
171+ key : password
147172 resources :
148173 limits :
149174 memory : 256Mi
@@ -197,9 +222,7 @@ metadata:
197222 app : otelcol-agent
198223 component : otel-collector
199224spec :
200- type : ClusterIP
201- internalTrafficPolicy : Local
202- clusterIP : None
225+ type : LoadBalancer
203226 selector :
204227 app : otelcol-agent
205228 component : otel-collector
0 commit comments