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
holos — Strumento dichiarativo di orchestrazione di VM KVM/QEMU utilizzando file compose YAML. Gestisce stack multi-VM con cloud-init, SSH, PCI passthrough e verifica delle immagini senza libvirt o XML. | Kitploit
Strumenti/GitHubGitHub/zeroecco/holos
Sicurezza dell'Infrastruttura CloudUtilità GenericheScripting e AutomazioneVirtualizzazione per la SicurezzaDevSecOpsSicurezza Hardware
GitHubzeroecco/holos

holos

Strumento dichiarativo di orchestrazione di VM KVM/QEMU utilizzando file compose YAML. Gestisce stack multi-VM con cloud-init, SSH, PCI passthrough e verifica delle immagini senza libvirt o XML.

Vedi Repository
14457 giorni 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
holos

Docker compose per KVM. Definisci stack multi-VM in un unico file YAML. Niente libvirt, niente XML, nessun piano di controllo distribuito.

Sito web e documentazione: https://zeroecco.github.io/holos/

La primitiva è una VM, non un contenitore. Ogni istanza di carico di lavoro ha il proprio confine del kernel, overlay qcow2, seed cloud-init e accesso SSH generato.

Quick Start

Richiede Linux + /dev/kvm. Le build macOS eseguono comandi offline come validate, import, images e pull, ma up e run necessitano di un host KVM.

Una VM usa e getta, nessun file compose:

root@kitploit:~
holos run alpine
holos exec <printed-project-name>
holos down <printed-project-name>

Uno stack a servizio singolo che puoi curl. Salva come holos.yaml:

root@kitploit:~
name: hello

services:
  web:
    image: ubuntu:noble
    ports:
      - "8080:80"
    cloud_init:
      packages:
        - nginx
      write_files:
        - path: /var/www/html/index.html
          content: "hello from holos\n"
      runcmd:
        - systemctl restart nginx
root@kitploit:~
holos up
curl localhost:8080
holos down hello

Questa è una vera VM che avvia un cloud image, installa un pacchetto, scrive configurazione e inoltra una porta host.

Installazione

I binari precompilati sono allegati a ogni release GitHub:

root@kitploit:~
TAG=v0.6.1
ASSET=holos_${TAG#v}_Linux_x86_64.tar.gz
BASE=https://github.com/zeroecco/holos/releases/download/$TAG
curl -LO $BASE/$ASSET
curl -LO $BASE/checksums.txt
grep " $ASSET$" checksums.txt | sha256sum -c -
gh attestation verify $ASSET --repo zeroecco/holos
sudo tar -xz -C /usr/local/bin -f $ASSET holos
holos version
holos doctor

Le pagine di release includono checksum SHA-256 e attestazioni di artefatti GitHub per una provenienza firmata. Verifica entrambi prima di installare i binari su host di produzione.

Oppure compila dai sorgenti:

root@kitploit:~
go build -o bin/holos ./cmd/holos
go test ./...
bin/holos doctor

CLI

root@kitploit:~
holos up [-f holos.yaml] [--locked] [--lockfile path] [--lock-timeout 5m|--no-wait]
                                     avvia tutti i servizi
holos run [flags] <image> [-- cmd...] avvia una VM singola
holos down <project>                 ferma e rimuovi un progetto
holos ps [-f holos.yaml]             elenca i progetti in esecuzione
holos start [-f holos.yaml] [svc]    avvia un servizio fermo o tutti i servizi
holos stop [-f holos.yaml] [svc]     ferma un servizio o tutti i servizi
holos console <project> [<inst>]     collega console seriale
holos exec <project> [<inst>] [-- cmd...]
                                     SSH in un'istanza
holos logs <project> [<svc|inst>]    mostra i log della console
holos inspect [-f holos.yaml] [project|instance]
                                     ispeziona lo stato come JSON
holos validate [-f holos.yaml]       valida il file compose (--capacity/--network)
holos pull <image>                   scarica un cloud image
holos verify <image>|--all           verifica i checksum delle immagini in cache
holos images                         elenca le immagini disponibili
holos images lock -f holos.yaml [-o holos.images.lock]
                                     scrivi il lockfile delle immagini del progetto
holos snapshots {create|list|rm|restore|export} ... gestisci snapshot root
holos volumes [-f holos.yaml] [--json]
                                     elenca i volumi nominati
holos volumes rm <project> <volume>  rimuovi un volume nominato distaccato
holos volumes export <project> <volume> <path>
                                     esporta un volume nominato distaccato
holos volumes snapshot <project> <volume> <snapshot>
                                     esegui snapshot di un volume nominato distaccato
holos volumes snapshots <project> <volume>
                                     elenca snapshot di un volume
holos volumes snapshot-rm <project> <volume> <snapshot>
                                     rimuovi uno snapshot di un volume
holos volumes snapshot-restore <project> <volume> <snapshot>
                                     ripristina uno snapshot di un volume
holos volumes snapshot-export <project> <volume> <snapshot> <path>
                                     esporta uno snapshot di un volume
holos volumes resize [--shrink] <project> <volume> <size>
                                     ridimensiona un volume nominato distaccato
holos devices [--gpu]                elenca dispositivi PCI e gruppi IOMMU
holos completion <bash|zsh|fish>      genera script di completamento shell
holos doctor [--json]                 verifica le dipendenze host
holos install [-f holos.yaml] [--system] [--enable]
                                     installa un'unità systemd
holos uninstall [-f holos.yaml] [--system]
                                     rimuovi l'unità systemd
holos import [vm...] [--all] [--xml file] [--connect uri] [-o file]
                                     converti VM virsh in holos.yaml

Documentazione

  • Sito web: pagina principale e documentazione renderizzata.
  • Guida CLI: VM ad hoc, exec, installazione systemd, importazione da virsh e doctor.
  • File compose: servizi, volumi, healthcheck, rete, passthrough PCI, provisioning con Dockerfile e impostazioni predefinite.
  • Schema JSON: completamento editor e validazione per holos.yaml.
  • Esempi: stack eseguibili e template con spiegazioni in stile README.
  • Funzionalità mancanti: lacune prioritarie che si adattano all'obiettivo KVM a host singolo di holos.
  • Sviluppo: build, test, requisiti host e processo di rilascio.
  • Politica di sicurezza: versioni supportate e segnalazione privata.
  • Modello di minaccia / hardening: verifica delle immagini, permessi di stato, lock e linee guida operative.
  • Contribuire: build, test, stile e convenzioni PR.

Esempi

Inizia con il piccolo esempio nginx:

root@kitploit:~
holos up -f examples/alpine-nginx/holos.yaml
curl localhost:8080
holos down alpine-nginx

La directory degli esempi include anche provisioning con Dockerfile, passthrough GPU e uno stack multi-servizio che mostra depends_on, configurazione generata e repliche.

Requisiti Host

  • Linux con /dev/kvm
  • qemu-system-x86_64
  • qemu-img
  • Uno tra cloud-localds, genisoimage, mkisofs o xorriso
  • Firmware OVMF / edk2-ovmf per UEFI o passthrough PCI
  • ssh per holos exec e healthcheck

Esegui holos doctor per controllare l'host.

Risoluzione dei problemi

SSH si resetta al primo avvio

kex_exchange_identification: read: Connection reset by peer di solito significa che cloud-init sta ancora rigenerando le chiavi host e riavviando sshd. holos exec attende fino a 60s per impostazione predefinita, ma i primi avvii molto lenti potrebbero richiedere un altro tentativo o holos exec -w 5m <project>.

La console mostra Login incorrect

La console seriale potrebbe tentare il login automatico prima che cloud-init crei l'utente. Attendi cloud-init ... finished nel log della console, quindi usa holos exec. Le cloud image generalmente non contengono una password per la console e holos non ne aggiunge una.

up fallisce su macOS

KVM è una funzionalità del kernel Linux. I binari macOS sono utili per la scrittura e i comandi offline, ma holos up e holos run devono essere eseguiti su un host KVM Linux.

Non-Obiettivi

holos non è Kubernetes. Non tenta di risolvere clustering multi-host, migrazione live, service mesh, reti overlay, scheduler, CRD o quorum del piano di controllo.

L'obiettivo è rendere KVM utilizzabile per stack a host singolo senza importare la forma operativa di Kubernetes.

Licenza

Concesso in licenza sotto [Apache License, Version 2.0](./LICENSE. Vedi NOTICE per le attribuzioni.

Scarica lo strumento