HOWTO: Provision the Control Node¶
Purpose: Bootstrap the control node using the HybridOps module so it is ready to run the full automation stack.
Difficulty: Intermediate
Track: Platform Services
Overview¶
The control node is the automation anchor for the HybridOps platform. Before any module run, blueprint, or CI/CD job can execute, the control node must be correctly provisioned with the right tools, credentials, and connectivity. This HOWTO covers that bootstrap path.
1. Module Overview¶
- Module ID:
platform/onprem/control-node. - Installed components: HybridOps CLI, Ansible, Nornir, Python environment, Jenkins controller.
- Idempotency: safe to re-run for configuration drift correction.
2. Prerequisites¶
- VM provisioned in management VLAN with a static IP from IPAM.
- Secrets manager accessible from the control node VM.
- Base VM image from
core/onprem/template-image.
3. Module Inputs¶
- Control node VM IP and SSH credentials.
- HybridOps CLI version.
- Jenkins version and plugin list.
- Secrets manager endpoint and bootstrap credential reference.
- Repo root path on the control node.
4. Bootstrap Sequence¶
- HybridOps CLI installation and version confirmation.
- Python environment setup with Ansible and Nornir.
- Jenkins controller installation and initial configuration.
- Secrets manager client wiring.
- SSH key deployment for managed hosts.
5. Validation¶
hyops --versionreturns expected version.- Ansible inventory smoke test.
- Nornir connectivity test to at least one managed host.
- Jenkins controller accessible at management IP.
- Run record: all steps
ok.
6. Post-Bootstrap Configuration¶
- Registering the control node in NetBox.
- Configuring the Jenkins credential store.
- Setting up the initial pipeline for inventory export.
References¶
- HOWTO: Run Your First Module
- HOWTO: Use NetBox as Source of Truth for Ansible and Nornir
- HOWTO: Deploy NetBox Authoritative
License: MIT-0 for code, CC-BY-4.0 for documentation unless otherwise stated.