apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata: name: replace-bitnami-image-repository-with-bitnamilegacy annotations: policies.kyverno.io/title: Replace Bitnami Image Repository With Bitnami Legacy pod-policies.kyverno.io/autogen-controllers: none policies.kyverno.io/subject: Pod spec: rules: - name: redirect-bitnami-to-bitnamilegacy match: any: - resources: kinds: - Pod operations: - CREATE - UPDATE mutate: foreach: - list: request.object.spec.initContainers[] context: - name: imageData imageRegistry: reference: "{{ element.image }}" preconditions: any: - key: "{{ regex_match('^(docker\\.io)/(bitnami)/(.*)$', '{{element.image}}') }}" operator: Equals value: true patchStrategicMerge: spec: initContainers: - name: "{{ element.name }}" image: "{{ regex_replace_all('^(docker\\.io)/(bitnami)/(.*)$', '{{element.image}}', '$1/bitnamilegacy/$3' )}}" - list: request.object.spec.containers[] context: - name: imageData imageRegistry: reference: "{{ element.image }}" preconditions: any: - key: "{{ regex_match('^(docker\\.io)/(bitnami)/(.*)$', '{{element.image}}') }}" operator: Equals value: true patchStrategicMerge: spec: containers: - name: "{{ element.name }}" image: "{{ regex_replace_all('^(docker\\.io)/(bitnami)/(.*)$', '{{element.image}}', '$1/bitnamilegacy/$3' )}}"