On a new fresh deployment of O11y, we are following the guide from the setup wizard and running the following helm install command
helm install splunk-otel-collector --set="cloudProvider=aws,distribution=eks,splunkObservability.accessToken=xxxx-xxxxx,clusterName=eks-test-cluster,splunkObservability.realm=eu2,gateway.enabled=true,splunkPlatform.endpoint=https://my-splunk-cloud-hec-input,splunkPlatform.token=my-token,splunkObservability.profilingEnabled=true,environment=test,operator.enabled=true,agent.discovery.enabled=true" splunk-otel-collector-chart/splunk-otel-collector
However this fails with the following error:
Error: INSTALLATION FAILED: template: splunk-otel-collector/templates/operator/instrumentation.yaml:2:4: executing "splunk-otel-collector/templates/operator/instrumentation.yaml" at <include "splunk-otel-collector.operator.validation-rules" .>: error calling include: template: splunk-otel-collector/templates/operator/_helpers.tpl:17:13: executing "splunk-otel-collector.operator.validation-rules" at <.Values.instrumentation.exporter.endpoint>: nil pointer evaluating interface {}.endpoint
This seems to be because _helpers.tpl is expecting a value for instrumentation.exporter.endpoint however the value according to the chart (and the documentation) is instrumentation.endpoint
https://github.com/signalfx/splunk-otel-collector-chart/blob/main/helm-charts/splunk-otel-collector/...
Line 13 is where it is mentioned.
Just to follow up that if we disable the operator, the deployment is successful, but we have no APM.
This issue specifically seems to relate to the operator and the APM instrumentation
Yes, same issue when I tried. Only when disabling the operator flag, the deployment goes through
Welcome to Splunk O11y Cloud Nickhills !
From your first message, I see that you are deploying the collector as Gateway (on the helm install command, parameter gateway.enabled is set to true). Can you confirm that you need to setup OpenTelemetry as gateway? If not, please try to re-install as agent and let us know how it goes.
Regards,
Houssem
helm install -n splunk --create-namespace splunk-otel-collector --set="cloudProvider=aws,distribution=eks,splunkObservability.accessToken=xxxxxx,clusterName=eks-uk-test,splunkObservability.realm=eu2,gateway.enabled=false,splunkPlatform.endpoint=xxxxxxx,splunkPlatform.token=xxxxx,splunkObservability.profilingEnabled=true,environment=test,operator.enabled=true,agent.discovery.enabled=true" splunk-otel-collector-chart/splunk-otel-collector
Still gives:
Error: INSTALLATION FAILED: template: splunk-otel-collector/templates/operator/instrumentation.yaml:2:4: executing "splunk-otel-collector/templates/operator/instrumentation.yaml" at <include "splunk-otel-collector.operator.validation-rules" .>: error calling include: template: splunk-otel-collector/templates/operator/_helpers.tpl:17:13: executing "splunk-otel-collector.operator.validation-rules" at <.Values.instrumentation.exporter.endpoint>: nil pointer evaluating interface {}.endpoint
We did eventually resolve this, however it took multiple steps.
Indeed, we were using an old version of helm, updating to 3.16 did allow us to make further progress, however that moved the issue onto a compatibility/dependency issue with prometheus (specifically prometheus-operator)
Switching to the latest otel chart (--version 0.112.0) was one step closer - however there was a breaking change in the values.yaml between 110-112 which meant we needed to rewrite our local values file.
Long story short: helm 3.16 + collector & values 0.112.0 worked for us.
Can i know what were the changes down on values file? Otel chart I was able to get in the Github project
Hi,
This error is seems to occur with older versions of helm. Can you please confirm your version of helm and see if it's possible to update to a current version?
Helm version.BuildInfo{Version:"v3.14.2", GitCommit:"", GitTreeState:"clean", GoVersion:"go1.22.7"}
I used helm from Azure cloudshell and also tried GCP cloudshell. Both had similar issue. Do I need to try installing kubectl and helm locally and try again?
I also tried with the latest version 3.16.3 and it is still the same issue