Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/zeroecco/holos
Безопасность облачной инфраструктурыУтилиты общего назначенияСкриптинг и автоматизацияВиртуализация для безопасностиDevSecOpsАппаратная Безопасность
GitHubzeroecco/holos

holos

Декларативный инструмент оркестрации виртуальных машин KVM/QEMU, использующий YAML-файлы компоновки. Управляет стеками из нескольких ВМ с cloud-init, SSH, пробросом PCI и проверкой образов без libvirt или XML.

Репозиторий
14457 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
holos

Docker compose для KVM. Определяйте стеки из нескольких ВМ в одном YAML-файле. Без libvirt, без XML, без распределённой плоскости управления.

Сайт и документация: https://zeroecco.github.io/holos/

Примитив — это ВМ, а не контейнер. Каждый экземпляр рабочей нагрузки получает собственные границы ядра, слой qcow2, seed cloud-init и сгенерированный SSH-доступ.

Быстрый старт

Требуется Linux + /dev/kvm. Сборки macOS выполняют автономные команды, такие как validate, import, images и pull, но up и run требуют хоста KVM.

Одна одноразовая ВМ, без файла compose:

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

Стек из одного сервиса, который можно проверить через curl. Сохраните как 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

Это настоящая ВМ, загружающая облачный образ, устанавливающая пакет, записывающая конфигурацию и перенаправляющая порт хоста.

Установка

Готовые бинарные файлы прикреплены к каждому релизу на 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

Страницы релизов включают контрольные суммы SHA-256 и подтверждения артефактов GitHub для подписанного происхождения. Проверьте оба перед установкой бинарных файлов на рабочих хостах.

Или соберите из исходников:

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]
                                     start all services
holos run [flags] <image> [-- cmd...] launch a one-off VM
holos down <project>                 stop and remove a project
holos ps [-f holos.yaml]             list running projects
holos start [-f holos.yaml] [svc]    start a stopped service or all services
holos stop [-f holos.yaml] [svc]     stop a service or all services
holos console <project> [<inst>]     attach serial console
holos exec <project> [<inst>] [-- cmd...]
                                     SSH into an instance
holos logs <project> [<svc|inst>]    show console logs
holos inspect [-f holos.yaml] [project|instance]
                                     inspect state as JSON
holos validate [-f holos.yaml]       validate compose file (--capacity/--network)
holos pull <image>                   pull a cloud image
holos verify <image>|--all           verify cached image checksums
holos images                         list available images
holos images lock -f holos.yaml [-o holos.images.lock]
                                     write project image lockfile
holos snapshots {create|list|rm|restore|export} ... manage root snapshots
holos volumes [-f holos.yaml] [--json]
                                     list named volumes
holos volumes rm <project> <volume>  remove a detached named volume
holos volumes export <project> <volume> <path>
                                     export a detached named volume
holos volumes snapshot <project> <volume> <snapshot>
                                     snapshot a detached named volume
holos volumes snapshots <project> <volume>
                                     list volume snapshots
holos volumes snapshot-rm <project> <volume> <snapshot>
                                     remove a volume snapshot
holos volumes snapshot-restore <project> <volume> <snapshot>
                                     restore a volume snapshot
holos volumes snapshot-export <project> <volume> <snapshot> <path>
                                     export a volume snapshot
holos volumes resize [--shrink] <project> <volume> <size>
                                     resize a detached named volume
holos devices [--gpu]                list PCI devices and IOMMU groups
holos completion <bash|zsh|fish>      print shell completion script
holos doctor [--json]                check host dependencies
holos install [-f holos.yaml] [--system] [--enable]
                                     install a systemd unit
holos uninstall [-f holos.yaml] [--system]
                                     remove the systemd unit
holos import [vm...] [--all] [--xml file] [--connect uri] [-o file]
                                     convert virsh VMs into holos.yaml

Документация

  • Сайт: целевая страница и сгенерированная документация.
  • Руководство по CLI: одноразовые ВМ, exec, установка systemd, импорт virsh и doctor.
  • Файл compose: сервисы, тома, проверки здоровья, сеть, проброс PCI, подготовка с помощью Dockerfile и настройки по умолчанию.
  • JSON-схема: автодополнение и проверка для holos.yaml.
  • Примеры: запускаемые и шаблонные стеки с пояснениями в стиле README.
  • Недостающие функции: приоритетные пробелы, соответствующие цели holos — compose для KVM на одном хосте.
  • Разработка: сборка, тестирование, требования к хосту и процесс выпуска.
  • Политика безопасности: поддерживаемые версии и приватное уведомление.
  • Модель угроз / усиление защиты: проверка образов, разрешения состояний, блокировки и эксплуатационные рекомендации.
  • Участие: сборка, тестирование, стиль и соглашения по PR.

Примеры

Начните с небольшого примера nginx:

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

Директория примеров также включает подготовку с помощью Dockerfile, проброс GPU и многосервисный стек, показывающий depends_on, сгенерированную конфигурацию и реплики.

Требования к хосту

  • Linux с /dev/kvm
  • qemu-system-x86_64
  • qemu-img
  • Один из cloud-localds, genisoimage, mkisofs или xorriso
  • Прошивка OVMF / edk2-ovmf для UEFI или проброса PCI
  • ssh для holos exec и проверок здоровья

Запустите holos doctor, чтобы проверить хост.

Устранение неполадок

SSH сбрасывается при первой загрузке

kex_exchange_identification: read: Connection reset by peer обычно означает, что cloud-init всё ещё перегенерирует ключи хоста и перезапускает sshd. holos exec по умолчанию ждет до 60 секунд, но очень медленные первые загрузки могут потребовать повторной попытки или holos exec -w 5m <project>.

Консоль показывает Login incorrect

Последовательная консоль может попытаться выполнить автоматический вход до того, как cloud-init создаст пользователя. Дождитесь cloud-init ... finished в журнале консоли, затем используйте holos exec. Облачные образы обычно не поставляются с паролем консоли, и holos его не добавляет.

up не работает на macOS

KVM — это функция ядра Linux. Бинарные файлы macOS полезны для разработки и автономных команд, но holos up и holos run должны выполняться на Linux-хосте с KVM.

Нецелевые задачи

holos — это не Kubernetes. Он не пытается решить задачи кластеризации на нескольких хостах, живой миграции, сервисных сеток, оверлейных сетей, планировщиков, CRD или кворума плоскости управления.

Цель — сделать KVM работоспособным для одних хостовых стеков без импорта операционной структуры Kubernetes.

Лицензия

Лицензировано по Apache License, Version 2.0. См. NOTICE для указания авторства.

Скачать инструмент