Service Control
mac <command> --help lists flags. pull, build, start, stop, and restart
require all, master, or agent.
mac pull
Pull role images, tagged with the CLI version unless MAC_VERSION overrides it.
Inspect release-specific references with mac env and mac images.
mac pull all
mac pull master
mac pull agent
--local builds MAC images from source and pulls external image-only dependencies.
mac build
Build MAC images from a checkout; external image-only dependencies are not pulled.
Set MAC_CONFIG_DIR to the checkout's deploy/ directory first.
mac build all
mac build master
mac build agent
mac images
List required/present images for the running role, or all if stopped. GPU images
follow detected vendors.
mac images all --check
mac images agent --all-profiles
mac images --prune # list obsolete MAC images
mac images --prune --yes # remove the listed obsolete images
--check fails for missing images. Presence does not prove layer usability; verify
offline bundles with the loader.
mac load
Load without registry access. Manifests verify digests and image usability with
docker create --pull=never. The loader checks all mode for this host’s GPU profile;
use a complete bundle even on agents.
mac load /opt/mango-ai-center-offline-<version>-ubuntu-amd64
mac load /opt/mango-ai-center-offline-<version>-ubuntu-amd64 --verify-only
Image archive paths also work. --verify-only checks images already in Docker without
loading. See Offline Installation.
mac start
Start a role; all combines master/agent. Agents need MASTER_IP and the master’s token.
Enrollment uses the master-routed address unless MAC_NODE_IP_PREFIX selects one.
mac start all --wait
mac start master --wait --timeout 300
mac start agent --wait
Missing images are pulled, or fail under MAC_OFFLINE=true; load them first. --local
builds; --registry uses published images. --wait checks running/healthy containers
and master/all API→Prometheus through /health/detailed, sharing --timeout (180 seconds).
Failure is nonzero. The probe uses local plain HTTP even with TLS; exporter samples and
log delivery need separate verification.
mac stop
Remove the selected role's containers while keeping volumes and images.
mac stop master
mac stop agent
mac stop agent --keep-registration
mac stop all
Stop deregisters agents unless --keep-registration is set. Offline nodes without
deregistration remain in inventory.
mac restart
Recreate the role after configuration changes; start flags also apply.
mac restart all --wait
mac restart agent --wait
mac status
List local MAC containers, status, and published ports.
mac logs
mac logs # last 20 lines from each container
mac logs api-server # last 100 lines from this service
mac logs api-server -f # follow; --follow also works
Accepts service/container names, including mango-sdk-agent/mac-sdk-agent. Node logs
are in Monitoring → System log; container logs in MAC log → Services.
mac info
Show CLI/running version, role, master address, host/kernel, Docker/Compose, config path,
and GPU vendors. mac version shows only CLI; pinned images can differ.
mac test
Check a running cluster through the master’s sanity API. sanity is the default/only
subcommand; no user login is needed.
mac test
mac test sanity --expect all # verify this node has every declared service
mac test sanity --master <master-ip>
Run on master or set node-wide MASTER_IP on agents. --master overrides one invocation;
shell MASTER_IP does not override files. --expect master|agent|all adds local missing-service checks.
[PASS] accepts running Docker healthy/starting, or running without a healthcheck.
starting is startup grace, not a successful probe. [SKIP] means no declared healthcheck;
it does not verify behavior. [FAIL] marks missing, stopped, unhealthy, or unreachable
services. Check targets, inventory, and logs separately.
| Code | Meaning |
|---|---|
0 | All checks passed |
1 | Checks failed, or expected local services are missing |
2 | Master unreachable |
3 | This node passed; only other nodes failed |
mac version
mac version # mac -v / mac --version also work
mac clean
Delete MAC containers, data volumes (users, enrollment, alerts, metrics, logs), and local
images. Pulled images and mac-network remain. Confirmation is required; use --yes
without a terminal only for intended deletion.
mac clean
mac clean --purge
--purge also deletes declared volumes, networking, earlier MAC images, and Compose
images including external dependencies. Images used by another container remain.
With --user-config, it deletes ~/.mac; check whether the directory is shared.
Cleaning destroys persistent data. Preserve API/Prometheus/Loki volumes to retain state.
For data-preserving removal, stop and uninstall without clean.
mac llmboost detect
mac llmboost detect
mac llmboost detect --json
Probe listening ports for OpenAI-compatible model catalogs and suggest LLMBOOST_HOST_PORTS.
Nothing is saved. Review results; unrelated serving workloads may be discovered.