From b2167545e53c9a12c50b5104e76b7ab97748cfed Mon Sep 17 00:00:00 2001 From: Emin Aktas Date: Thu, 31 Oct 2024 13:55:13 +0300 Subject: [PATCH] feat(ingress): add ingressClassName attribute in ingress schema Signed-off-by: Emin Aktas --- models/kube/frontend/ingress/ingress.k | 3 +++ models/kube/mixins/ingress_mixin.k | 1 + 2 files changed, 4 insertions(+) diff --git a/models/kube/frontend/ingress/ingress.k b/models/kube/frontend/ingress/ingress.k index 638cf0e..efbf8e6 100644 --- a/models/kube/frontend/ingress/ingress.k +++ b/models/kube/frontend/ingress/ingress.k @@ -7,6 +7,8 @@ schema Ingress(common.Metadata): Attributes ---------- + ingressClassName: str, default is Undefined, optional. + This field should reference an IngressClass resource specifying the name of the controller that will implement the class. If left unspecified, a default IngressClass will be assigned by the controller if any IngressClass has ingressclass.kubernetes.io/is-default-class set to true. rules: [networkingv1.IngressRule], default is Undefined, optional A list of host rules used to configure the Ingress. If unspecified, or no rule matches, all traffic is sent to the default backend. tls: [networkingv1.IngressTLS], default is Undefined, optional @@ -39,5 +41,6 @@ schema Ingress(common.Metadata): ] } """ + ingressClassName?: str rules?: [networkingv1.IngressRule] tls?: [networkingv1.IngressTLS] diff --git a/models/kube/mixins/ingress_mixin.k b/models/kube/mixins/ingress_mixin.k index db9ef0b..09b93f3 100644 --- a/models/kube/mixins/ingress_mixin.k +++ b/models/kube/mixins/ingress_mixin.k @@ -12,6 +12,7 @@ mixin IngressMixin for protocol.ServerProtocol: name = _s?.name or "{}-{}-{}".format(metadata.__META_APP_NAME, metadata.__META_ENV_TYPE_NAME, _i) namespace = _s?.namespace or "{}-{}".format(metadata.__META_APP_NAMESPACE, metadata.__META_ENV_TYPE_NAME) } + spec.ingressClassName = _s?.ingressClassName spec.rules = _s?.rules spec.tls = _s?.tls } for _i, _s in config.ingresses]