holder

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 9, 2026 License: MIT Imports: 18 Imported by: 0

Documentation

Overview

Package holder is the server half of the holder protocol: one process owns one orchestrator.Cluster — its shared network and every VM on it — so a cluster gets the same VM↔VM connectivity the library StartN gives (ADR-0008). It serves one control socket and one pidfile per member name, so the per-name CLI commands (ls/ssh/down/rm/status) address a member by talking to its socket, unaware that several members may live in one process. Members can be stopped individually (the process survives until the last one leaves) and added at runtime (a stopped node re-joins the live cluster's network).

It runs in two lifetime modes (ADR-0017, R4). DETACHED: a persistent session leader whose VMs outlive the spawning CLI (cattle-with-persistence). BOUND: an attached child of a test process, selected by FLEETBOX_PARENT_PID; it watches that parent (reparent poll) and a long-lived control connection (EOF), and reaps itself and its in-process VMs the moment the test process is gone. On darwin this package is compiled only into cmd/fleetbox-helper (which links vz); on linux the CLI re-execs itself into Run.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetRunnerVMNames

func GetRunnerVMNames() []string

GetRunnerVMNames returns the member names this holder was launched for.

func IsRunner

func IsRunner() bool

IsRunner returns true if the current process is a holder.

func RemovePidfile

func RemovePidfile(st *store.Store, name string) error

RemovePidfile removes a member's pidfile.

func Run

func Run() error

Run is the holder's main loop.

func WritePidfile

func WritePidfile(st *store.Store, name string) error

WritePidfile writes the current process PID for a member.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL