diff --git a/testing/integration/k8s/k8s.go b/testing/integration/k8s/k8s.go index 229b0ad3b03..d97a100767c 100644 --- a/testing/integration/k8s/k8s.go +++ b/testing/integration/k8s/k8s.go @@ -7,7 +7,7 @@ package k8s import "path/filepath" const ( - KubeStackChartVersion = "0.10.5" + KubeStackChartVersion = "0.11.1" KubeStackChartName = "opentelemetry-kube-stack" KubeStackChartNameWithVersion = KubeStackChartName + "-" + KubeStackChartVersion KubeStackChartArchiveName = KubeStackChartNameWithVersion + ".tgz" diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/Chart.lock b/testing/integration/k8s/testdata/opentelemetry-kube-stack/Chart.lock index 6a29b3d1882..442301f9cdf 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/Chart.lock +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/Chart.lock @@ -7,12 +7,12 @@ dependencies: version: 0.0.0 - name: opentelemetry-operator repository: https://open-telemetry.github.io/opentelemetry-helm-charts - version: 0.93.0 + version: 0.97.1 - name: kube-state-metrics repository: https://prometheus-community.github.io/helm-charts - version: 6.1.4 + version: 6.3.0 - name: prometheus-node-exporter repository: https://prometheus-community.github.io/helm-charts - version: 4.47.3 -digest: sha256:814c1802469c833c77c9758835e7b7d90a2d1a23b43a8d5e2c78e5228af8707a -generated: "2025-08-22T10:23:15.731399919+02:00" + version: 4.48.0 +digest: sha256:5eacf19a8cffc4f333b0e287fabbb387fc31d2b8315a77a918783b9906bd7e32 +generated: "2025-10-02T13:49:24.548948-06:00" diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/Chart.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/Chart.yaml index 463ab7bac30..5f0dbea128b 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/Chart.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/Chart.yaml @@ -12,15 +12,15 @@ dependencies: - condition: opentelemetry-operator.enabled name: opentelemetry-operator repository: https://open-telemetry.github.io/opentelemetry-helm-charts - version: 0.93.0 + version: 0.97.1 - condition: kubeStateMetrics.enabled name: kube-state-metrics repository: https://prometheus-community.github.io/helm-charts - version: 6.1.* + version: 6.3.* - condition: nodeExporter.enabled name: prometheus-node-exporter repository: https://prometheus-community.github.io/helm-charts - version: 4.47.* + version: 4.48.* description: 'OpenTelemetry Quickstart chart for Kubernetes. Installs an operator and collector for an easy way to get started with Kubernetes observability. ' home: https://opentelemetry.io/ @@ -34,4 +34,4 @@ name: opentelemetry-kube-stack sources: - https://github.com/open-telemetry/opentelemetry-operator type: application -version: 0.10.5 +version: 0.11.1 diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/Chart.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/Chart.yaml index bef0ff62262..b45fa3453e2 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/Chart.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/Chart.yaml @@ -4,7 +4,7 @@ annotations: - name: Chart Source url: https://github.com/prometheus-community/helm-charts apiVersion: v2 -appVersion: 2.16.0 +appVersion: 2.17.0 description: Install kube-state-metrics to generate and expose cluster-level metrics home: https://github.com/kubernetes/kube-state-metrics/ keywords: @@ -26,4 +26,4 @@ name: kube-state-metrics sources: - https://github.com/kubernetes/kube-state-metrics/ type: application -version: 6.1.4 +version: 6.3.0 diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/templates/deployment.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/templates/deployment.yaml index 196ade20422..cd1aa5f1457 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/templates/deployment.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/templates/deployment.yaml @@ -162,10 +162,10 @@ spec: {{- if eq .Values.kubeRBACProxy.enabled false }} ports: - containerPort: {{ .Values.service.port | default 8080}} - name: "http" + name: http {{- if .Values.selfMonitor.enabled }} - containerPort: {{ $telemetryPort }} - name: "metrics" + name: metrics {{- end }} {{- end }} {{- if .Values.startupProbe.enabled }} @@ -182,7 +182,7 @@ spec: {{- end }} path: /healthz {{- if .Values.kubeRBACProxy.enabled }} - port: {{ .Values.service.port | default 8080 }} + port: http scheme: HTTPS {{- else }} port: {{ $servicePort }} @@ -206,7 +206,7 @@ spec: {{- end }} path: /livez {{- if .Values.kubeRBACProxy.enabled }} - port: {{ .Values.service.port | default 8080 }} + port: http scheme: HTTPS {{- else }} port: {{ $servicePort }} @@ -229,7 +229,7 @@ spec: {{- end }} path: /readyz {{- if .Values.kubeRBACProxy.enabled }} - port: {{ .Values.selfMonitor.telemetryPort | default 8081 }} + port: metrics scheme: HTTPS {{- else }} port: {{ $telemetryPort }} @@ -268,14 +268,14 @@ spec: image: {{ include "kubeRBACProxy.image" . }} ports: - containerPort: {{ .Values.service.port | default 8080}} - name: "http" + name: http - containerPort: {{ .Values.kubeRBACProxy.proxyEndpointsPort | default 8888 }} - name: "http-healthz" + name: http-healthz readinessProbe: httpGet: scheme: HTTPS - port: {{ .Values.kubeRBACProxy.proxyEndpointsPort | default 8888 }} - path: healthz + port: http-healthz + path: /healthz initialDelaySeconds: 5 timeoutSeconds: 5 {{- if .Values.kubeRBACProxy.resources }} @@ -309,9 +309,9 @@ spec: image: {{ include "kubeRBACProxy.image" . }} ports: - containerPort: {{ .Values.selfMonitor.telemetryPort | default 8081 }} - name: "metrics" + name: metrics - containerPort: 8889 - name: "metrics-healthz" + name: metrics-healthz readinessProbe: httpGet: scheme: HTTPS diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/templates/networkpolicy.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/templates/networkpolicy.yaml index 309b38ec54e..abe292a7286 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/templates/networkpolicy.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/templates/networkpolicy.yaml @@ -22,7 +22,7 @@ spec: {{- else }} ## Allow ingress on default ports by default - ports: - - port: {{ .Values.service.port | default 8080 }} + - port: http protocol: TCP {{- if .Values.selfMonitor.enabled }} {{- $telemetryPort := ternary 9091 (.Values.selfMonitor.telemetryPort | default 8081) .Values.kubeRBACProxy.enabled}} diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/templates/scrapeconfig.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/templates/scrapeconfig.yaml new file mode 100644 index 00000000000..028f3d1892c --- /dev/null +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/templates/scrapeconfig.yaml @@ -0,0 +1,60 @@ +{{- if .Values.prometheus.scrapeconfig.enabled }} +apiVersion: monitoring.coreos.com/v1alpha1 +kind: ScrapeConfig +metadata: + name: {{ template "kube-state-metrics.fullname" . }} + namespace: {{ template "kube-state-metrics.namespace" . }} + labels: + {{- include "kube-state-metrics.labels" . | indent 4 }} + {{- with .Values.prometheus.scrapeconfig.additionalLabels }} + {{- tpl (toYaml . | nindent 4) $ }} + {{- end }} + {{- with .Values.prometheus.scrapeconfig.annotations }} + annotations: + {{- tpl (toYaml . | nindent 4) $ }} + {{- end }} +spec: + {{- include "scrapeconfig.scrapeLimits" .Values.prometheus.scrapeconfig | indent 2 }} + staticConfigs: + - targets: + - {{ template "kube-state-metrics.fullname" . }}.{{ template "kube-state-metrics.namespace" . }}.svc:{{ .Values.service.port }} + {{- if .Values.prometheus.scrapeconfig.staticConfigLabels}} + labels: + {{- with .Values.prometheus.scrapeconfig.staticConfigLabels }} + {{- tpl (toYaml . | nindent 8) $ }} + {{- end }} + {{- end }} +{{- if .Values.prometheus.scrapeconfig.jobName }} + jobName: {{ .Values.prometheus.scrapeconfig.jobName }} +{{- end }} +{{- if .Values.prometheus.scrapeconfig.honorLabels }} + honorLabels: true +{{- end }} +{{- if .Values.prometheus.scrapeconfig.scrapeInterval }} + scrapeInterval: {{ .Values.prometheus.scrapeconfig.scrapeInterval }} +{{- end }} +{{- if .Values.prometheus.scrapeconfig.scrapeTimeout }} + scrapeTimeout: {{ .Values.prometheus.scrapeconfig.scrapeTimeout }} +{{- end }} +{{- if .Values.prometheus.scrapeconfig.proxyUrl }} + proxyUrl: {{ .Values.prometheus.scrapeconfig.proxyUrl }} +{{- end }} +{{- if .Values.prometheus.scrapeconfig.enableHttp2 }} + enableHttp2: {{ .Values.prometheus.scrapeconfig.enableHttp2 }} +{{- end }} +{{- if .Values.prometheus.scrapeconfig.metricRelabelings }} + metricRelabelings: + {{- toYaml .Values.prometheus.scrapeconfig.metricRelabelings | nindent 4 }} +{{- end }} +{{- if .Values.prometheus.scrapeconfig.relabelings }} + relabelings: + {{- toYaml .Values.prometheus.scrapeconfig.relabelings | nindent 4 }} +{{- end }} +{{- if .Values.prometheus.scrapeconfig.scheme }} + scheme: {{ .Values.prometheus.scrapeconfig.scheme }} +{{- end }} +{{- if .Values.prometheus.scrapeconfig.tlsConfig }} + tlsConfig: + {{- toYaml (.Values.prometheus.scrapeconfig.tlsConfig ) | nindent 4 }} +{{- end }} +{{- end }} diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/templates/service.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/templates/service.yaml index d65fc3a4e0a..4bfa7df38a5 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/templates/service.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/kube-state-metrics/templates/service.yaml @@ -19,18 +19,18 @@ spec: ipFamilyPolicy: {{ .Values.service.ipDualStack.ipFamilyPolicy }} {{- end }} ports: - - name: "http" + - name: http protocol: TCP port: {{ .Values.service.port | default 8080}} {{- if ( and (eq .Values.service.type "NodePort" ) (not (empty .Values.service.nodePort)) ) }} nodePort: {{ .Values.service.nodePort }} {{- end }} - targetPort: {{ .Values.service.port | default 8080}} + targetPort: http {{ if .Values.selfMonitor.enabled }} - - name: "metrics" + - name: metrics protocol: TCP port: {{ .Values.selfMonitor.telemetryPort | default 8081 }} - targetPort: {{ .Values.selfMonitor.telemetryPort | default 8081 }} + targetPort: metrics {{- if ( and (eq .Values.service.type "NodePort" ) (not (empty .Values.service.nodePort)) ) }} nodePort: {{ .Values.selfMonitor.telemetryNodePort }} {{- end }} diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/Chart.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/Chart.yaml index 331d605aee7..a8f2c9d003e 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/Chart.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: 0.131.0 +appVersion: 0.136.0 description: OpenTelemetry Operator Helm chart for Kubernetes home: https://opentelemetry.io/ icon: https://raw.githubusercontent.com/cncf/artwork/a718fa97fffec1b9fd14147682e9e3ac0c8817cb/projects/opentelemetry/icon/color/opentelemetry-icon-color.png @@ -12,4 +12,4 @@ name: opentelemetry-operator sources: - https://github.com/open-telemetry/opentelemetry-operator type: application -version: 0.93.0 +version: 0.97.1 diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/conf/crds/crd-opentelemetry.io_opampbridges.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/conf/crds/crd-opentelemetry.io_opampbridges.yaml index 9b7efc33f2e..13373035e66 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/conf/crds/crd-opentelemetry.io_opampbridges.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/conf/crds/crd-opentelemetry.io_opampbridges.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cert-manager.io/inject-ca-from: {{ include "opentelemetry-operator.webhookCertAnnotation" . }} - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.19.0 creationTimestamp: null labels: app.kubernetes.io/name: opentelemetry-operator diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/conf/crds/crd-opentelemetry.io_targetallocators.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/conf/crds/crd-opentelemetry.io_targetallocators.yaml index fa6b449c9a6..129187e746b 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/conf/crds/crd-opentelemetry.io_targetallocators.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/conf/crds/crd-opentelemetry.io_targetallocators.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - cert-manager.io/inject-ca-from: {{ include "opentelemetry-operator.webhookCertAnnotation" . }} - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.19.0 creationTimestamp: null labels: app.kubernetes.io/name: opentelemetry-operator @@ -2096,6 +2095,11 @@ spec: - managed - unmanaged type: string + networkPolicy: + properties: + enabled: + type: boolean + type: object nodeSelector: additionalProperties: type: string @@ -2577,6 +2581,8 @@ spec: - whenUnsatisfiable type: object type: array + trafficDistribution: + type: string volumeMounts: items: properties: diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/conf/crds/crd-opentelemetrycollector.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/conf/crds/crd-opentelemetrycollector.yaml index a7b4d65d79c..1fe00b8758a 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/conf/crds/crd-opentelemetrycollector.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/conf/crds/crd-opentelemetrycollector.yaml @@ -4,7 +4,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: {{ include "opentelemetry-operator.webhookCertAnnotation" . }} - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.19.0 creationTimestamp: null labels: app.kubernetes.io/name: opentelemetry-operator @@ -3505,6 +3505,8 @@ spec: - whenUnsatisfiable type: object type: array + trafficDistribution: + type: string updateStrategy: properties: rollingUpdate: @@ -6961,6 +6963,11 @@ spec: - sidecar - statefulset type: string + networkPolicy: + properties: + enabled: + type: boolean + type: object nodeSelector: additionalProperties: type: string @@ -7724,6 +7731,10 @@ spec: default: 30s format: duration type: string + collectorTargetReloadInterval: + default: 30s + format: duration + type: string enabled: type: boolean env: @@ -8285,6 +8296,8 @@ spec: - whenUnsatisfiable type: object type: array + trafficDistribution: + type: string upgradeStrategy: enum: - automatic diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/conf/crds/crd-opentelemetryinstrumentation.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/conf/crds/crd-opentelemetryinstrumentation.yaml index 4baddde692f..826a8c02449 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/conf/crds/crd-opentelemetryinstrumentation.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/conf/crds/crd-opentelemetryinstrumentation.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.19.0 creationTimestamp: null labels: app.kubernetes.io/name: opentelemetry-operator diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/clusterrole.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/clusterrole.yaml index 35f79fcdbed..a6f2f17778a 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/clusterrole.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/clusterrole.yaml @@ -235,6 +235,7 @@ rules: - networking.k8s.io resources: - ingresses + - networkpolicies verbs: - create - delete diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/deployment.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/deployment.yaml index 8007b9a2475..641f5c12ee3 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/deployment.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/deployment.yaml @@ -37,6 +37,9 @@ spec: spec: automountServiceAccountToken: {{ .Values.automountServiceAccountToken }} hostNetwork: {{ .Values.hostNetwork }} + {{- if and (semverCompare ">=1.30-0" .Capabilities.KubeVersion.Version) (kindIs "bool" .Values.hostUsers) }} + hostUsers: {{ .Values.hostUsers }} + {{- end }} {{- if .Values.priorityClassName }} priorityClassName: {{ .Values.priorityClassName | quote }} {{- end }} @@ -71,6 +74,9 @@ spec: {{- if and .Values.manager.autoInstrumentationImage.dotnet.repository .Values.manager.autoInstrumentationImage.dotnet.tag }} - --auto-instrumentation-dotnet-image={{ .Values.manager.autoInstrumentationImage.dotnet.repository }}:{{ .Values.manager.autoInstrumentationImage.dotnet.tag }} {{- end }} + {{- if .Values.manager.autoInstrumentation.go.enabled }} + - --enable-go-instrumentation + {{- end }} {{- if and .Values.manager.autoInstrumentationImage.go.repository .Values.manager.autoInstrumentationImage.go.tag }} - --auto-instrumentation-go-image={{ .Values.manager.autoInstrumentationImage.go.repository }}:{{ .Values.manager.autoInstrumentationImage.go.tag }} {{- end }} diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/tests/test-certmanager-connection.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/tests/test-certmanager-connection.yaml index 35216e314c5..000766e98a4 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/tests/test-certmanager-connection.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/tests/test-certmanager-connection.yaml @@ -35,6 +35,10 @@ spec: {{- with .Values.testFramework.resources }} resources: {{ toYaml . | nindent 8 }} {{- end }} + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 4 }} + {{- end }} restartPolicy: Never {{- with .Values.affinity }} affinity: {{ toYaml . | nindent 4 }} diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/tests/test-service-connection.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/tests/test-service-connection.yaml index fcee8c96f4b..650334493e6 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/tests/test-service-connection.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/tests/test-service-connection.yaml @@ -36,6 +36,10 @@ spec: {{- with .Values.testFramework.resources }} resources: {{ toYaml . | nindent 8 }} {{- end }} + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 4 }} + {{- end }} restartPolicy: Never {{- with .Values.affinity }} affinity: {{ toYaml . | nindent 4 }} @@ -86,6 +90,10 @@ spec: {{- with .Values.testFramework.resources }} resources: {{ toYaml . | nindent 8 }} {{- end }} + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 4 }} + {{- end }} restartPolicy: Never {{- with .Values.affinity }} affinity: {{ toYaml . | nindent 4 }} diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/verticalpodautoscaler.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/verticalpodautoscaler.yaml index c0419b2a819..64a6c4f1327 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/verticalpodautoscaler.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/templates/verticalpodautoscaler.yaml @@ -8,6 +8,10 @@ metadata: app: {{ template "opentelemetry-operator.name" . }}-operator {{- include "opentelemetry-operator.labels" . | nindent 4 }} spec: + {{- with .Values.manager.verticalPodAutoscaler.recommenders }} + recommenders: + {{- toYaml . | nindent 4 }} + {{- end }} resourcePolicy: containerPolicies: - containerName: manager diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/values.schema.json b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/values.schema.json index 39f7277dc50..b082860c140 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/values.schema.json +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/values.schema.json @@ -173,7 +173,8 @@ "verticalPodAutoscaler", "rolling", "securityContext", - "ignoreMissingCollectorCRDs" + "ignoreMissingCollectorCRDs", + "autoInstrumentation" ], "additionalProperties": false, "properties": { @@ -975,12 +976,10 @@ }, "duration": { "type": "string", - "default": {}, + "default": "", "title": "The prometheusRule duration to be considered firing", - "required": [], - "properties": {}, "examples": [ - {} + "" ] } }, @@ -1016,10 +1015,8 @@ "type": "string", "default": "", "title": "The runbookUrl Schema", - "required": [], - "properties": {}, "examples": [ - {} + "" ] } }, @@ -1128,6 +1125,26 @@ {} ] }, + "recommenders": { + "type": "array", + "default": [], + "title": "The recommenders Schema", + "maxItems": 1, + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "additionalProperties": false + }, + "examples": [ + { + "name": "custom-recommender-performance" + } + ] + }, "updatePolicy": { "type": "object", "default": {}, @@ -1200,6 +1217,24 @@ "examples": [ false ] + }, + "autoInstrumentation": { + "type": "object", + "default": {}, + "properties": { + "go": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": false, + "description": "Enable Go auto-instrumentation" + } + }, + "required": [], + "additionalProperties": false + } + } } }, "examples": [ @@ -1958,6 +1993,17 @@ false ] }, + "hostUsers": { + "type": [ + "boolean", + "null" + ], + "default": null, + "title": "The hostUsers Schema", + "examples": [ + false + ] + }, "priorityClassName": { "type": "string", "default": "", diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/values.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/values.yaml index 26049f805e3..59bb858c062 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/values.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/opentelemetry-operator/values.yaml @@ -50,7 +50,7 @@ manager: imagePullPolicy: IfNotPresent collectorImage: repository: ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-k8s - tag: 0.131.1 + tag: 0.136.0 opampBridgeImage: repository: "" tag: "" @@ -73,11 +73,16 @@ manager: apacheHttpd: repository: "" tag: "" - # The Go instrumentation support in the operator is disabled by default. - # To enable it, use the operator.autoinstrumentation.go feature gate. + # To enable Go instrumentation, manager.autoInstrumentation.go.enabled must be set to true go: repository: "" tag: "" + + # The Go instrumentation support in the operator is disabled by default. + autoInstrumentation: + go: + enabled: false + # If ignoreMissingCollectorCRDs is set to true, the manager will not raise errors # if the collector CRDs are not present. ignoreMissingCollectorCRDs: false @@ -116,7 +121,6 @@ manager: env: ENABLE_WEBHOOKS: "true" - # Extra definitions of environment variables. extraEnvs: [] # - name: GOMEMLIMIT @@ -188,6 +192,13 @@ manager: # Enable vertical pod autoscaler support for the manager verticalPodAutoscaler: enabled: false + + # Recommender responsible for generating recommendation for the object. + # List should be empty (then the default recommender will generate the recommendation) + # or contain exactly one recommender. + # recommenders: + # - name: custom-recommender-performance + # List of resources that the vertical pod autoscaler can control. Defaults to cpu, memory and ephemeral-storage. controlledResources: [] @@ -356,6 +367,11 @@ nodeSelector: topologySpreadConstraints: [] hostNetwork: false +# Whether to use user namespace or not +# Kubernetes version 1.30 for feature beta (1.33 for GA) or higher is required with support from OS and OCI runtime +# ref: https://kubernetes.io/docs/concepts/workloads/pods/user-namespaces/ +# hostUsers: false + # Allows for pod scheduler prioritisation priorityClassName: "" diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/prometheus-node-exporter/Chart.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/prometheus-node-exporter/Chart.yaml index 80007a03e92..083664dd319 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/prometheus-node-exporter/Chart.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/prometheus-node-exporter/Chart.yaml @@ -25,4 +25,4 @@ name: prometheus-node-exporter sources: - https://github.com/prometheus/node_exporter/ type: application -version: 4.47.3 +version: 4.48.0 diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/prometheus-node-exporter/values.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/prometheus-node-exporter/values.yaml index 09fe39212b2..c05662566d2 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/prometheus-node-exporter/values.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/charts/prometheus-node-exporter/values.yaml @@ -45,7 +45,7 @@ kubeRBACProxy: image: registry: quay.io repository: brancz/kube-rbac-proxy - tag: v0.19.1 + tag: v0.20.0 sha: "" pullPolicy: IfNotPresent diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/templates/NOTES.txt b/testing/integration/k8s/testdata/opentelemetry-kube-stack/templates/NOTES.txt new file mode 100644 index 00000000000..5e8fffda4fb --- /dev/null +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/templates/NOTES.txt @@ -0,0 +1,6 @@ +{{- range $name, $collector := .Values.collectors }} +{{- $collector := (mergeOverwrite (deepCopy $.Values.defaultCRConfig) $collector) }} +{{- if $collector.updateStrategy }} +[WARNING] Collector '{{ $name }}': the 'updateStrategy' value is no longer supported in OpenTelemetryCollector v1beta1. Please migrate to use the `daemonSetUpdateStrategy` value. +{{- end }} +{{- end }} diff --git a/testing/integration/k8s/testdata/opentelemetry-kube-stack/values.yaml b/testing/integration/k8s/testdata/opentelemetry-kube-stack/values.yaml index f99263d520e..5c2d4c970c5 100644 --- a/testing/integration/k8s/testdata/opentelemetry-kube-stack/values.yaml +++ b/testing/integration/k8s/testdata/opentelemetry-kube-stack/values.yaml @@ -510,14 +510,19 @@ collectors: http: endpoint: 0.0.0.0:4318 processors: + resourcedetection/env: + detectors: [env, k8snode] + timeout: 2s + override: false + resource/hostname: + attributes: + - key: host.name + from_attribute: k8s.node.name + action: insert batch: send_batch_size: 1000 timeout: 1s send_batch_max_size: 1500 - resourcedetection/env: - detectors: [env] - timeout: 2s - override: false exporters: debug: {} @@ -528,6 +533,7 @@ collectors: - otlp processors: - resourcedetection/env + - resource/hostname - batch exporters: - debug @@ -536,6 +542,7 @@ collectors: - otlp processors: - resourcedetection/env + - resource/hostname - batch exporters: - debug @@ -544,6 +551,7 @@ collectors: - otlp processors: - resourcedetection/env + - resource/hostname - batch exporters: - debug