Who can reach what,
and whether you can prove it.
Roles resolved from your identity provider, policies scoped to the resource, an audited way in when nobody has standing access, certificates that tell you before they break, and an MCP endpoint held to the same rules.
The role decides which navigation exists at all, not merely which buttons are greyed out.
Three roles, five permissions,
and one audited way in.
Admin, Partner and Tenant resolve from the groups your identity provider already holds. Everything below that is a named policy you write.
Change the policy and the cached answers that depend on it are flushed, so the next request is judged on the new rule.
Named policies, made of rules, shaped like IAM.
Five permissions, each granted per cluster, project or instance, and assigned to organization members. Changing a policy flushes the cached responses that depend on it, so an access change takes effect immediately.
A policy holds as many rules as it needs, and one policy per organization can be marked the default so a new tenant arrives already scoped instead of arriving with nothing and waiting for someone to notice.
Read the resource and everything the tables show about it.
Create, start, stop, restart and delete.
Open a graphical console or a terminal.
Take, restore and remove snapshots.
Push files into an instance.
Each rule names a cluster, a project or a single instance, so access is scoped to the resource rather than to a person.
A group is bound to its environment from the moment it exists.
A new group targets a specific node before anything else is set, so an auditing team or a development group is attached to the right environment from the start rather than corrected later.
Choose the resource type, pin the exact project or pool, and set the level from full administration down to read-only.
Attach or revoke TLS client certificates and bind external OIDC identities from the group itself, leaving a visible record of who holds which privilege.
Client certificates, unrestricted tokens and pending access requests, tracked across the whole estate rather than per cluster.
An Admin does not hold standing access to a tenant’s console.
Reaching one is a deliberate, time-boxed, audited act that the affected tenant can watch happen.
Against a specific cluster, with a written justification and an optional ticket reference.
For at most 24 hours. There is no standing access to fall back on.
The grant is recorded, and so is each use of it.
Affected tenants can see the grants raised against their own clusters.
Drive your own cluster with the native client.
A user generates their own TLS client certificate for a specific cluster and project, at standard or admin authorization level, with an expiry in days. The private key is stored in HashiCorp Vault rather than on disk, and the credential downloads as a PKCS#12 bundle.
No operator hands you a certificate over chat.
An API surface for your own tools.
Create, name, scope, expire and revoke keys for external applications. A key is granted per cluster at read, write or admin level and restricted to an explicit list of projects. Each key records when it was last used. Secrets are hashed with HMAC-SHA256 and never stored in plain form.
A request outside a key’s scope is refused, including an attempt to smuggle a different project through the request path.
Passthrough, with the guard rails on.
An authenticated passthrough to the LXD API for third-party tools, with a method allowlist, request timeouts and a cap on concurrent in-flight requests. Map a user in an external system to an Orcastra identity with its own per-cluster permissions, and sync organizations, members and branding over the same API key channel.
Read-only mode runs the whole dashboard in an enforced read-only state, with a visible banner, for demos and audits.
An agent is a caller, held to the same rules.
Orcastra publishes a Model Context Protocol server, so an AI assistant your team already runs can query the estate over the same scoped key, capability set and audit trail a person is subject to.
No model runs in the control plane. Orcastra performs no inference of its own.
Create an API key and the dashboard returns the MCP client config beside it: the command, the endpoint and the two credential values.
A key ID and a secret on every request. There is no sign-in step and no session token for an agent to hold or leak.
An agent starts able to ask what exists. Write and exec capabilities are separate grants you add deliberately.
Revoke the key and every agent holding it stops at the same instant. The record of what it did remains.
What an agent can reach, one grant at a time.
Six capabilities, each granted on its own. The two ticked below are the usual starting pair: enough to answer questions about the estate, and unable to change anything in it.
A capability is not estate-wide. The same key also names which clusters it may reach and which projects inside them, so inventory.read on one cluster tells an agent nothing about another.
No capability opens a graphical console, and none grants break-glass. Reaching a tenant console stays a decision a named person makes with a written justification.
A request outside the key’s capabilities or scope is refused outright, including an attempt to smuggle a different project through the request path. The refusal is recorded like any other call.
Expiry is the most predictable outage there is. It should never surprise you.
Trust that tells you
before it breaks.
Every cluster certificate in one table with its issuer, issue date, expiry and the exact number of days it has left.
An expired certificate keeps its row rather than disappearing from the table, with the days elapsed spelled out. A lapsed cluster you are decommissioning and one you forgot look different here.
A certificate nearing expiry is flagged for you and broadcast to three places at once: the Warnings list, the monitoring alarms, and the overview dashboard. You do not have to go looking.
Click Renew to extend a certificate, or deliberately let it lapse when the cluster it belongs to is being decommissioned. Nothing rotates behind your back.
Recovering a pending or expired trust state produces a ready-to-run command for the target node. Run it, then verify the restored connection from the dashboard before you close the panel.
Cluster certificates live in HashiCorp Vault rather than on the dashboard filesystem, and every cluster is reached over mTLS.