diff --git a/k8s/kyverno-ingress-domain-name-2.yaml b/k8s/kyverno-ingress-domain-name-2a.yaml similarity index 100% rename from k8s/kyverno-ingress-domain-name-2.yaml rename to k8s/kyverno-ingress-domain-name-2a.yaml diff --git a/k8s/kyverno-ingress-domain-name-2b.yaml b/k8s/kyverno-ingress-domain-name-2b.yaml new file mode 100644 index 00000000..e3ee5743 --- /dev/null +++ b/k8s/kyverno-ingress-domain-name-2b.yaml @@ -0,0 +1,32 @@ +apiVersion: kyverno.io/v1 +kind: ClusterPolicy +metadata: + name: ingress-domain-name +spec: + rules: + - name: create-ingress + match: + resources: + kinds: + - Service + preconditions: + - key: http + operator: In + value: "{{request.object.spec.ports[*].name}}" + generate: + kind: Ingress + name: "{{request.object.metadata.name}}" + namespace: "{{request.object.metadata.namespace}}" + data: + spec: + rules: + - host: "{{request.object.metadata.name}}.{{request.object.metadata.namespace}}.A.B.C.D.nip.io" + http: + paths: + - backend: + service: + name: "{{request.object.metadata.name}}" + port: + name: http + path: / + pathType: Prefix diff --git a/k8s/kyverno-ingress-domain-name-2c.yaml b/k8s/kyverno-ingress-domain-name-2c.yaml new file mode 100644 index 00000000..78ad8c87 --- /dev/null +++ b/k8s/kyverno-ingress-domain-name-2c.yaml @@ -0,0 +1,34 @@ +# Note: this policy uses the operator "AnyIn", which was introduced in Kyverno 1.6. +# (This policy won't work with Kyverno 1.5!) +apiVersion: kyverno.io/v1 +kind: ClusterPolicy +metadata: + name: ingress-domain-name +spec: + rules: + - name: create-ingress + match: + resources: + kinds: + - Service + preconditions: + - key: "{{request.object.spec.ports[*].port}}" + operator: AnyIn + value: [ 80 ] + generate: + kind: Ingress + name: "{{request.object.metadata.name}}" + namespace: "{{request.object.metadata.namespace}}" + data: + spec: + rules: + - host: "{{request.object.metadata.name}}.{{request.object.metadata.namespace}}.A.B.C.D.nip.io" + http: + paths: + - backend: + service: + name: "{{request.object.metadata.name}}" + port: + name: http + path: / + pathType: Prefix