Skip to content

Commit 4274f78

Browse files
create a function to validate the required fields
1 parent b93b65f commit 4274f78

File tree

1 file changed

+32
-3
lines changed

1 file changed

+32
-3
lines changed

Deployment/kubernetes/deploy.ingress.yaml.template

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
import yaml
2+
3+
# Load the YAML file
4+
ingress_yaml = """
15
apiVersion: networking.k8s.io/v1
26
kind: Ingress
37
metadata:
@@ -21,7 +25,7 @@ spec:
2125
port:
2226
number: 5900
2327
rules:
24-
- host: {{ fqdn }}
28+
- host: "{{ fqdn }}"
2529
http:
2630
paths:
2731
- path: /backend(/|$)(.*)
@@ -40,5 +44,30 @@ spec:
4044
number: 5900
4145
tls:
4246
- hosts:
43-
- {{ fqdn }}
44-
secretName: secret-kmgs
47+
- "{{ fqdn }}"
48+
secretName: secret-kmgs
49+
"""
50+
51+
# Function to validate the required fields
52+
def validate_ingress(ingress):
53+
required_fields = {
54+
'fqdn': ingress['spec']['rules'][0]['host'],
55+
'cert-manager.io/cluster-issuer': ingress['metadata']['annotations'].get('cert-manager.io/cluster-issuer'),
56+
'ingressClassName': ingress['spec'].get('ingressClassName'),
57+
'frontapp-service': ingress['spec']['defaultBackend']['service']['name'],
58+
'aiservice-service': ingress['spec']['rules'][0]['http']['paths'][0]['backend']['service']['name'],
59+
'tls-secret-name': ingress['spec']['tls'][0].get('secretName')
60+
}
61+
62+
# Check each required field
63+
for field, value in required_fields.items():
64+
if value in [None, '', '{{ fqdn }}']:
65+
print(f"ERROR: The field '{field}' is missing or empty.")
66+
else:
67+
print(f"Field '{field}' is valid: {value}")
68+
69+
# Load YAML data
70+
ingress_data = yaml.safe_load(ingress_yaml)
71+
72+
# Validate
73+
validate_ingress(ingress_data)

0 commit comments

Comments
 (0)