Skip to main content

Ansible

NetActuate provides Ansible modules for provisioning and managing infrastructure. You can use Ansible playbooks to deploy virtual servers, configure BGP sessions, and manage your NetActuate resources alongside your application deployment workflows.

Prerequisites

  • Ansible 2.10 or later
  • Python 3.8 or later
  • A NetActuate API key (see Account → API Access in the portal)

Note: Ubuntu 24.04 LTS VMs reboot once after initial provisioning. The NetActuate playbooks handle this automatically with a login availability check before proceeding with configuration.

Installation

Install the NetActuate Ansible collection and the POSIX collection (required for sysctl and authorized_key modules):

ansible-galaxy collection install netactuate.compute
ansible-galaxy collection install ansible.posix

Authentication

Set your API key as an environment variable:

export NETACTUATE_API_KEY="your-api-key-here"

Or pass it directly in your playbook variables or group_vars/all:

auth_token: "YOUR_API_KEY"

Quick Start

NetActuate's open-source playbooks use a roles-based structure with group_vars/all for configuration and a per-node inventory file. See the BGP Worker Node page for a complete walkthrough, or jump to Compute Node for VM-only deployments without BGP.

Available Modules

ModuleDescription
netactuate.compute.nodeManage virtual server instances
netactuate.compute.bgpProvision servers with BGP sessions

Control Node Setup

The machine you run Ansible from (your laptop or a bastion host) needs Python, Ansible, and the NetActuate collection installed.

macOS

brew install python3
pip3 install ansible
ansible-galaxy collection install netactuate.compute
ansible-galaxy collection install ansible.posix

Linux (Ubuntu/Debian)

sudo apt update && sudo apt install python3 python3-pip
pip3 install ansible
ansible-galaxy collection install netactuate.compute
ansible-galaxy collection install ansible.posix

Windows

Use WSL2 with Ubuntu, then follow the Linux instructions above.

wsl --install -d Ubuntu

AI-Assisted Provisioning

All NetActuate Ansible repos include an AGENTS.md file that gives AI coding assistants full context for provisioning infrastructure. See the AI-Assisted Provisioning guide.

Playbook Repositories

RepositoryPurpose
netactuate-ansible-computeIaaS VMs, no BGP
netactuate-ansible-bgp-bird2Anycast BGP with BIRD2
netactuate-ansible-bgp-frrAnycast BGP with FRR
netactuate-ansible-nginxNGINX on anycast nodes
netactuate-ansible-varnishVarnish caching layer
netactuate-ansible-pdnsPowerDNS authoritative
netactuate-ansible-k3sSelf-managed k3s + anycast
netactuate-ansible-anycast-dnsKnotDNS anycast DNS

Detailed Guides

Need Help?

If you need assistance with Ansible automation, visit our support page.