Skip to content

Injection webhook validation failure when using :ENV path format #40116

@frankbu

Description

@frankbu

Bug Description

Using the :ENV format for configuring an injectionPath for the injection webhook fails to validate.

For example, installing this IOP:

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  namespace: external-istiod
spec:
  profile: external
  values:
    global:
      istioNamespace: external-istiod
      remotePilotAddress: 169.55.170.85
    istiodRemote:
      injectionPath: /inject/:ENV:cluster=cluster1/c1o73jbw0d1g0adp0k90:ENV:net=network

produces the following error message:

The MutatingWebhookConfiguration "istio-sidecar-injector-external-istiod" is invalid: 
* webhooks[0].clientConfig.service.path: Invalid value: "/inject/:ENV:cluster=cluster1/c1o73jbw0d1g0adp0k90:ENV:net=network1": segment[1]: a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')

Note that configuring the same path using an injectionURL (instead of injectionPath) does not fail validation.

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  namespace: external-istiod
spec:
  profile: external
  values:
    global:
      istioNamespace: external-istiod
    istiodRemote:
      injectionURL: https://169.55.170.85:15017/inject/:ENV:cluster=cluster1/c1o73jbw0d1g0adp0k90:ENV:net=network1

Version

latest

Additional Information

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions