Skip to main content

First-Time Setup

After Deployment, MAC is up but still using its factory defaults. This page covers the post-install checklist: change the admin password, create operator accounts, hook up switches, and (optionally) wire in a LLMBoost cluster.

Default Login​

Open http://<master-ip>:23000 and sign in:

  • Username: admin
  • Password: admin
warning

Change the default password immediately on production deployments. You can pre-set a custom initial password before the first start with:

mac env set MAC_ADMIN_PASSWORD=<strong-password>
mac start master

Roles and User Management​

MAC ships with three built-in roles:

RolePermissions
adminFull access — user management, power control, all configuration changes
operatorRead + write (container actions, software install, switch config)
viewerRead-only access to all monitoring data

Create additional users from Cluster → Users in the web UI:

User ManagementUser Management

Disabling Authentication (Lab Only)​

For air-gapped lab environments you can skip authentication entirely. Always use mac env set (not a shell-prefix) so the value is recorded in ~/.mac/env and propagated into the api-server container on every restart:

mac env set MAC_AUTH_ENABLED=false
mac restart master

Do not do this on networks reachable from outside the lab.

Configuring Switch Access​

Set switch SSH credentials once on the master:

mac env set SWITCH_USER=admin
mac env set SWITCH_PASSWD_LIST=password1,password2
mac restart master

SWITCH_PASSWD_LIST is comma-separated; MAC tries each entry in order and caches the one that worked per switch — useful in fleets that mix vendor-default credentials.

Switches do not need to be added manually — they are auto-discovered from LLDP data reported by registered agents and appear on the Network Topology page:

Network Topology auto-discovers switches from LLDPNetwork Topology auto-discovers switches from LLDP

Streaming Telemetry (gNMI)​

By default, switch-exporter streams counters and oper state over gNMI (TCP 8080) from SONiC switches running sonic-gnmi, and falls back to SNMP for Dell OS10 and non-gNMI SONiC — the transport is chosen per switch automatically, so no configuration is required for the common case. To tune or disable it, set the GNMI_* variables (e.g. mac env set GNMI_ENABLED=false to force SNMP-only) — see Environment → gNMI Streaming Telemetry for the full list, and make sure the master can reach TCP 8080 on the switch management IPs.

Hardening Switch SSH (Optional)​

By default MAC does not verify switch SSH host keys. To enforce strict host-key checking, point MAC_SSH_KNOWN_HOSTS at an OpenSSH known_hosts file:

mac env set MAC_SSH_KNOWN_HOSTS=/etc/mango/mac/known_hosts
mac restart master

Browser Access Control (Optional)​

By default the API accepts requests from any origin without credentials. To restrict credentialed cross-origin access to a known set of browser origins, set MAC_ALLOWED_ORIGINS (comma-separated):

mac env set MAC_ALLOWED_ORIGINS=https://mac.example.com,https://ops.example.com
mac restart master

Timezone​

Container timestamps follow the TZ variable. If you leave it unset, the mac CLI auto-detects the host timezone (from /etc/timezone or /etc/localtime) when starting services, falling back to Asia/Seoul if detection fails. Set it explicitly to override:

mac env set TZ=UTC
mac restart all

LLMBoost Auto-Discovery (Optional)​

If any of your registered agents is also a node in a LLMBoost model-serving cluster, the Services → LLMBoost page lights up automatically: the api-server probes every registered agent's IP on port 30080 for a cluster exposing the management UI at :30080/manage/ (the :30080/api layout) and connects to it. No token or extra setup is needed — the dashboard is read-only.

Auto-discovery only finds that management layout. A standalone engine serving the OpenAI API at the root (:30080/v1/models, no /manage/), or a cluster on a subnet the agents can't reach, must be configured explicitly. Either paste the endpoint into the connection card at the top of the LLMBoost page (admin only; kept in memory until the next master restart), or persist it:

mac env set LLMBOOST_API_ENDPOINT=http://<node-ip>:30080 # standalone (root)
# OR, for the Helm-chart layout that serves under /api:
mac env set LLMBOOST_API_ENDPOINT=http://<node-ip>:30080/api
mac restart master

You're Ready​

Continue to the User Guide for a page-by-page walkthrough of the dashboard.