Kubernetes Manifest Linter
Ελέγξτε τα Kubernetes YAML manifests σας με βάση τις βέλτιστες πρακτικές hardening του cluster, εντελώς εκτός σύνδεσης μέσα στον browser σας.
🔒 Επεξεργάζεται εξ ολοκλήρου στο πρόγραμμα περιήγησής σας — τίποτα που εισάγετε εδώ δεν μεταφορτώνεται ποτέ.
Αποτέλεσμα
Τα Kubernetes manifests συνήθως ελέγχονται οπτικά σε ένα pull request, πράγμα που σημαίνει ότι τα ίδια λάθη hardening καταλήγουν συστηματικά στην παραγωγή: ένα Deployment χωρίς memory limit που τελικά γίνεται OOM-kill και παίρνει μαζί του έναν node, ένα container που εκτελείται ευχαρίστως ως root επειδή κανείς δεν όρισε το runAsNonRoot, ή ένα Pod καρφιτσωμένο σε μια εικόνα με tag `:latest` που αλλάζει σιωπηλά κάτω από ένα rollout. Αυτό το linter εντοπίζει αυτή την κατηγορία προβλημάτων τη στιγμή που επικολλάτε ένα manifest, χωρίς να χρειάζεται λειτουργικό cluster, kubectl context ή οποιαδήποτε διαπιστευτήρια.
Κάτω από την επιφάνεια περιλαμβάνει έναν μικρό, ιδιόχειρο YAML parser γραμμένο ειδικά για το ρεαλιστικό υποσύνολο της YAML που χρησιμοποιούν πραγματικά τα Kubernetes manifests: έγγραφα χωρισμένα με `---`, εμφώλευση με βάση την εσοχή, αντιστοιχίσεις `key: value` και εμφωλευμένων μπλοκ, στοιχεία ακολουθιών `- ` συμπεριλαμβανομένων λιστών από αντιστοιχίσεις, scalars με ή χωρίς εισαγωγικά, σχόλια και block scalars `|`/`>` για πράγματα όπως τιμές ConfigMap πολλών γραμμών ή annotations. Δεν εμπλέκεται καμία εξωτερική βιβλιοθήκη YAML — τόσο ο parser όσο και η μηχανή κανόνων συμπεριλαμβάνονται στο εργαλείο και εκτελούνται εξ ολοκλήρου στον browser σας.
Ο πίνακας κανόνων είναι βασισμένος σε γνωστές οδηγίες hardening cluster — το CIS Kubernetes Benchmark, το kube-score και το προφίλ "Restricted" των Pod Security Standards — και ελέγχει κάθε container για ελλιπή resource requests/limits, containers που μπορούν να εκτελεστούν ως root ή σε privileged mode, ελλιπή liveness και readiness probes σε μακροχρόνιους φόρτους εργασίας (Deployments, StatefulSets, DaemonSets), hostPath volume mounts που εκθέτουν το σύστημα αρχείων του host, χρήση hostNetwork και μη αναπαραγώγιμες εικόνες `:latest` ή χωρίς tag. Τα ευρήματα ομαδοποιούνται ανά έγγραφο και ανά container, με μια σαφή σοβαρότητα error/warning για το καθένα, ώστε να μπορείτε να διακρίνετε τι είναι πραγματικά επικίνδυνο από μια απλή υπόδειξη βέλτιστης πρακτικής.
Λειτουργεί με μεμονωμένα manifests ή ολόκληρα αρχεία πολλαπλών εγγράφων που επικολλώνται απευθείας από την έξοδο ενός Helm template render ή ενός `kustomize build`, κατανοώντας πόρους Pod, Deployment, StatefulSet, DaemonSet, Job, ReplicaSet και CronJob. Επειδή όλα εκτελούνται τοπικά, είναι ασφαλές να επικολλήσετε manifests που περιέχουν εσωτερικά ονόματα υπηρεσιών, πραγματικά μεγέθη πόρων ή οτιδήποτε άλλο δεν θα θέλατε να στείλετε σε ένα τρίτο API — χρήσιμο για έναν γρήγορο έλεγχο ορθότητας πριν το commit, ένα βοήθημα code review ή απλώς για να μάθετε πώς μοιάζει στην πράξη ένα "hardened" cluster.