How theforeman/foremanctl works
foremanctl is a production CLI for deploying and managing Foreman/Katello as Podman Quadlet services under systemd, with Ansible playbooks executed through Obsah. Its principal workflow is an operator invoking the CLI, which runs deployment automation to configure the services. The repository also provides operational playbooks for checks, health, backup/restore, migration, and proxy deployment, plus feature metadata and Ansible extensions. The README establishes the CLI-to-playbook relationship; sampled source shows filter and migration behavior, but not their callers or the internal playbook orchestration, so those links are omitted.
Main entry points: foremanctl foremanctl CLI · deploy.yaml Deployment playbooks · forge forge CLI · foremanctl_announce_to_sources.py Sources registration
Components 21
Entry points
- foremanctl CLI
foremanctl - forge CLI
forge
Deployment orchestration
- Deployment playbooks
src/playbooks/deploy/deploy.yaml - Feature metadata
src/features.yaml - Service roles
src/roles - Proxy deployment
src/playbooks/deploy-proxy/deploy-proxy.yaml
Operations
- Preflight checks
src/playbooks/checks/checks.yaml - Health checks
src/playbooks/health/health.yaml - Backup
src/playbooks/backup/backup.yaml - Restore
src/playbooks/restore/restore.yaml - Migration
src/playbooks/migrate/migrate.yaml - Pull images
src/playbooks/pull-images/pull-images.yaml - Auth bundles
src/playbooks/auth-bundle/auth-bundle.yaml
Ansible extensions
- Feature filters
src/filter_plugins/foremanctl.py - Answer migration
src/plugins/modules/migrate_answers.py - Output callback
src/callback_plugins/foremanctl.py - Sources registration
src/plugins/modules/foremanctl_announce_to_sources.py
Other components
- Operator
- Podman Quadlets
- systemd
- Foreman API
Connections 14
- Operator → foremanctl CLI: invokes
README.md - foremanctl CLI → Deployment playbooks: runs playbooks
README.md - Deployment playbooks → Podman Quadlets: configures services
- Podman Quadlets → systemd: generates units
README.md - foremanctl CLI → Proxy deployment: manages proxy
- foremanctl CLI → Preflight checks: runs checks
- foremanctl CLI → Health checks: runs checks
- foremanctl CLI → Backup: runs playbooks
- foremanctl CLI → Restore: runs playbooks
- foremanctl CLI → Migration: runs playbooks
- foremanctl CLI → Pull images: runs playbooks
- foremanctl CLI → Auth bundles: runs playbooks
- Sources registration → Foreman API: calls API
src/plugins/modules/foremanctl_announce_to_sources.py - forge CLI → Operator: supports development
README.md