Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
popeye — 👀 Un sanificatore di risorse per cluster Kubernetes | Kitploit
Strumenti/GitHubGitHub/derailed/popeye
Sicurezza dei ContenitoriAudit di ConfigurazioneSicurezza CloudConfigurazione Errata
GitHubderailed/popeye

popeye

👀 Un sanificatore di risorse per cluster Kubernetes

Vedi RepositorySito web
6.3k3441 anno faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Popeye: Linter Live per Cluster Kubernetes

Popeye è un'utilità che scansiona cluster Kubernetes live e segnala potenziali problemi con risorse e configurazioni distribuite. Con la crescita del panorama Kubernetes, sta diventando una sfida per un essere umano tenere traccia della marea di manifesti e policy che orchestrano un cluster. Popeye scansiona il tuo cluster in base a ciò che è distribuito e non ciò che è sul disco. Effettuando il linting del tuo cluster, rileva configurazioni errate, risorse obsolete e ti assiste per assicurarti che le best practice siano in atto, prevenendo così futuri mal di testa. Mira a ridurre il sovraccarico cognitivo che si affronta quando si opera un cluster Kubernetes in ambiente reale. Inoltre, se il tuo cluster utilizza un metric-server, segnala potenziali allocazioni eccessive/insufficienti di risorse e tenta di avvisarti nel caso in cui il tuo cluster esaurisca la capacità.

Popeye è uno strumento di sola lettura, non altera in alcun modo le tue risorse Kubernetes!




Go Report Card codebeat badge release license Docker Repository on Quay GitHub stars Releases


Screenshot

Console

JSON

HTML

Puoi esportare il report di scansione in HTML.

Dashboard Grafana

Popeye pubblica metriche Prometheus. Abbiamo fornito un dashboard Popeye di esempio per iniziare in questo repository.


Installazione

Popeye è disponibile su piattaforme Linux, OSX e Windows.

  • I binari per Linux, Windows e Mac sono disponibili come tarball nella pagina release.

  • Per OSX/Unit utilizzando Homebrew/LinuxBrew ```shell brew install derailed/popeye/popeye

    root@kitploit:~
  • Usando go install

    root@kitploit:~
    go install github.com/derailed/popeye@latest
    
  • Compilazione dal sorgente Popeye è stato costruito con go 1.21+. Per compilare Popeye dal sorgente devi:

    1. Clonare il repository

    2. Aggiungere il seguente comando nel file go.mod

      root@kitploit:~
      replace (
        github.com/derailed/popeye => MY_POPEYE_CLONED_GIT_REPO
      )
      
    3. Compilare ed eseguire l'eseguibile

      root@kitploit:~
      go run main.go
      

    Ricetta veloce per gli impazienti: ```shell

    Clone outside of GOPATH

    git clone https://github.com/derailed/popeye cd popeye

    Build and install

    make build

    Run

    popeye

    root@kitploit:~

Controlli PreFlight

  • Popeye utilizza la modalità terminale a 256 colori. Su `Nix sistema assicurati che TERM sia impostato di conseguenza.

    root@kitploit:~
    export TERM=xterm-256color
    

La Riga di Comando

Puoi usare Popeye a tutto campo o utilizzando un config yaml spinach per regolare i tuoi linters. I dettagli sul file di configurazione di Popeye sono qui sotto.```shell

Dump version info and logs location

popeye version

Popeye a cluster using your current kubeconfig environment.

NOTE! This will run Popeye in the context namespace if set or like kubectl will use the default namespace

popeye

Run Popeye in the fred namespace

popeye -n fred

Run Popeye in all namespaces

popeye -A

Run Popeye uses a spinach config file of course! aka spinachyaml!

popeye -f spinach.yaml

Popeye a cluster using a kubeconfig context.

popeye --context olive

Run Popeye with specific linters and log to the console

popeye -n ns1 -s pod,svc --logs none

Run Popeye for a given namespace in a given log file and debug logs

popeye -n ns1 --logs /tmp/fred.log -v4

Stuck?

popeye help

root@kitploit:~
---

## Linters

Popeye scansiona il tuo cluster per individuare best practice e potenziali problemi.
Attualmente, Popeye esamina solo un determinato insieme di risorse Kubernetes curate.
Altre arriveranno presto!
Speriamo che gli amici di Kubernetes collaborino per rendere Popeye ancora migliore.

L'obiettivo dei linter è individuare configurazioni errate, come discrepanze di porte, risorse inutilizzate o morte, utilizzo delle metriche, probe, immagini dei container, regole RBAC, risorse nude, ecc...

Popeye non è un altro strumento di analisi statica. Esegue e ispeziona le risorse Kubernetes su cluster live e analizza le risorse così come sono in produzione!

Ecco un elenco di alcuni dei linter disponibili:

|    | Resource                | Linters                                                                 | Aliases    |
|----|-------------------------|-------------------------------------------------------------------------|------------|
| 🛀 | Node                    |                                                                         | no         |
|    |                         | Condizioni, ad es. non pronto, memoria/disco esauriti, rete, pids, ecc.            |            |
|    |                         | Tolleranze dei pod che fanno riferimento ai taint dei nodi                                 |            |
|    |                         | Metriche di utilizzo CPU/MEM, scatta se supera i limiti (default 80% CPU/MEM) |            |
| 🛀 | Namespace               |                                                                         | ns         |
|    |                         | Inattivo                                                                |            |
|    |                         | Namespace morti                                                         |            |
| 🛀 | Pod                     |                                                                         | po         |
|    |                         | Stato del pod                                                              |            |
|    |                         | Stati dei container                                                     |            |
|    |                         | Presenza del ServiceAccount                                                 |            |
|    |                         | CPU/MEM sui container oltre un limite impostato (default 80% CPU/MEM)    |            |
|    |                         | Immagine del container senza tag                                            |            |
|    |                         | Immagine del container che usa il tag `latest`                                      |            |
|    |                         | Presenza di richieste/limiti delle risorse                                       |            |
|    |                         | Presenza di probe di liveness/readiness                                      |            |
|    |                         | Porte nominate e loro riferimenti                                        |            |
| 🛀 | Service                 |                                                                         | svc        |
|    |                         | Presenza di endpoint                                                      |            |
|    |                         | Etichette dei pod corrispondenti                                            |            |
|    |                         | Porte nominate e loro riferimenti                                        |            |
| 🛀 | ServiceAccount          |                                                                         | sa         |
|    |                         | Inutilizzate, rileva SA potenzialmente inutilizzate                                  |            |
| 🛀 | Secrets                 |                                                                         | sec        |
|    |                         | Inutilizzati, rileva segreti potenzialmente inutilizzati o chiavi associate           |            |
| 🛀 | ConfigMap               |                                                                         | cm         |
|    |                         | Inutilizzate, rileva cm potenzialmente inutilizzate o chiavi associate                |            |
| 🛀 | Deployment              |                                                                         | dp, deploy |
|    |                         | Inutilizzati, validazione del template del pod, utilizzo delle risorse                   |            |
| 🛀 | StatefulSet             |                                                                         | sts        |
|    |                         | Inutilizzati, validazione del template del pod, utilizzo delle risorse                    |            |
| 🛀 | DaemonSet               |                                                                         | ds         |
|    |                         | Inutilizzati, validazione del template del pod, utilizzo delle risorse                    |            |
| 🛀 | PersistentVolume        |                                                                         | pv         |
|    |                         | Inutilizzato, controlla se il volume è legato o errore di volume                              |            |
| 🛀 | PersistentVolumeClaim   |                                                                         | pvc        |
|    |                         | Inutilizzato, controlla se è legato o errore di montaggio volume                             |            |
| 🛀 | HorizontalPodAutoscaler |                                                                         | hpa        |
|    |                         | Inutilizzato, Utilizzo, Controlli Max burst                                   |            |
| 🛀 | PodDisruptionBudget     |                                                                         |            |
|    |                         | Inutilizzato, Controlla configurazione minAvailable                                | pdb        |
| 🛀 | ClusterRole             |                                                                         |            |
|    |                         | Inutilizzato                                                                  | cr         |
| 🛀 | ClusterRoleBinding      |                                                                         |            |
|    |                         | Inutilizzato                                                                  | crb        |
| 🛀 | Role                    |                                                                         |            |
|    |                         | Inutilizzato                                                                  | ro         |
| 🛀 | RoleBinding             |                                                                         |            |
|    |                         | Inutilizzato                                                                  | rb         |
| 🛀 | Ingress                 |                                                                         |            |
|    |                         | Valido                                                                   | ing        |
| 🛀 | NetworkPolicy           |                                                                         |            |
|    |                         | Valido, Obsoleto, Protetto                                                   | np         |
| 🛀 | PodSecurityPolicy       |                                                                         |            |
|    |                         | Valido                                                                   | psp        |
| 🛀 | Cronjob                 |                                                                         |            |
|    |                         | Valido, Sospeso, Esegue                                                  | cj         |
| 🛀 | Job                     |                                                                         |            |
|    |                         | Controlli dei pod                                                              | job        |
| 🛀 | GatewayClass            |                                                                         |            |
|    |                         | Valido, Inutilizzato                                                           | gwc        |
| 🛀 | Gateway                 |                                                                         |            |
|    |                         | Valido, Inutilizzato                                                           | gw         |
| 🛀 | HTTPRoute               |                                                                         |            |
|    |                         | Valido, Inutilizzato                                                           | gwr        |

Puoi anche vedere la [lista completa dei codici](https://github.com/derailed/popeye/blob/HEAD/docs/codes.md)

---

## Salvataggio delle scansioni

Per salvare il report di Popeye in un file, passa il flag `--save` al comando.
Di default creerà una directory tmp e memorizzerà il report di scansione lì.
Il percorso della directory tmp verrà stampato su STDOUT.
Se hai bisogno di specificare la directory di output per il report, puoi usare questa variabile d'ambiente `POPEYE_REPORT_DIR`. Il percorso finale sarà <POPEYE_REPORT_DIR>/<cluster>/<context>.
Di default, il nome del file di output segue il seguente formato: `lint_<cluster-name>_<time-UnixNano>.<output-extension>` (ad es.: "lint-mycluster-1594019782530851873.html").
Se vuoi anche specificare il nome del file di output per il report, puoi passare il flag `--output-file` con il nome del file che desideri come parametro.

Esempio per salvare il report nella directory di lavoro:```shell
POPEYE_REPORT_DIR=$(pwd) popeye --save

Esempio per salvare il report nella directory di lavoro in formato HTML con il nome "report.html" :```shell POPEYE_REPORT_DIR=$(pwd) popeye --save --out html --output-file report.html

root@kitploit:~
### Salva in archiviazione oggetti S3

In alternativa, puoi inviare i report generati a un archivio oggetti AWS S3 o Minio fornendo il flag `--s3-bucket`.
Per i parametri devi fornire il nome del bucket S3 in cui desideri salvare il report.
Per salvare il report in una sottodirectory del bucket, fornisci il parametro bucket come `bucket/path/to/report`.

Esempio per salvare il report su S3:```shell
# AWS S3
# NOTE: You must provide env vars for AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
# This will create bucket my-popeye if not present and upload a popeye json report to /fred/scan.json
popeye --s3-bucket s3://my-popeye/fred --s3-region us-west-2 --out json --save --output-file scan.json

# Minio Object Store
# NOTE: You must provide env vars for AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY and a minio server URI
# This will create bucket my-popeye if not present and upload a popeye json report to /fred/scan.json
popeye --s3-bucket minio://my-popeye/fred --s3-region us-east --s3-endpoint localhost:9000 --out json --save --output-file scan.json

Supporto Docker

Puoi anche eseguire Popeye in un container eseguendolo direttamente dal repository docker ufficiale su Quay. Il comando predefinito quando si esegue il container docker è popeye, quindi puoi personalizzare la scansione utilizzando i flag cli supportati. Per accedere ai tuoi cluster, mappa la directory kubeconfig locale nel container con -v :```shell docker run --rm -it -v $HOME/.kube:/root/.kube quay.io/derailed/popeye --context foo -n bar

root@kitploit:~
Eseguendo il comando docker sopra con `--rm` significa che il container viene eliminato quando Popeye esce.
Quando usi `--save`, scrive il report in /tmp nel container e poi elimina il container quando popeye esce, il che significa che perdi l'output ;(
Per aggirare questo problema, mappa /tmp al /tmp del container.

> NOTA: Puoi sovrascrivere la posizione predefinita della directory di output impostando la variabile d'ambiente `POPEYE_REPORT_DIR`.```shell
docker run --rm -it \
  -v $HOME/.kube:/root/.kube \
  -e POPEYE_REPORT_DIR=/tmp/popeye \
  -v /tmp:/tmp \
  quay.io/derailed/popeye --context foo -n bar --save --output-file my_report.txt

# Docker has exited, and the container has been deleted, but the file
# is in your /tmp directory because you mapped it into the container
cat /tmp/popeye/my_report.txt
<snip>

Formati di Output

Popeye può generare report di linting in vari formati. Puoi utilizzare l'opzione CLI -o e scegliere il tuo veleno.


La Regina Prom!

Popeye può pubblicare metriche Prometheus direttamente da una scansione. Dovrai avere accesso a un pushgateway Prometheus e alle credenziali.

NOTA! Questi sono soggetti a modifiche in base al feedback e all'uso degli utenti!!

Per pubblicare le metriche, devono essere presenti ulteriori argomenti CLI.```shell

Run popeye using console output and push prom metrics.

popeye --push-gtwy-url http://localhost:9091

Run popeye using a saved html output and push prom metrics.

NOTE! When scan are dump to disk, popeye_cluster_score metric below includes

an additional label to track the persisted artifact so you can aggregate with the scan

Don't think it's the correct approach as this changes the metric cardinality on every push.

Hence open for suggestions here??

popeye -o html --save --push-gtwy-url http://localhost:9091

root@kitploit:~
### Metrica PopProm

Le seguenti metriche prometheus di Popeye vengono pubblicate:

* `popeye_severity_total` [gauge] traccia vari conteggi in base alla gravità.
* `popeye_code_total` [gauge] traccia conteggi per codice del linter di Popeye.
* `popeye_linter_tally_total` [gauge] traccia conteggi per linter.
* `popeye_report_errors_total` [gauge] traccia totali errori di scansione.
* `popeye_cluster_score` [gauge] traccia punteggi del report di scansione.

### PopGraf

Un esempio di dashboard [Grafana](https://grafana.com) si trova in questo repo per iniziare.

> NOTA! Lavoro in corso, sentiti libero di contribuire se hai competenze in UX/grafana/promql.

---

## SpinachYAML

Un file di configurazione YAML di tipo spinach può essere specificato tramite l'opzione `-f` per configurare ulteriormente i linter. Questo file può specificare la soglia di utilizzo del container e configurazioni specifiche del linter, così come risorse e codici che saranno esclusi dal linter.

> NOTA! Questo file cambierà man mano che Popeye matura!

Sotto la chiave `excludes` puoi configurare di saltare determinate risorse o codici del linter. I linter di Popeye prendono il nome dalle risorse k8s. Ad esempio il linter PodDisruptionBudget si chiama `poddisruptionbudgets` e scansiona `policy/v1/poddisruptionbudgets`.

> NOTA! Il linter usa la forma plurale del `kind` della risorsa e tutto è scritto in minuscolo.

Un nome completo della risorsa (noto come `FQN`) è usato nel file spinach per identificare un nome di risorsa, cioè `namespace/resource_name`.

Ad esempio, il FQN di un pod chiamato `fred-1234` nel namespace `blee` sarà `blee/fred-1234`. Questo permette di differenziare `fred/p1` e `blee/p1`. Per le risorse a livello di cluster, il FQN è equivalente al nome. Le regole di esclusione possono essere un semplice match di stringa o un'espressione regolare. In quest'ultimo caso l'espressione regolare deve essere specificata tramite il prefisso `rx:`.

> NOTA! Per favore, fai attenzione con le tue regex poiché più risorse del previsto potrebbero essere escluse dal report con una regola regex *permissiva*.
> Quando le risorse del tuo cluster cambiano, ciò potrebbe portare a scansioni sub-ottimali.
> Pertanto raccomandiamo di eseguire Popeye `wide open` di tanto in tanto per assicurarti di cogliere eventuali nuovi problemi che potrebbero essere sorti nei tuoi cluster…

Ecco un file spinach di esempio così come si presenta in questa release. C'è un file spinach più completo basato su eks e aks in questo repo sotto `spinach`. (BTW: per i nuovi arrivati nel progetto, potrebbe essere un ottimo modo per contribuire aggiungendo PR con file spinach specifici per cluster...)```yaml
# spinach.yaml

# A Popeye sample configuration file
popeye:
  # Checks resources against reported metrics usage.
  # If over/under these thresholds a linter warning will be issued.
  # Your cluster must run a metrics-server for these to take place!
  allocations:
    cpu:
      underPercUtilization: 200 # Checks if cpu is under allocated by more than 200% at current load.
      overPercUtilization: 50   # Checks if cpu is over allocated by more than 50% at current load.
    memory:
      underPercUtilization: 200 # Checks if mem is under allocated by more than 200% at current load.
      overPercUtilization: 50   # Checks if mem is over allocated by more than 50% usage at current load.

  # Excludes excludes certain resources from Popeye scans
  excludes:
    # [NEW!] Global exclude resources and codes globally of any linters.
    global:
      fqns: [rx:^kube-] # => excludes all resources in kube-system, kube-public, etc..
      # [NEW!] Exclude resources for all linters matching these labels
      labels:
        app: [bozo, bono] #=> exclude any resources with labels matching either app=bozo or app=bono
      # [NEW!] Exclude resources for all linters matching these annotations
      annotations:
        fred: [blee, duh] # => exclude any resources with annotations matching either fred=blee or fred=duh
      # [NEW!] Exclude scan codes globally via straight codes or regex!
      codes: ["300", "206", "rx:^41"] # => exclude issue codes 300, 206, 410, 415 (Note: regex match!)

    # [NEW!] Configure individual resource linters
    linters:
      # Configure the namespaces linter for v1/namespaces
      namespaces:
        # [NEW!] Exclude these codes for all namespace resources straight up or via regex.
        codes: ["100", "rx:^22"] # => exclude codes 100, 220, 225, ...
        # [NEW!] Excludes specific namespaces from the scan
        instances:
          - fqns: [kube-public, kube-system] # => skip ns kube-pulbic and kube-system
          - fqns: [blee-ns]
            codes: [106] # => skip code 106 for namespace blee-ns

      # Skip secrets in namespace bozo.
      secrets:
        instances:
          - fqns: [rx:^bozo]

      # Configure the pods linter for v1/pods.
      pods:
        instances:
          # [NEW!] exclude all pods matching these labels.
          - labels:
              app: [fred,blee] # Exclude codes 102, 105 for any pods with labels app=fred or app=blee
            codes: [102, 105]

  resources:
    # Configure node resources.
    node:
      # Limits set a cpu/mem threshold in % ie if cpu|mem > limit a lint warning is triggered.
      limits:
        # CPU checks if current CPU utilization on a node is greater than 90%.
        cpu:    90
        # Memory checks if current Memory utilization on a node is greater than 80%.
        memory: 80

    # Configure pod resources
    pod:
      # Restarts check the restarts count and triggers a lint warning if above threshold.
      restarts: 3
      # Check container resource utilization in percent.
      # Issues a lint warning if about these threshold.
      limits:
        cpu:    80
        memory: 75


  # [New!] overrides code severity
  overrides:
    # Code specifies a custom severity level ie critical=3, warn=2, info=1
    - code: 206
      severity: 1

  # Configure a list of allowed registries to pull images from.
  # Any resources not using the following registries will be flagged!
  registries:
    - quay.io
    - docker.io

In Cluster

Popeye è containerizzato e può essere eseguito direttamente nei tuoi cluster Kubernetes come job una tantum o CronJob.

Ecco un esempio di configurazione, modificalo secondo le tue esigenze/preferenze. I manifest per questa configurazione si trovano nella directory k8s in questo repository.```shell kubectl apply -f k8s/popeye

root@kitploit:~
INGRESSO:```yaml
---
apiVersion: v1
kind: Namespace
metadata:
  name:      popeye
---
apiVersion: batch/v1
kind: CronJob
metadata:
  name:      popeye
  namespace: popeye
spec:
  schedule: "* */1 * * *" # Fire off Popeye once an hour
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        spec:
          serviceAccountName: popeye
          restartPolicy: Never
          containers:
            - name: popeye
              image: derailed/popeye:vX.Y.Z
              imagePullPolicy: IfNotPresent
              args:
                - -o
                - yaml
                - --force-exit-zero
              resources:
                limits:
                  cpu:    500m
                  memory: 100Mi

The --force-exit-zero dovrebbe essere impostata. Altrimenti, i pod finiranno in uno stato di errore.

NOTA! Popeye termina con un codice di errore diverso da zero se vengono rilevati errori di lint.

Popeye ha il controllo del tuo RBAC!

Affinché Popeye possa svolgere il suo lavoro, l'utente autenticato deve avere sufficiente potenza RBAC per ottenere/elencare le risorse menzionate sopra.

Esempi di regole RBAC per Popeye (si prega di notare che sono soggette a modifiche.)

NOTA! Si prega di rivedere e regolare in base alle politiche del proprio cluster.```yaml


Popeye ServiceAccount.

apiVersion: v1 kind: ServiceAccount metadata: name: popeye namespace: popeye


Popeye needs get/list access on the following Kubernetes resources.

apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: popeye rules:

  • apiGroups: [""] resources:
    • configmaps
    • endpoints
    • namespaces
    • nodes
    • persistentvolumes
    • persistentvolumeclaims
    • pods
    • secrets
    • serviceaccounts
    • services verbs: ["get", "list"]
  • apiGroups: ["apps"] resources:
    • daemonsets
    • deployments
    • statefulsets
    • replicasets verbs: ["get", "list"]
  • apiGroups: ["networking.k8s.io"] resources:
    • ingresses
    • networkpolicies verbs: ["get", "list"]
  • apiGroups: ["batch.k8s.io"] resources:
    • cronjobs
    • jobs verbs: ["get", "list"]
  • apiGroups: ["gateway.networking.k8s.io"] resources:
    • gateway-classes
    • gateways
    • httproutes verbs: ["get", "list"]
  • apiGroups: ["autoscaling"] resources:
    • horizontalpodautoscalers verbs: ["get", "list"]
  • apiGroups: ["policy"] resources:
    • poddisruptionbudgets
    • podsecuritypolicies verbs: ["get", "list"]
  • apiGroups: ["rbac.authorization.k8s.io"] resources:
    • clusterroles
    • clusterrolebindings
    • roles
    • rolebindings verbs: ["get", "list"]
  • apiGroups: ["metrics.k8s.io"] resources:
    • pods
    • nodes verbs: ["get", "list"]

Binds Popeye to this ClusterRole.

apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: popeye subjects:

  • kind: ServiceAccount name: popeye namespace: popeye roleRef: kind: ClusterRole name: popeye apiGroup: rbac.authorization.k8s.io
root@kitploit:~
---

## Morfologia del Report

Il report di lint restituisce ogni gruppo di risorse scansionato e i loro potenziali problemi.
Il report è codificato a colori/emoji in termini di livelli di severità del linter:

| Livello | Icona | Jurassic | Colore    | Descrizione         |
|---------|-------|----------|-----------|---------------------|
| Ok      | ✅    | OK       | Verde     | Felice!             |
| Info    | 🔊    | I        | BluVerde  | Info                |
| Avviso  | 😱    | W        | Giallo    | Potenziale Problema |
| Errore  | 💥    | E        | Rosso     | Azione richiesta    |

La sezione di intestazione per ogni risorsa Kubernetes scansionata fornisce un conteggio riepilogativo per ciascuna delle categorie sopra indicate.

La sezione Riepilogo fornisce un **Punteggio Popeye** basato sulla passata del linter sul cluster dato.

---

## Problemi Noti

Questa prima versione è fragile. Popeye molto probabilmente esploderà quando…

* Stai eseguendo versioni precedenti di Kubernetes. Popeye funziona meglio con Kubernetes 1.25.X.
* Non hai abbastanza potenza RBAC per gestire il tuo cluster (vedi sezione RBAC)

---

## Dichiarazione di non responsabilità

Questo è un work in progress! Se c'è abbastanza interesse nella comunità di Kubernetes, lo miglioreremo in base ai vostri suggerimenti/contributi. Inoltre, se apprezzate questo sforzo, fatecelo sapere!

---

## ATTA Ragazze/Ragazzi!

Popeye si basa su molti progetti e librerie open source. Il nostro *sincero* ringraziamento a tutti i contributori OSS che lavorano notti e weekend per rendere questo progetto realtà!

### Informazioni di Contatto

1. **Email**:   [email protected]
2. **Twitter**: [@kitesurfer](https://twitter.com/kitesurfer?lang=en)

---

<img src="https://raw.githubusercontent.com/derailed/popeye/master/assets/imhotep_logo.png" width="32" height="auto"/>  &nbsp;© 2025 Imhotep Software LLC.
Tutti i materiali sono concessi in licenza sotto [Apache v2.0](http://www.apache.org/licenses/LICENSE-2.0)
Scarica lo strumento
FormatoDescrizionePredefinitoCrediti
standardL'output completo con icone e colorisì
jurassicNiente icone o colori come nel 1979
yamlCome YAML
htmlCome HTML
jsonCome JSON
junitPer i malinconici di Java
prometheusGenera un report come metriche Prometheusdardanel
scoreRestituisce un singolo punteggio di linting del cluster (0-100)kabute