Prerequisites
Summary
Before getting started with Colony, review the following requirements to ensure your environment is ready for deployment.
Common Terms
-
Laptop: A machine used to bootstrap a Colony installation. The use of this term does not represent an actual laptop. It could be a physical machine or virtual machine.
-
Asset: A machine to be discovered and turned into a cluster using Colony.
-
Management Cluster: The K3s cluster running Colony for bare metal provisioning.
Hardware Requirements
A machine running Colony requires a minimum of the following:
- 8 GB of RAM (16 GB recommended for production)
- 4 or more recent x86-64 CPU cores
- Arm processors are not currently supported.
- 64GB for root volume
- We highly recommend a high throughput drive for the boot drive.
These requirements are for the management cluster that orchestrates provisioning. Assets being provisioned have their own requirements based on the cluster type you're deploying.
Networking Requirements
A good rule of thumb regarding network requirements for Colony is to put it on the same subnet as the machines you would like it to manage. Colony relies on Layer 2 DHCP protocol and the DHCP Discover packet to identify and create a record for a machine.
Network Configuration
- Layer 2 Connectivity: Management cluster and assets must be on same broadcast domain
- DHCP Server: Required for PXE boot (Colony does not include one by default but one can be added to your environment)
- Untagged VLAN: Interface connected to out-of-band management and private network should be untagged
- IPv4 Only: Colony currently only supports IPv4 networking
Required Internet Access
The private VLAN should have access to the following addresses to pull manifests, container images, and ISO files:
- GitHub: Source code and releases
- GitHub Container Registry (ghcr.io): Container images for Colony components
- Docker Hub: Container images for Kubernetes and dependencies
- Talos Factory: Talos Linux installer images
- Ubuntu Mirrors: Ubuntu package repositories and installer images
To summarize networking requirements:
- Interface connected to out-of-band network and private network should be untagged
- DHCP server running on network boot subnet
- Internet access to registries and package repos
Port Requirements
The management cluster uses these ports:
| Port | Protocol | Purpose |
|---|---|---|
| 69 | UDP | TFTP (PXE boot server) |
| 80 | TCP | HTTP (boot artifacts, workflows) |
| 443 | TCP | HTTPS (Colony API, UI) |
| 6443 | TCP | Kubernetes API (K3s management cluster) |
Ensure these ports are not in use by other services.