Moving exporter charms to use opslib
[osm/devops.git] / installers / charm / mongodb-exporter / src / pod_spec.py
index 8255b20..ff42e02 100644 (file)
@@ -20,8 +20,8 @@
 # osm-charmers@lists.launchpad.net
 ##
 
-import logging
 from ipaddress import ip_network
+import logging
 from typing import Any, Dict, List
 from urllib.parse import urlparse
 
@@ -62,6 +62,9 @@ def _validate_data(config_data: Dict[str, Any], relation_data: Dict[str, Any]) -
         "site_url": lambda value, _: isinstance(value, str)
         if value is not None
         else True,
+        "cluster_issuer": lambda value, _: isinstance(value, str)
+        if value is not None
+        else True,
         "ingress_whitelist_source_range": lambda value, _: _validate_ip_network(value),
         "tls_secret_name": lambda value, _: isinstance(value, str)
         if value is not None
@@ -158,6 +161,8 @@ def _make_pod_ingress_resources(
         return
 
     ingress_whitelist_source_range = config["ingress_whitelist_source_range"]
+    cluster_issuer = config["cluster_issuer"]
+
     annotations = {}
 
     if ingress_whitelist_source_range:
@@ -165,6 +170,9 @@ def _make_pod_ingress_resources(
             "nginx.ingress.kubernetes.io/whitelist-source-range"
         ] = ingress_whitelist_source_range
 
+    if cluster_issuer:
+        annotations["cert-manager.io/cluster-issuer"] = cluster_issuer
+
     ingress_spec_tls = None
 
     if parsed.scheme == "https":