Skip to content

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.

Nest Installer

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.

Naming

PropertyDescriptionDefaultRequired
Nest NameIdentifier for the Nest clustertrialYes
Nest Instance NameIdentifier for this specific Nest hosttrial-0Yes

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.

Network Mode

OptionDescription
Single Interface DHCPUses DHCP on a single interface. Only suitable for trials (see note below).
Static IPs / Bonds / VLANsManual IP configuration. Required for production environments.

DHCP: Interface Selection

If DHCP is selected, choose which network interface to use.

DHCP Interface

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.

Static IP

PropertyDescriptionDefaultRequired
IP AddressIPv4 address for the Nest hostCurrent interface IPYes
NetmaskSubnet maskDetected from interfaceYes
GatewayDefault gatewayDetected from routing tableYes
DNS 1Primary DNS serverDetected from systemYes
DNS 2Secondary DNS serverNo
NTP 1Primary NTP serverDetected from systemYes
NTP 2Secondary NTP serverNo
VLANVLAN ID (1-4094) for tagged interfaceNo

Network Validation

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

LB Mode

OptionDescription
L2 AnnouncementsUses ARP announcements. For trials and switched networks.
BGP AnnouncementsAnnounces the VIPs to a BGP peer. For production and routed networks.

The mode applies to the whole Nest. The BGP peering settings below are configured per Nest instance, so each instance can peer with the switch or router it is attached to.

BGP Peering

Only shown when the announcement mode is BGP Announcements. Configure the peering for this Nest instance.

BGP Peering

PropertyDescriptionRequired
Local ASNThe autonomous system number of this Nest instanceYes
Peer ASNThe autonomous system number of the peerYes
Peer IPThe IP address of the peerYes
Peer PasswordMD5 authentication password, if the peer requires oneNo
eBGP MultihopEnable if the peer is not directly connected (more than 1 hop away)No

TIP

The peer must be configured to accept a session from this Nest instance before the peering can come up. See Network Requirements (self-hosted) for the connectivity this needs.

BGP Peering Validation

BGP Peering Validation

The installer opens a BGP session to the configured peer and waits up to 15 seconds for it to reach the ESTABLISHED state.

If the session does not come up, you can either go back and correct the settings, or continue with the installation. Continuing is useful when the peer is not configured yet: the installation does not depend on the session, and the Nest keeps retrying it once installed. Until the session is up, the VIPs are not announced to your network.

VIP Addresses

Three dedicated IP addresses are required for the Nest services. These must be free (not in use) in your network.

VIP Addresses

PropertyDescriptionDefaultRequired
Nest Internal Mgmt VIPInternal management trafficAuto-calculated from host subnetYes
Foundry VIPWeb UI, API and agent connectivityAuto-calculated from host subnetYes
Hosted Control Planes VIPKubernetes API endpoints for hosted clustersAuto-calculated from host subnetYes

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.

Foundry Domain

PropertyDescriptionDefaultRequired
DomainDomain resolving to the Foundry VIP{foundry_vip}.d.meltcloud.ioYes
Write static DNS entries on all hostsResolve required subdomains internally via CoreDNS / /etc/hosts. Not recommended for production, see Cannot Resolve *.d.meltcloud.io.OffNo

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

LB 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

Registry Host

PropertyDescriptionDefaultRequired
HostRegistry hostname, optionally with portregistry.example.comYes

Protocol

Registry Protocol

OptionDescription
HTTPS (with TLS validation)Recommended for production.
HTTPS (without TLS validation)For self-signed certificates.
HTTPNot recommended, for testing only.

Credentials

Registry Credentials

PropertyDescriptionRequired
UsernameRegistry usernameYes
PasswordRegistry password (masked input)Yes

Registry Validation

Registry Validation

The installer verifies connectivity and authentication with the configured registry.

5. Disk Setup

Choose which disks Nest is installed to. The installer first asks for the layout (whether disks are mirrored, and where etcd lives), then for the concrete devices.

Boot Disk Mirroring

Boot Disk Mirroring

The boot disk holds the OS and the container images, plus etcd unless it is moved to a dedicated disk on the next screen.

OptionDescription
No mirror: one boot diskInstall to a single boot disk.
RAID1 mirror: two boot disksMirror the boot disk across two disks. Both disks are bootable on their own, so the instance survives losing either of them.

WARNING

Mirror the boot disk for production. Without a mirror, losing that disk takes down the whole Nest instance, and replacing an instance is expensive: every etcd it hosts has to resync onto the new one.

etcd Placement

etcd Placement

OptionDescription
On the boot disk (default)etcd shares the boot disk.
On a dedicated disketcd is moved off the boot disk onto a disk of its own.

WARNING

For production, place etcd on a dedicated disk and use a fast NVMe drive for it. Each hosted control plane runs its own etcd instance on the Nest, and etcd is highly sensitive to disk latency. See System Requirements.

etcd Disk Mirroring

etcd Disk Mirroring

Only asked if etcd is placed on a dedicated disk.

OptionDescription
No mirror: one etcd diskUse a single etcd disk.
RAID1 mirror: two etcd disksMirror the etcd disk across two disks.

WARNING

Mirror the etcd disk for production as well. Losing an unmirrored etcd disk takes down the instance just like losing its boot disk does.

Disk Selection

The installer then asks for the devices, one screen per role: the boot disk, and the etcd disk if a dedicated one was chosen.

Boot Disk Selection

If the role is mirrored, exactly two disks must be selected. Disks already claimed by another role are not offered again.

etcd Disk Selection

Each entry is listed as path, size and partition status:

StatusMeaning
emptyNo partitions found
contains meltcloud partitionsPrevious Nest installation detected
contains unknown partitionsNon-Nest data on disk

The minimum size depends on the role, since a dedicated etcd disk takes part of the layout off the boot disk:

DiskMinimum size
Boot disk, etcd on the boot disk200 GiB
Boot disk, etcd on a dedicated disk120 GiB
Dedicated etcd disk100 GiB

In a mirror, each of the two disks must meet the full minimum, not half of it.

WARNING

The installer will wipe every selected disk. All existing data will be lost.

Disk Validation

Disk Validation

The installer checks every selected disk:

  • Disk capacity meets the minimum for its role
  • Partition status (existing Nest or unknown partitions are reported as a warning)
  • 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.

Architectures

OptionDescription
x86_64 / amd64Intel and AMD processors
AArch64 / arm64ARM 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.

Confirm

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.

Install Progress

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

Foundry URL

Keyboard Shortcuts

These shortcuts are available throughout the installer:

ShortcutAction
Ctrl+SDrop to a console (for debugging)
Ctrl+LForce terminal repaint
EscGo 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:

shell
# check Nest service logs
journalctl -u nest-*

# check Kubernetes pod status
sudo -i
kubectl get pods -A

Cannot 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 won't start after Nest has rebooted because kubeadm cannot reach its own IP, the hypervisor's DHCP or virtual network likely assigned a new IP or subnet. See the platform-specific troubleshooting for workarounds:

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:

shell
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 to localhost, Port to 1080, 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.