0

Kubernetes Manifest Linter

Ελέγξτε τα Kubernetes YAML manifests σας με βάση τις βέλτιστες πρακτικές hardening του cluster, εντελώς εκτός σύνδεσης μέσα στον browser σας.

🔒 Επεξεργάζεται εξ ολοκλήρου στο πρόγραμμα περιήγησής σας — τίποτα που εισάγετε εδώ δεν μεταφορτώνεται ποτέ.

Επεξεργασία... 0%
Ανάλυση YAML
Επεξεργασία manifest
Έλεγχος κανόνων hardening
Ολοκληρώθηκε

Αποτέλεσμα

Τα 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.