Install Nest
INFO
To learn about Nest and its components, see Nest.
The Nest installer is a terminal-based wizard that guides you through configuring and installing the management appliance. It runs in 7 steps.

Prerequisites
- A physical or virtual machine with at least 200 GiB disk space
- Boot the machine from the Nest installer ISO
- Have the following information ready:
- 3 free IP addresses in your network for the load balancer VIPs
- A domain (or wildcard domain) resolving to the Foundry VIP
- For airgapped installations using your own registry, reach out to us for options.
1. Naming
Set the Nest cluster name and the name for this specific instance.
TIP
These names are informational only and do not affect the installation.

| Property | Description | Default | Required |
|---|---|---|---|
| Nest Name | Identifier for the Nest cluster | trial | Yes |
| Nest Instance Name | Identifier for this specific Nest host | trial-0 | Yes |
2. Host Networking
Configure how the Nest appliance connects to your network.
Network Mode
Choose between simple (DHCP) or advanced (static IP) networking.
WARNING
Nest requires IP addresses to be fixed. DHCP should only be used for trials, where most virtualization platforms (tart, UTM, QEMU, libvirt) treat DHCP leases as static enough for playing around. Hyper-V and VMware Workstation do not, so use static IPs with those.

| Option | Description |
|---|---|
| Single Interface DHCP | Uses DHCP on a single interface. Only suitable for trials (see note below). |
| Static IPs / Bonds / VLANs | Manual IP configuration. Required for production environments. |
DHCP: Interface Selection
If DHCP is selected, choose which network interface to use.

The installer lists all available network interfaces with their current IP addresses (if any).
Static IP Configuration
If static networking is selected, configure the network manually after choosing an interface.

| Property | Description | Default | Required |
|---|---|---|---|
| IP Address | IPv4 address for the Nest host | Current interface IP | Yes |
| Netmask | Subnet mask | Detected from interface | Yes |
| Gateway | Default gateway | Detected from routing table | Yes |
| DNS 1 | Primary DNS server | Detected from system | Yes |
| DNS 2 | Secondary DNS server | No | |
| NTP 1 | Primary NTP server | Detected from system | Yes |
| NTP 2 | Secondary NTP server | No | |
| VLAN | VLAN ID (1-4094) for tagged interface | No |
Network Validation

The installer validates network connectivity:
- IP address is configured on the interface
- Gateway is reachable (ARP and ICMP)
- DNS server is configured
- NTP server is accessible
TIP
Many environments do not distribute NTP via DHCP, so the validation may show a warning with a fallback NTP server that might not be reachable. This is fine for trials, but for production, configure a reachable NTP server using static networking.
TIP
Some environments (e.g. Hyper-V) do not respond to ICMP pings on the primary gateway. If the ICMP ping check shows a warning but ARP succeeds, this can be safely ignored.
3. Load Balancer
Configure the load balancer VIPs and domain for the Nest services.
Announcement Mode

| Option | Description |
|---|---|
| L2 Announcements | Uses ARP announcements. For trials and switched networks. |
| BGP Announcements | For production and routed networks. Only available in headless (unattended) install mode. |
VIP Addresses
Three dedicated IP addresses are required for the Nest services. These must be free (not in use) in your network.

| Property | Description | Default | Required |
|---|---|---|---|
| Nest Internal Mgmt VIP | Internal management traffic | Auto-calculated from host subnet | Yes |
| Foundry VIP | Web UI, API and agent connectivity | Auto-calculated from host subnet | Yes |
| Hosted Control Planes VIP | Kubernetes API endpoints for hosted clusters | Auto-calculated from host subnet | Yes |
TIP
The installer suggests IPs near the top of your subnet (e.g. .251, .252, .253 for a /24). Make sure these are not assigned by DHCP or used by other hosts.
Foundry Domain
The domain that resolves to the Foundry VIP. A wildcard domain is recommended, i.e. resolve *.{domain} to the Foundry VIP. The apex domain itself does not need to resolve. Alternatively, create individual DNS entries for the required subdomains listed below.

| Property | Description | Default | Required |
|---|---|---|---|
| Domain | Domain resolving to the Foundry VIP | {foundry_vip}.d.meltcloud.io | Yes |
| Write static DNS entries on all hosts | Resolve required subdomains internally via CoreDNS / /etc/hosts. Not recommended for production, see Cannot Resolve *.d.meltcloud.io. | Off | No |
The following subdomains must resolve to the Foundry VIP:
app.{domain}agent.{domain}pkg.{domain}pkg-push.{domain}minio.{domain}minio-api.{domain}
TIP
For local testing, use the suggested {foundry_vip}.d.meltcloud.io domain which resolves to local IPs.
Load Balancer Validation

The installer validates:
- Each VIP is not already in use (via ARP probes)
- All required subdomains resolve to the Foundry VIP
4. Registry
Configure the container registry that Nest will use to pull images.
TIP
The credentials for artifacts.meltcloud.io are already baked into the installer ISO. You only need to change the registry settings for airgapped installations using your own registry.
Registry Host

| Property | Description | Default | Required |
|---|---|---|---|
| Host | Registry hostname, optionally with port | registry.example.com | Yes |
Protocol

| Option | Description |
|---|---|
| HTTPS (with TLS validation) | Recommended for production. |
| HTTPS (without TLS validation) | For self-signed certificates. |
| HTTP | Not recommended, for testing only. |
Credentials

| Property | Description | Required |
|---|---|---|
| Username | Registry username | Yes |
| Password | Registry password (masked input) | Yes |
Registry Validation

The installer verifies connectivity and authentication with the configured registry.
5. Disk Setup
Choose the disk to install Nest to.
Disk Mode

| Option | Description |
|---|---|
| Single Disk | Install to a single disk. |
| RAID (Multiple Disks) | Only available in headless (unattended) install mode. |
Disk Selection

The installer lists all available block devices with their size and partition status:
| Status | Meaning |
|---|---|
| empty | No partitions found |
| contains MELT partitions | Previous Nest installation detected |
| contains unknown partitions | Non-Nest data on disk |
WARNING
The installer will wipe the selected disk. All existing data will be lost.
Disk Validation

The installer checks:
- Disk capacity is at least 200 GiB
- Disk is not currently mounted (mounted disks will be unmounted if you proceed)
6. Supported Architectures
Select which CPU architectures can enroll as workers to this Nest.

| Option | Description |
|---|---|
| x86_64 / amd64 | Intel and AMD processors |
| AArch64 / arm64 | ARM processors (e.g. Apple Silicon, Ampere) |
At least one architecture must be selected. The current host architecture is selected by default.
7. Confirm and Install
Review all configuration and confirm to start the installation.

The summary shows all configured values grouped by section (Nest, Host, Load Balancer, Registry, Disk, Architectures).
WARNING
Once the installation starts, it cannot be aborted as disk writes are in progress.
After confirmation, the installer partitions the disk, installs Nest and reboots the machine. After reboot, the Foundry (the web UI and API) is bootstrapped automatically.

Once bootstrapping is complete, the Foundry URL is printed on screen. Open it in your browser to access the Foundry.

Keyboard Shortcuts
These shortcuts are available throughout the installer:
| Shortcut | Action |
|---|---|
| Ctrl+S | Drop to a console (for debugging) |
| Ctrl+L | Force terminal repaint |
| Esc | Go back to the previous step (not available during installation) |
Troubleshooting
Console Access
Press Ctrl+S during the installer to drop to a console. Log in with user core and password meltcloud.
To investigate the system state:
# check Nest service logs
journalctl -u nest-*
# check Kubernetes pod status
sudo -i
kubectl get pods -ACannot Resolve *.d.meltcloud.io
Some routers (e.g. Sunrise, Orange) block public domains like d.meltcloud.io from resolving to private IP addresses. This is called DNS rebinding protection. The Nest installer's DNS validation will fail with an error like "Your ISP may block public domains resolving to private IPs". Go back to the Foundry Domain screen and enable Write static DNS entries on all hosts. This makes the Nest and all enrolled machines resolve the required subdomains internally via CoreDNS, bypassing the ISP's DNS entirely.
Your browser (and tools like Terraform) will also be unable to resolve the Foundry URL unless you use DNS-over-HTTPS. Access Foundry directly via its VIP address (e.g. https://192.168.1.252) or add a local /etc/hosts entry for app.<domain> pointing to the Foundry VIP.
Kubeadm Fails to Reach Its Own IP After Reboot
If the Foundry bootstrap fails after the installer has rebooted because kubeadm cannot reach its own IP, the DHCP server likely assigned a new lease with a different IP address. This is common with Hyper-V.
Restart the installation using static IP settings instead of DHCP.
Accessing Foundry from a Cloud VM
If you're running the Nest inside a cloud VM (e.g. Azure, AWS, GCP), the Foundry URL resolves to a private IP that isn't reachable from your local machine. Use an SSH SOCKS proxy to access it through the VM:
ssh -D 1080 user@<cloud-vm-public-ip>Then configure a browser to use localhost:1080 as a SOCKS v5 proxy. To avoid changing your default browser's settings, use a separate browser profile:
- Firefox (recommended): go to
about:profiles, click Create a New Profile, and launch it. In that profile, go to Settings → General → Proxy settings, select Manual proxy configuration, set SOCKS Host tolocalhost, Port to1080, select SOCKS v5, and check Proxy DNS when using SOCKS v5. Firefox has its own proxy settings, so this won't affect your other browsing.
TIP
Chrome and Edge delegate proxy configuration to the operating system on both macOS and Windows, so they cannot be configured per-profile. Use Firefox for the SOCKS proxy approach.
Navigate to the Foundry URL in the proxied browser profile. The traffic is tunneled through the cloud VM and reaches the private IP.
