Who should have access

The DataMind Installer is the component that installs and manages a DataMind OS deployment on a customer server. It is not an application that end users sign in to. It is an infrastructure control plane, and whoever can sign in to it can act on the whole deployment.

An Installer account is therefore not a "normal" application account. Grant it the way you grant root on the host: to a small number of named system administrators, and to nobody else.

What an Installer account can do

Every action below is a real endpoint in the Installer backend, and every one of them runs against the host through the Docker socket. The role column is the role the endpoint requires.

ActionEndpointRole required
Restart, stop, or kill servicesPOST /api/deployment/restart, /stop, /killadmin
Deploy (pull images, then docker compose up)POST /api/deployment/deployadmin
Pull images, or run compose-up on their ownPOST /api/deployment/pull, /compose-upadmin
Apply configuration changes (recreate services in dependency tiers)POST /api/deployment/apply-configadmin
Cancel a running jobDELETE /api/deployment/jobs/:jobIdadmin
Edit deployment configuration values and regenerate the deployment .envPATCH /api/configs/values, POST /api/configs/generateadmin
Import configuration from a legacy Jenkins config.xmlPOST /api/configs/import/jenkinsadmin
Set the Azure client secret used to pull imagesPUT /api/system-secrets/azureadmin
Set the VM user for .env substitution and run the host migrationPOST /api/migrate/vm-user, POST /api/migrate/run-hostadmin
Create, disable, delete users and change rolesPOST /api/user/register, PATCH /api/user/:id, DELETE /api/user/:idadmin
Read the deployment audit trailGET /api/deployment/actionsadmin
Stream container logsGET /api/deployment-log, /api/deployment/logsadmin for /deployment-log; authentication only for /deployment/logs
Update the Installer itselfPOST /api/system/self-updateauthentication only — see below
Read deployment status, service groups, stale services, jobs and update checksGET /api/deployment/status, /groups, /stale-services, /jobs, /update-checkauthentication only
Warning

Two capabilities are not gated to admin: the self-update endpoint and the read-only deployment endpoints require only a valid login — any active Installer account, including one with the plain user role, can trigger the Installer's own update and can stream aggregated container logs. Do not create user-role accounts for people whom you would not trust with admin.

Why this is host-level privilege

The Installer drives the host's Docker daemon through the mounted Docker socket. Anything that can reach the Docker socket can start a container that mounts the host filesystem as root or joins the host's PID namespace. That makes a composed "restart services" call and a "run host migration" call the same privilege class as shell access on the host.

The migration action goes one step further in the code: it spawns an ephemeral container with --privileged --pid=host and runs the retirement script inside the host's namespaces with nsenter -t 1 -a. It stops and permanently masks the legacy systemd units on the host.

Host privilege and the Docker socket covers the mechanics. What matters for access decisions is the conclusion: an Installer sign-in is equivalent to root on the server. Treat it as such.

Who should hold an account

Operating rules

What the Installer does not provide

So that you plan the compensating control instead of assuming a feature exists: