Skip to content
example42Public

About

Web UI for classic infrastructure: Puppet, Bolt, Ansible, SSH and more

Topics

Resources

Stars

22 stars

Watchers

1 watching

Forks

Latest commit

 

History

389 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pabawi

Pabawi Logo

Classic Infrastructures Command & Control Awesomeness

A web UI for infrastructure management, inventory, and remote execution across Puppet, Bolt, Ansible, PuppetDB, Hiera, SSH, Checkmk, Proxmox, AWS, and Azure. One interface for running commands, browsing inventory and facts, provisioning VMs, and tracking operations. Everything it sees is also exposed through an embedded MCP server for AI agents.

License GitHub release Docker Image GitHub Stars

Sponsored by AMS-IX

Who it's for

  • Sysadmins and DevOps teams managing physical servers and VMs with Puppet, Bolt, Ansible, or SSH
  • Puppet Open Source users who want a web UI without Puppet Enterprise
  • Mixed-tool shops running both Puppet and Ansible, who want one interface instead of two
  • Homelabbers who just want a web frontend for their servers (SSH-only works fine)

If you manage "classic infrastructure" — bare metal, VMs, Kubernetes nodes — Pabawi is built for you.

What it does

  • Inventory & facts from every connected source, merged and deduplicated across integrations
  • Execution — ad-hoc commands, Bolt tasks, package management, with a security whitelist, live streaming output, and history/re-run
  • Provisioning — VM/container lifecycle on Proxmox, AWS EC2, and Azure
  • Puppet observability — reports, catalog inspection with cross-environment diff, resource event tracking, Hiera data browsing
  • Tracking — per-node and global journal, audit trail, RBAC with multiple users
  • AI-ready — embedded MCP server exposing inventory, facts, reports, and catalogs read-only to LLM clients

See the Screenshots, a sample MCP session recording, the User Guide for full feature walkthroughs, and Architecture for how it's built.

Installing

Requires Node.js 24 LTS and npm 11 (or a container engine for Docker). Integration CLIs (Bolt, Ansible, Puppet/OpenVox agent) are only needed for the integrations you enable — see per-integration setup guides.

Quick start (interactive setup script — checks prerequisites, generates backend/.env, installs dependencies, starts the app):

git clone https://github.com/example42/pabawi
cd pabawi
./scripts/setup.sh

Manual setup:

git clone https://github.com/example42/pabawi
cd pabawi
npm run install:all               # installs deps, rebuilds native modules
cp backend/.env.example backend/.env   # then edit backend/.env
npm run dev:fullstack             # build + serve everything on port 3000

First admin enrollment requires a bootstrap token — see Initial Setup before exposing a fresh install.

Docker (core image):

mkdir pabawi && cd pabawi
vi .env   # paths are relative to the container
docker run -d --name pabawi --user "$(id -u):1001" \
  -p 127.0.0.1:3000:3000 \
  -v "$(pwd)/pabawi:/pabawi" --env-file ".env" \
  example42/pabawi:latest

The core image contains the Pabawi application only. Use example42/pabawi:batteries when Bolt, Ansible, Puppet/OpenVox, or OpenSSH commands must run inside the container.

Full instructions and Kubernetes/Helm deployment: Docker Guide, Kubernetes Guide.

Upgrading: git fetch --tags && git checkout v<VERSION> && npm run install:all && npm run build (or docker pull/helm upgrade — see the Upgrade Guide). Migrations run automatically; back up your database first and check the CHANGELOG.

Configuring

Everything lives in backend/.env — generated by the setup script, templated at backend/.env.example, or assembled piece by piece from the in-app per-integration setup wizards. All integrations are optional; enable only what you use.

Area Variables
Core PORT, HOST, LOG_LEVEL
Auth JWT_SECRET, PABAWI_BOOTSTRAP_TOKEN
Integrations BOLT_*, PUPPETDB_*, PUPPETSERVER_*, HIERA_*, ANSIBLE_*, SSH_*, CHECKMK_*, PROXMOX_*, AWS_*, AZURE_*
Security COMMAND_WHITELIST*, CONCURRENT_EXECUTION_LIMIT
MCP MCP_ENABLED

Full reference: Configuration Guide. Architecture and code layout: Architecture.

Integrations

Bolt · Ansible · SSH · PuppetDB · Puppetserver · Hiera · Checkmk · Proxmox · AWS · Azure · Entra ID SSO

The usuals

About

Web UI for classic infrastructure: Puppet, Bolt, Ansible, SSH and more

Topics

Resources

Stars

22 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages