mirror of
https://github.com/k8sgpt-ai/k8sgpt.git
synced 2025-09-03 16:26:28 +00:00
feat: add Ingress class validation (#154)
Signed-off-by: Matthis Holleville <matthish29@gmail.com>
This commit is contained in:
committed by
GitHub
parent
be061da5b6
commit
b061566404
@@ -22,6 +22,26 @@ func AnalyzeIngress(ctx context.Context, config *AnalysisConfiguration, client *
|
|||||||
|
|
||||||
for _, ing := range list.Items {
|
for _, ing := range list.Items {
|
||||||
var failures []string
|
var failures []string
|
||||||
|
|
||||||
|
// get ingressClassName
|
||||||
|
ingressClassName := ing.Spec.IngressClassName
|
||||||
|
if ingressClassName == nil {
|
||||||
|
ingClassValue := ing.Annotations["kubernetes.io/ingress.class"]
|
||||||
|
if ingClassValue == "" {
|
||||||
|
failures = append(failures, fmt.Sprintf("Ingress %s/%s does not specify an Ingress class.", ing.Namespace, ing.Name))
|
||||||
|
} else {
|
||||||
|
ingressClassName = &ingClassValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// check if ingressclass exist
|
||||||
|
if ingressClassName != nil {
|
||||||
|
_, err := client.GetClient().NetworkingV1().IngressClasses().Get(ctx, *ingressClassName, metav1.GetOptions{})
|
||||||
|
if err != nil {
|
||||||
|
failures = append(failures, fmt.Sprintf("Ingress uses the ingress class %s which does not exist.", *ingressClassName))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// loop over rules
|
// loop over rules
|
||||||
for _, rule := range ing.Spec.Rules {
|
for _, rule := range ing.Spec.Rules {
|
||||||
// loop over paths
|
// loop over paths
|
||||||
|
Reference in New Issue
Block a user