diff --git a/.chloggen/remove-env-var-validation.yaml b/.chloggen/remove-env-var-validation.yaml new file mode 100755 index 0000000000..9db9165b5d --- /dev/null +++ b/.chloggen/remove-env-var-validation.yaml @@ -0,0 +1,16 @@ +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: enhancement + +# The name of the component, or a single word describing the area of concern, (e.g. collector, target allocator, auto-instrumentation, opamp, github action) +component: instrumentation + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Remove env var prefix validation + +# One or more tracking issues related to the change +issues: [2768] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: diff --git a/apis/v1alpha1/instrumentation_webhook.go b/apis/v1alpha1/instrumentation_webhook.go index beeaedf362..d2b4a5a74d 100644 --- a/apis/v1alpha1/instrumentation_webhook.go +++ b/apis/v1alpha1/instrumentation_webhook.go @@ -31,11 +31,6 @@ import ( "github.com/open-telemetry/opentelemetry-operator/pkg/constants" ) -const ( - envPrefix = "OTEL_" - envSplunkPrefix = "SPLUNK_" -) - var ( _ admission.CustomValidator = &InstrumentationWebhook{} _ admission.CustomDefaulter = &InstrumentationWebhook{} @@ -245,44 +240,9 @@ func (w InstrumentationWebhook) validate(r *Instrumentation) (admission.Warnings default: return warnings, fmt.Errorf("spec.sampler.type is not valid: %s", r.Spec.Sampler.Type) } - - // validate env vars - if err := w.validateEnv(r.Spec.Env); err != nil { - return warnings, err - } - if err := w.validateEnv(r.Spec.Java.Env); err != nil { - return warnings, err - } - if err := w.validateEnv(r.Spec.NodeJS.Env); err != nil { - return warnings, err - } - if err := w.validateEnv(r.Spec.Python.Env); err != nil { - return warnings, err - } - if err := w.validateEnv(r.Spec.DotNet.Env); err != nil { - return warnings, err - } - if err := w.validateEnv(r.Spec.Go.Env); err != nil { - return warnings, err - } - if err := w.validateEnv(r.Spec.ApacheHttpd.Env); err != nil { - return warnings, err - } - if err := w.validateEnv(r.Spec.Nginx.Env); err != nil { - return warnings, err - } return warnings, nil } -func (w InstrumentationWebhook) validateEnv(envs []corev1.EnvVar) error { - for _, env := range envs { - if !strings.HasPrefix(env.Name, envPrefix) && !strings.HasPrefix(env.Name, envSplunkPrefix) { - return fmt.Errorf("env name should start with \"OTEL_\" or \"SPLUNK_\": %s", env.Name) - } - } - return nil -} - func validateJaegerRemoteSamplerArgument(argument string) error { parts := strings.Split(argument, ",")