From 32bd4a5ea5daf45409c52d49085d0b604fc1e2ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mois=C3=A9s=20Gonz=C3=A1lez?= Date: Wed, 8 Apr 2026 11:51:09 -0400 Subject: [PATCH] feat: add an option to configure the ingressClass --- ...408_115227_moises.gonzalez_multiple_ingress_controller.md | 5 +++++ drydock/plugin.py | 1 + drydock/templates/drydock/k8s/ingress/cms.yml | 2 +- drydock/templates/drydock/k8s/ingress/extra-hosts.yml | 2 +- drydock/templates/drydock/k8s/ingress/issuer.yml | 2 +- drydock/templates/drydock/k8s/ingress/lms.yml | 2 +- drydock/templates/drydock/k8s/ingress/meilisearch.yml | 2 +- drydock/templates/drydock/k8s/ingress/mfe.yml | 2 +- drydock/templates/drydock/k8s/ingress/notes.yml | 2 +- 9 files changed, 13 insertions(+), 7 deletions(-) create mode 100644 changelog.d/20260408_115227_moises.gonzalez_multiple_ingress_controller.md diff --git a/changelog.d/20260408_115227_moises.gonzalez_multiple_ingress_controller.md b/changelog.d/20260408_115227_moises.gonzalez_multiple_ingress_controller.md new file mode 100644 index 00000000..669df755 --- /dev/null +++ b/changelog.d/20260408_115227_moises.gonzalez_multiple_ingress_controller.md @@ -0,0 +1,5 @@ +### Added + +- The new `DRYDOCK_INGRESS_CLASS` allows to configure the ingress class used by + the Ingress and Issuers objects. + diff --git a/drydock/plugin.py b/drydock/plugin.py index 3b25a8df..5df19ed9 100644 --- a/drydock/plugin.py +++ b/drydock/plugin.py @@ -26,6 +26,7 @@ ("DRYDOCK_AUTO_TLS", True), ("DRYDOCK_MIGRATE_FROM", 0), ("DRYDOCK_INGRESS", True), + ("DRYDOCK_INGRESS_CLASS", "nginx"), ("DRYDOCK_INGRESS_EXTRA_HOSTS", []), ("DRYDOCK_INGRESS_LMS_EXTRA_HOSTS", []), ("DRYDOCK_NEWRELIC_LICENSE_KEY", ""), diff --git a/drydock/templates/drydock/k8s/ingress/cms.yml b/drydock/templates/drydock/k8s/ingress/cms.yml index 02569a0a..555af6ce 100644 --- a/drydock/templates/drydock/k8s/ingress/cms.yml +++ b/drydock/templates/drydock/k8s/ingress/cms.yml @@ -28,7 +28,7 @@ metadata: } {%- endif %} spec: - ingressClassName: nginx + ingressClassName: {{ DRYDOCK_INGRESS_CLASS }} rules: - host: {{ CMS_HOST }} http: diff --git a/drydock/templates/drydock/k8s/ingress/extra-hosts.yml b/drydock/templates/drydock/k8s/ingress/extra-hosts.yml index 5804d56d..16caef47 100644 --- a/drydock/templates/drydock/k8s/ingress/extra-hosts.yml +++ b/drydock/templates/drydock/k8s/ingress/extra-hosts.yml @@ -10,7 +10,7 @@ metadata: cert-manager.io/issuer: letsencrypt {%- endif %} spec: - ingressClassName: nginx + ingressClassName: {{ DRYDOCK_INGRESS_CLASS }} rules: - host: {{ host }} http: diff --git a/drydock/templates/drydock/k8s/ingress/issuer.yml b/drydock/templates/drydock/k8s/ingress/issuer.yml index 6ccf6c6a..44ac9551 100644 --- a/drydock/templates/drydock/k8s/ingress/issuer.yml +++ b/drydock/templates/drydock/k8s/ingress/issuer.yml @@ -19,7 +19,7 @@ spec: solvers: - http01: ingress: - class: nginx + class: {{ DRYDOCK_INGRESS_CLASS }} {% endif -%} {% if DRYDOCK_CUSTOM_CERTS -%} diff --git a/drydock/templates/drydock/k8s/ingress/lms.yml b/drydock/templates/drydock/k8s/ingress/lms.yml index 3fdb6d91..abf359a4 100644 --- a/drydock/templates/drydock/k8s/ingress/lms.yml +++ b/drydock/templates/drydock/k8s/ingress/lms.yml @@ -28,7 +28,7 @@ metadata: } {%- endif %} spec: - ingressClassName: nginx + ingressClassName: {{ DRYDOCK_INGRESS_CLASS }} rules: - host: {{ LMS_HOST }} http: diff --git a/drydock/templates/drydock/k8s/ingress/meilisearch.yml b/drydock/templates/drydock/k8s/ingress/meilisearch.yml index 3499f39c..fe069b37 100644 --- a/drydock/templates/drydock/k8s/ingress/meilisearch.yml +++ b/drydock/templates/drydock/k8s/ingress/meilisearch.yml @@ -9,7 +9,7 @@ metadata: cert-manager.io/issuer: letsencrypt {%- endif %} spec: - ingressClassName: nginx + ingressClassName: {{ DRYDOCK_INGRESS_CLASS }} rules: - host: {{ MEILISEARCH_HOST }} http: diff --git a/drydock/templates/drydock/k8s/ingress/mfe.yml b/drydock/templates/drydock/k8s/ingress/mfe.yml index c09e00ed..c6836a08 100644 --- a/drydock/templates/drydock/k8s/ingress/mfe.yml +++ b/drydock/templates/drydock/k8s/ingress/mfe.yml @@ -10,7 +10,7 @@ metadata: cert-manager.io/issuer: letsencrypt {%- endif %} spec: - ingressClassName: nginx + ingressClassName: {{ DRYDOCK_INGRESS_CLASS }} rules: - host: {{ MFE_HOST }} http: diff --git a/drydock/templates/drydock/k8s/ingress/notes.yml b/drydock/templates/drydock/k8s/ingress/notes.yml index f4e9bb52..e26339f4 100644 --- a/drydock/templates/drydock/k8s/ingress/notes.yml +++ b/drydock/templates/drydock/k8s/ingress/notes.yml @@ -9,7 +9,7 @@ metadata: cert-manager.io/issuer: letsencrypt {%- endif %} spec: - ingressClassName: nginx + ingressClassName: {{ DRYDOCK_INGRESS_CLASS }} rules: - host: {{ NOTES_HOST }} http: