WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit 5c88e9f

Browse files
rogercollmergify[bot]
authored andcommitted
fix: spec invalid rendered values "null" (#11481)
* fix: spec invalid rendered values "null" * chore: add fragments * update helm to v4 * fix: k8s_events empty config * rollback go mod changes * rollback licenses (cherry picked from commit 6a7cd38) # Conflicts: # deploy/helm/edot-collector/kube-stack/managed_otlp/logs-values.yaml # deploy/helm/edot-collector/kube-stack/managed_otlp/values.yaml # deploy/helm/edot-collector/kube-stack/values.yaml
1 parent a38d38f commit 5c88e9f

File tree

4 files changed

+311
-1
lines changed

4 files changed

+311
-1
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Kind can be one of:
2+
# - breaking-change: a change to previously-documented behavior
3+
# - deprecation: functionality that is being removed in a later release
4+
# - bug-fix: fixes a problem in a previous version
5+
# - enhancement: extends functionality but does not break or fix existing behavior
6+
# - feature: new functionality
7+
# - known-issue: problems that we are aware of in a given version
8+
# - security: impacts on the security of a product or a user’s deployment.
9+
# - upgrade: important information for someone upgrading from a prior version
10+
# - other: does not fit into any of the other categories
11+
kind: bug-fix
12+
13+
# Change summary; a 80ish characters long description of the change.
14+
summary: fix kube-stack null template evaluation for Helm v4
15+
16+
# Long description; in case the summary is not enough to describe the change
17+
# this field accommodate a description without length limits.
18+
# NOTE: This field will be rendered only for breaking-change and known-issue kinds at the moment.
19+
#description:
20+
21+
# Affected component; usually one of "elastic-agent", "fleet-server", "filebeat", "metricbeat", "auditbeat", "all", etc.
22+
component:
23+
24+
# PR URL; optional; the PR number that added the changeset.
25+
# If not present is automatically filled by the tooling finding the PR where this changelog fragment has been added.
26+
# NOTE: the tooling supports backports, so it's able to fill the original PR number instead of the backport PR number.
27+
# Please provide it if you are adding a fragment for a different PR.
28+
#pr: https://github.com/owner/repo/1234
29+
30+
# Issue URL; optional; the GitHub issue related to this changeset (either closes or is part of).
31+
# If not present is automatically filled by the tooling with the issue linked to the PR number.
32+
#issue: https://github.com/owner/repo/1234
Lines changed: 263 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,263 @@
1+
# For installation and configuration options, refer to the [installation instructions](https://github.com/elastic/opentelemetry/blob/main/docs/kubernetes/operator/README.md)
2+
3+
# For advanced configuration options, refer to the [official OpenTelemetry Helm chart](https://github.com/open-telemetry/opentelemetry-helm-charts/blob/main/charts/opentelemetry-kube-stack/values.yaml)
4+
# This file has been tested together with opentelemetry-kube-stack helm chart version: 0.3.9
5+
opentelemetry-operator:
6+
manager:
7+
extraArgs:
8+
- --enable-go-instrumentation
9+
admissionWebhooks:
10+
certManager:
11+
enabled: false # For production environments, it is [recommended to use cert-manager for better security and scalability](https://github.com/open-telemetry/opentelemetry-helm-charts/tree/main/charts/opentelemetry-operator#tls-certificate-requirement).
12+
autoGenerateCert:
13+
enabled: true # Enable/disable automatic certificate generation. Set to false if manually managing certificates.
14+
recreate: true # Force certificate regeneration on updates. Only applicable if autoGenerateCert.enabled is true.
15+
crds:
16+
create: true # Install the OpenTelemetry Operator CRDs.
17+
defaultCRConfig:
18+
image:
19+
repository: "docker.elastic.co/elastic-agent/elastic-agent"
20+
tag: "9.3.0"
21+
targetAllocator:
22+
enabled: false # Enable/disable the Operator's Target allocator.
23+
# Refer to: https://github.com/open-telemetry/opentelemetry-operator/tree/main/cmd/otel-allocator
24+
clusterRole:
25+
rules:
26+
- apiGroups: [""]
27+
resources: ["configmaps"]
28+
verbs: ["get"]
29+
# `clusterName` specifies the name of the Kubernetes cluster. It sets the 'k8s.cluster.name' field.
30+
# Cluster Name is automatically detected for EKS/GKE/AKS. Add the below value in environments where cluster name cannot be detected.
31+
# clusterName: myClusterName
32+
collectors:
33+
cluster:
34+
enabled: false
35+
# Daemon is a K8s daemonset EDOT collector focused on gathering telemetry at
36+
# node level and exposing an OTLP endpoint for data ingestion.
37+
# Auto-instrumentation SDKs will use this endpoint.
38+
daemon:
39+
fullnameOverride: "opentelemetry-kube-stack-daemon"
40+
env:
41+
- name: ELASTIC_AGENT_OTEL
42+
value: '"true"'
43+
presets:
44+
kubeletMetrics:
45+
enabled: false
46+
hostMetrics:
47+
enabled: false
48+
logsCollection:
49+
enabled: true # Enable/disable the collection of node's logs.
50+
storeCheckpoints: true # Store checkpoints for log collection, allowing for resumption from the last processed log.
51+
kubernetesEvents:
52+
enabled: false
53+
clusterMetrics:
54+
enabled: false
55+
scrape_configs_file: "" # [Prometheus metrics](https://github.com/open-telemetry/opentelemetry-helm-charts/tree/main/charts/opentelemetry-kube-stack#scrape_configs_file-details)
56+
config:
57+
exporters:
58+
# [Debug exporter](https://github.com/open-telemetry/opentelemetry-collector/blob/main/exporter/debugexporter/README.md)
59+
debug:
60+
verbosity: basic
61+
otlp/gateway:
62+
endpoint: "http://opentelemetry-kube-stack-gateway-collector-headless:4317"
63+
tls:
64+
insecure: true
65+
processors:
66+
# [Batch Processor](https://github.com/open-telemetry/opentelemetry-collector/tree/main/processor/batchprocessor)
67+
batch: {}
68+
# [Resource Detection Processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/resourcedetectionprocessor)
69+
resourcedetection/eks:
70+
detectors: [env, eks] # Detects resources from environment variables and EKS (Elastic Kubernetes Service).
71+
timeout: 15s
72+
override: true
73+
eks:
74+
resource_attributes:
75+
k8s.cluster.name:
76+
enabled: true
77+
resourcedetection/gcp:
78+
detectors: [env, gcp] # Detects resources from environment variables and GCP (Google Cloud Platform).
79+
timeout: 2s
80+
override: true
81+
resourcedetection/aks:
82+
detectors: [env, aks] # Detects resources from environment variables and AKS (Azure Kubernetes Service).
83+
timeout: 2s
84+
override: true
85+
aks:
86+
resource_attributes:
87+
k8s.cluster.name:
88+
enabled: true
89+
resource/hostname:
90+
attributes:
91+
- key: host.name
92+
from_attribute: k8s.node.name
93+
action: upsert
94+
resourcedetection/system:
95+
detectors: ["system", "ec2"] # Detects resources from the system and EC2 instances.
96+
system:
97+
hostname_sources: ["os"]
98+
resource_attributes:
99+
host.name:
100+
enabled: true
101+
host.id:
102+
enabled: false
103+
host.arch:
104+
enabled: true
105+
host.ip:
106+
enabled: true
107+
host.mac:
108+
enabled: true
109+
host.cpu.vendor.id:
110+
enabled: true
111+
host.cpu.family:
112+
enabled: true
113+
host.cpu.model.id:
114+
enabled: true
115+
host.cpu.model.name:
116+
enabled: true
117+
host.cpu.stepping:
118+
enabled: true
119+
host.cpu.cache.l2.size:
120+
enabled: true
121+
os.description:
122+
enabled: true
123+
os.type:
124+
enabled: true
125+
ec2:
126+
resource_attributes:
127+
host.name:
128+
enabled: false
129+
host.id:
130+
enabled: true
131+
resource/cloud:
132+
attributes:
133+
- key: cloud.instance.id
134+
from_attribute: host.id
135+
action: insert
136+
# [K8s Attributes Processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/k8sattributesprocessor)
137+
k8sattributes:
138+
filter:
139+
# Only retrieve pods running on the same node as the collector
140+
node_from_env_var: OTEL_K8S_NODE_NAME
141+
passthrough: false
142+
pod_association:
143+
# Below association takes a look at the k8s.pod.ip and k8s.pod.uid resource attributes or connection's context, and tries to match it with the pod having the same attribute.
144+
- sources:
145+
- from: resource_attribute
146+
name: k8s.pod.ip
147+
- sources:
148+
- from: resource_attribute
149+
name: k8s.pod.uid
150+
- sources:
151+
- from: connection
152+
extract:
153+
metadata:
154+
- "k8s.namespace.name"
155+
- "k8s.deployment.name"
156+
- "k8s.replicaset.name"
157+
- "k8s.statefulset.name"
158+
- "k8s.daemonset.name"
159+
- "k8s.cronjob.name"
160+
- "k8s.job.name"
161+
- "k8s.node.name"
162+
- "k8s.pod.name"
163+
- "k8s.pod.ip"
164+
- "k8s.pod.uid"
165+
- "k8s.pod.start_time"
166+
# Service attributes added based on https://opentelemetry.io/docs/specs/semconv/non-normative/k8s-attributes/#service-attributes
167+
- "service.name"
168+
- "service.version"
169+
receivers:
170+
otlp: null
171+
# [File Log Receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/filelogreceiver)
172+
filelog:
173+
exclude:
174+
# exlude opentelemetry-kube-stack pod logs
175+
- /var/log/pods/*opentelemetry-kube-stack*/*/*.log
176+
# [Service Section](https://opentelemetry.io/docs/collector/configuration/#service)
177+
service:
178+
pipelines:
179+
logs: null
180+
metrics: null
181+
traces: null
182+
logs/node:
183+
receivers:
184+
- filelog
185+
processors:
186+
- batch
187+
- k8sattributes
188+
- resourcedetection/system
189+
- resourcedetection/eks
190+
- resourcedetection/gcp
191+
- resourcedetection/aks
192+
- resource/hostname
193+
- resource/cloud
194+
exporters:
195+
- otlp/gateway
196+
# Gateway is a K8s deployment EDOT collector focused on processing and
197+
# forwarding telemetry to an Elasticsearch endpoint.
198+
gateway:
199+
fullnameOverride: "opentelemetry-kube-stack-gateway"
200+
suffix: gateway
201+
replicas: 1
202+
autoscaler:
203+
minReplicas: 1 # Start with at least 2 replicas for better availability.
204+
maxReplicas: 5 # Allow more scale-out if needed.
205+
targetCPUUtilization: 70 # Scale when CPU usage exceeds 70%.
206+
targetMemoryUtilization: 75 # Scale when memory usage exceeds 75%.
207+
resources:
208+
limits:
209+
cpu: 500m
210+
memory: 500Mi
211+
requests:
212+
cpu: 100m
213+
memory: 250Mi
214+
enabled: true
215+
env:
216+
- name: ELASTIC_AGENT_OTEL
217+
value: '"true"'
218+
- name: ELASTIC_OTLP_ENDPOINT
219+
valueFrom:
220+
secretKeyRef:
221+
name: elastic-secret-otel
222+
key: elastic_otlp_endpoint
223+
- name: ELASTIC_API_KEY
224+
valueFrom:
225+
secretKeyRef:
226+
name: elastic-secret-otel
227+
key: elastic_api_key
228+
config:
229+
receivers:
230+
otlp:
231+
protocols:
232+
grpc:
233+
endpoint: ${env:MY_POD_IP}:4317
234+
http:
235+
endpoint: ${env:MY_POD_IP}:4318
236+
processors: {}
237+
exporters:
238+
debug:
239+
otlp/ingest:
240+
endpoint: ${env:ELASTIC_OTLP_ENDPOINT}
241+
headers:
242+
Authorization: ApiKey ${env:ELASTIC_API_KEY}
243+
sending_queue:
244+
enabled: true
245+
sizer: bytes
246+
queue_size: 50000000 # 50MB uncompressed
247+
block_on_overflow: true
248+
batch:
249+
flush_timeout: 1s
250+
min_size: 1_000_000 # 1MB uncompressed
251+
max_size: 4_000_000 # 4MB uncompressed
252+
timeout: 15s
253+
service:
254+
pipelines:
255+
logs:
256+
receivers: [otlp]
257+
processors: []
258+
exporters: [debug, otlp/ingest]
259+
# For more details on OpenTelemetry's zero-code instrumentation, see:
260+
# https://opentelemetry.io/docs/concepts/instrumentation/zero-code/
261+
instrumentation:
262+
name: elastic-instrumentation
263+
enabled: false # Enable/disable auto-instrumentation.

deploy/helm/edot-collector/kube-stack/managed_otlp/values.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,11 @@ collectors:
129129
key: app.kubernetes.io/version
130130
from: pod
131131
receivers:
132+
<<<<<<< HEAD
133+
=======
134+
# [K8s Events Receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/k8seventsreceiver)
135+
k8s_events: {}
136+
>>>>>>> 6a7cd38f5 (fix: spec invalid rendered values "null" (#11481))
132137
# [K8s Objects Receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/k8sobjectsreceiver)
133138
k8sobjects:
134139
objects:
@@ -581,6 +586,7 @@ collectors:
581586
endpoint: ${env:MY_POD_IP}:4317
582587
http:
583588
endpoint: ${env:MY_POD_IP}:4318
589+
<<<<<<< HEAD
584590
processors:
585591
batch:
586592
send_batch_size: 1000
@@ -590,6 +596,9 @@ collectors:
590596
# explicitly set send_batch_max_size to 0, as splitting metrics requests may cause version_conflict_engine_exception in TSDB
591597
send_batch_max_size: 0
592598
timeout: 1s
599+
=======
600+
processors: {}
601+
>>>>>>> 6a7cd38f5 (fix: spec invalid rendered values "null" (#11481))
593602
exporters:
594603
debug:
595604
otlp/ingest:

deploy/helm/edot-collector/kube-stack/values.yaml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,11 @@ collectors:
109109
- "service.name"
110110
- "service.version"
111111
receivers:
112+
<<<<<<< HEAD
113+
=======
114+
# [K8s Events Receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/k8seventsreceiver)
115+
k8s_events: {}
116+
>>>>>>> 6a7cd38f5 (fix: spec invalid rendered values "null" (#11481))
112117
# [K8s Objects Receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/k8sobjectsreceiver)
113118
k8sobjects:
114119
objects:
@@ -625,7 +630,7 @@ collectors:
625630
metrics/aggregated-otel-metrics:
626631
receivers:
627632
- elasticapm
628-
processors:
633+
processors: []
629634
exporters:
630635
- debug
631636
- elasticsearch/otel
@@ -634,6 +639,7 @@ collectors:
634639
instrumentation:
635640
name: elastic-instrumentation
636641
enabled: true # Enable/disable auto-instrumentation.
642+
env: []
637643
exporter:
638644
endpoint: http://opentelemetry-kube-stack-daemon-collector.opentelemetry-operator-system.svc.cluster.local:4318 # The daemonset OpenTelemetry Collector endpoint where telemetry data will be exported.
639645
propagators:

0 commit comments

Comments
 (0)