Skip to content

cvquesty/openvox-gui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

134 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

OpenVox GUI

Version 2.0.0-3 Alpha | Installation Guide | Update Guide | Troubleshooting

A user-friendly web interface for managing your Puppet infrastructure. Think of it as a control center for all your servers - you can see what's happening, fix problems, and make changes from one place.

License Python React Status

🎯 What is OpenVox GUI?

OpenVox GUI is like a dashboard for your car, but for your servers. If you use Puppet to manage your servers (and if you don't know what Puppet is, think of it as software that keeps all your servers configured correctly), then OpenVox GUI gives you a visual way to:

  • See what's happening - Which servers are healthy, which ones have problems
  • Find and fix issues - Click through to see exactly what went wrong
  • Make changes - Update configurations without typing commands
  • Run commands - Execute tasks on multiple servers at once

πŸ“Έ Screenshots

Dashboard Node Details Orchestration
Dashboard Node Details Orchestration

πŸš€ Quick Start

If you just want to get up and running quickly:

# Clone the repository
git clone https://github.com/cvquesty/openvox-gui.git
cd openvox-gui

# Run the installer (it will ask you questions)
sudo ./install.sh

# Open your web browser and go to:
# https://your-server-name:4567

That's it! For detailed installation instructions, see the Installation Guide.

πŸ“š Documentation

✨ Main Features

πŸ“Š Dashboard

See everything at a glance:

  • How many servers are running fine vs having problems
  • Recent activity and changes
  • System health indicators
  • Who's currently using the system

πŸ“‹ Detailed Reports

Click on any server to see:

  • What changed in the last update
  • Any errors or warnings
  • Performance metrics (how long things took)
  • Complete logs of what happened

πŸš€ Code Deployment

Deploy new configurations to your servers:

  • One button to update everything
  • Choose specific environments to update
  • See the results in real-time
  • Keep a history of all deployments

⚑ Orchestration (Running Commands)

Run commands on multiple servers at once:

  • Execute shell commands across your fleet
  • Run pre-built tasks and plans
  • See the output from each server
  • Save commonly used commands

🏷️ Node Classifier

Control what software and settings each server gets:

  • Set defaults for all servers
  • Create groups of servers with similar needs
  • Override settings for individual servers
  • Preview changes before applying them

πŸ“ Data Management

Edit your configuration files directly:

  • Browse and edit Hiera data files (server settings)
  • Edit configuration files with syntax checking
  • Automatic backups before changes
  • Create and delete files as needed

πŸ” Certificate Management

Manage server certificates (like ID cards for servers):

  • View all certificates and their status
  • Sign new certificates to allow servers to connect
  • Revoke certificates for decommissioned servers
  • See certificate details and expiration dates

πŸ” Explorers

Search and explore your infrastructure:

  • Fact Explorer: Find servers by their properties (OS, memory, etc.)
  • Resource Explorer: Search for installed software, services, files
  • PQL Console: Run advanced queries (for power users)

🎨 Themes

Choose how the interface looks:

  • Casual Mode: Fun, colorful interface with animations
  • Formal Mode: Clean, professional business interface

πŸ› οΈ System Requirements

Minimum Requirements

You need a Linux server with:

  • Operating System: Red Hat 8+, CentOS 8+, Ubuntu 20.04+, or similar
  • Memory: At least 2GB RAM (4GB recommended)
  • Disk Space: 1GB free space
  • Python: Version 3.10 or newer (3.11+ recommended)
  • Network: Access to your PuppetServer and PuppetDB

What Gets Installed

The installer will set up:

  • A web server running on port 4567 (configurable)
  • A systemd service that starts automatically
  • All necessary Python packages in a virtual environment
  • A local database for storing settings
  • Log files in /opt/openvox-gui/logs

πŸšͺ Default Access

After installation:

  • URL: https://your-server:4567
  • Username: admin
  • Password: Check the file /opt/openvox-gui/config/.credentials

Important: Change the default password immediately after your first login!

πŸ”§ Basic Administration

Starting and Stopping

# Check if it's running
sudo systemctl status openvox-gui

# Stop the service
sudo systemctl stop openvox-gui

# Start the service
sudo systemctl start openvox-gui

# Restart (after making changes)
sudo systemctl restart openvox-gui

Viewing Logs

# See recent log entries
sudo journalctl -u openvox-gui -n 50

# Watch logs in real-time (press Ctrl+C to stop)
sudo journalctl -u openvox-gui -f

Managing Users

# Add a new user
cd /opt/openvox-gui
sudo ./scripts/manage_user.py add newuser --role operator

# Change a password
sudo ./scripts/manage_user.py passwd username

# Delete a user
sudo ./scripts/manage_user.py delete username

# List all users
sudo ./scripts/manage_user.py list

🌟 What's New in Version 2.0.0

πŸ” LDAP / Active Directory Authentication

This is a major release introducing enterprise authentication:

  • Split authentication: Authenticate users against LDAP (OpenLDAP, 389 DS, Red Hat Directory Server, or Active Directory) while managing roles locally
  • Per-user auth source: Each user can be individually set to authenticate via LDAP or local password β€” configurable when creating users and changeable at any time
  • Auto-provisioning: New LDAP users are created automatically on first login with roles derived from LDAP group membership
  • Group-to-role mapping: Map LDAP groups to Admin, Operator, and Viewer roles
  • Quick presets: One-click configuration templates for OpenLDAP, 389 DS / Red Hat DS, and Active Directory
  • Connection testing: Test LDAP connectivity with diagnostic feedback before saving
  • Backward compatible: Local accounts continue to work for service accounts and break-glass access

πŸŽ›οΈ New Auth Settings Tab

  • LDAP/AD configuration has been extracted to its own dedicated Auth Settings tab in the Settings page
  • Settings tabs are now: Application Settings β†’ Services β†’ User Manager β†’ Auth Settings

πŸ‘₯ Enhanced User Management

  • Add User form now includes an Authentication Source selector (LDAP / Local) β€” defaults to LDAP
  • Password field only shown when creating local users
  • New "Change auth source" action button per user in the user table
  • Source column shows colored badges indicating local vs LDAP authentication

πŸ”’ Centralized Version Management

The application version is defined in a single file (VERSION) at the repository root. All backend, frontend, installer, and documentation references read from this file automatically β€” there is no version string to maintain anywhere else.

Previous Releases (1.4.x)

  • 1.4.8: Fixed Run Puppet button (uses bolt command run instead of missing task)
  • 1.4.7: Resolved all Dependabot security alerts; upgraded Python 3.9 β†’ 3.11
  • 1.4.6: Vite security update (4.x β†’ 5.4.21)
  • 1.4.5: Ghost user prevention (username whitespace stripping)
  • 1.4.4: Initial centralized version management
  • 1.4.3: User deletion bug fix; comprehensive security headers

For a complete list of changes, see the Changelog.

πŸ“ž Getting Help

If Something Goes Wrong

  1. Check the Troubleshooting Guide: TROUBLESHOOTING.md has solutions to common problems
  2. Look at the Logs: Run sudo journalctl -u openvox-gui -n 100 to see recent errors
  3. Check Your Network: Make sure you can reach PuppetServer and PuppetDB from this server
  4. File an Issue: Visit GitHub Issues to report bugs

Community

πŸ“„ License

This project is licensed under the Apache 2.0 License. This means you can:

  • Use it for free (even commercially)
  • Modify it to suit your needs
  • Distribute it to others
  • Just keep the license notice intact

See the LICENSE file for the legal details.

πŸ™ Acknowledgments

Built with love for the Puppet community. Special thanks to:

  • The Vox Pupuli community for maintaining Puppet modules
  • All contributors who have submitted bugs, suggestions, and code
  • You, for using OpenVox GUI!

Ready to get started? Head over to the Installation Guide for step-by-step instructions!

About

OpenVox GUI - OpenVox Management Web Interface

Resources

License

Stars

Watchers

Forks

Packages

No packages published