Skip to content

Repository files navigation

BoltDynamicInventory

A Bolt inventory generator for VMs on various providers including orbstack and vmpooler.

Prerequisites

System Dependencies

  • Ruby (version 2.7 or later)
  • nmap (required for VMPooler connectivity filtering). For example, brew install nmap
  • floaty (required for VMPooler). For example, gem install floaty.
  • bolt

Usage

Quick Start

This bolt_dynamic_inventory gem queries either VMPooler or Orbstack and generates a Bolt inventory. It can be used in 2 ways:

This repository also explains How to create a basic dynamic inventory plugin.

References

For a complete listing of various how-to guides and design decisions, see the documentation. The following list is a good place to start.

Getting Started

Provider Guides

Design Decisions

  • ADR-0001 - Extend this gem to be a bolt inventory dynamic plugin also
  • ADR-0002 - Configure bolt inventory with native ssh to keep things simple
  • ADR-0003 - Gather inventory metadata via the cli to keep things simple
  • ADR-0004 - Create dynamic inventory groups based on hostname regex patterns
  • ADR-0005 - Add 'role' fact that matches the group name making puppet switching easier
  • ADR-0006 - Extend the plugin to handle not only orbstack but vmpooler as well
  • ADR-0007 - Use nmap SSH port scan for VMPooler VM connectivity filtering
  • ADR-0008 - Query both ABS and vmpooler services to find all active VMs
  • ADR-0009 - Cache VM data with smart TTL-based invalidation
  • ADR-0010 - Surface unavailable VMs in a dedicated group instead of silently dropping

How-To Guides

About

Generate bolt inventory for orbstack or vmpooler

Resources

Code of conduct

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages