Manifest Files

Manifest files in Mesh Hypervisor define how files are installed or modified on remote nodes. Stored in /host0/machines/ or /host0/groups/, they’re compiled into APKOVLs by mesh system configure and applied on node boot. This section shows practical examples for common tasks, run from the central orchestration node’s CLI. For node setup, see Configuring Nodes.

Prerequisites

Ensure:

  • Remote nodes are online (check with mesh node info).
  • Central node is running (mesh system start executed).

Using Manifest Files

Each manifest file is a list of entries, one per line, specifying an action, permissions, source, and target. Lines starting with # are comments. Here’s how to use them:

Installing a File

To set a custom hostname on node 10eff964:

  1. In /host0/machines/my-server/manifest (UUID 10eff964):
    O MODE=root:root:0644 SRC=/host0/machines/my-server/hostname TGT=/etc/hostname
    
    • O: Overwrites the target.
    • MODE: Sets permissions (root:root:0644).
    • SRC: Source file on the central node.
    • TGT: Target path on the remote node.
  2. Create /host0/machines/my-server/hostname:
    node1
    
  3. Apply:
    mesh system configure
    mesh node ctl -n 10eff964 "reboot"
    

To set the EST timezone (e.g., in a group):

  1. In /host0/groups/timezone-est/manifest:
    L SRC=/usr/share/zoneinfo/EST TGT=/etc/localtime
    
    • L: Creates a soft link.
    • No MODE—links inherit target perms.
  2. Link to a machine’s groups file (e.g., /host0/machines/my-server/groups):
    baseline
    timezone-est
    
  3. Apply:
    mesh system configure
    mesh node ctl -n 10eff964 "reboot"
    

Appending to a File

To add a package (e.g., chrony):

  1. In /host0/machines/my-server/manifest:
    A MODE=root:root:0644 SRC=/host0/machines/my-server/packages TGT=/etc/apk/world
    
    • A: Appends to the target.
  2. Create /host0/machines/my-server/packages:
    chrony
    
  3. Update the mirror and apply:
    mesh system download
    mesh system configure
    mesh node ctl -n 10eff964 "reboot"
    

Creating a Directory

To make a mount point:

  1. In /host0/machines/my-server/manifest:
    D MODE=root:root:0755 TGT=/mnt/data
    
    • D: Creates a directory.
  2. Apply:
    mesh system configure
    mesh node ctl -n 10eff964 "reboot"
    

Removing a File

To disable dynamic hostname:

  1. In /host0/machines/my-server/manifest:
    R TGT=/etc/init.d/hostname
    
    • R: Removes the target.
    • No MODE or SRC needed.
  2. Apply:
    mesh system configure
    mesh node ctl -n 10eff964 "reboot"
    

Notes

Order matters—later entries override earlier ones (e.g., group manifest then machine manifest). Use A to append safely, O to replace. For full syntax and actions, see Manifest Syntax. For applying configs, see Configuring Nodes; for node control, see Managing Nodes.

Next, explore Troubleshooting.