How Acasia Cloud is structured — the resource model, cluster lifecycle states, and how desired state flows through the control plane to your GPU hardware.
Acasia Cloud is organized into two surfaces — the Developer Portal and Settings — built on a shared resource model. Resources follow a layered hierarchy: Organization → Machine → Cluster → Inference Endpoint → Application. Desired state lives in Cloud; the control plane installed on your hardware applies it to the runtime and reports status back through logs.The resource model is the same for capacity rented through the Marketplace and capacity held under a bare metal reservation. What differs is scope and depth. Marketplace rentals always run the control plane, so Cloud reports per GPU — scoped to the GPUs you rented — and can drive cluster and deployment changes. Bare metal customers hold root access to their machines and run their own stack, so Cloud reports at the node level across the machines reserved for them, unless the control plane is installed.
Platform layers
Layer
Purpose
Developer Portal
Organization-facing workspace for developers and organization administrators to use GPU capacity, create clusters, deploy inference endpoints, attach SSH keys, and create API keys.
Settings
Account and organization management area for profile, security, billing, SSH keys, users, and organization metadata.
Control plane
Software installed on the GPU hardware. Reports per-GPU telemetry into Cloud and applies cluster and deployment changes to the runtime. Required on Marketplace rentals.
Developer Portal
The Developer Portal is the organization-facing workspace for using GPU capacity.Developers and organization administrators use the Developer Portal to:
View available clusters
Inspect allocated machines
Create clusters from available machine capacity
View cluster hardware details
Attach SSH keys
Connect to clusters
Deploy inference endpoints
Manage active and terminated model deployments
Create API keys for programmatic access
The Developer Portal is scoped to the active organization. Always confirm the selected organization before creating clusters, deploying endpoints, or generating credentials.
Settings
Settings centralizes user and organization administration.Settings includes:
Profile management
Password and security settings
Billing and Stripe-managed payment updates
Reusable SSH key management
Organization user invitations and removals
Organization metadata updates
Some settings are available to all users. Organization-level settings, billing settings, and user management should be restricted to organization administrators or approved billing users.
Resource model
Acasia uses a layered resource model. Each layer scopes the layer below it.Organization → Machine → Cluster → Inference Endpoint → Application or API Consumer
Organization
An organization is the account boundary in Acasia Cloud. It represents a customer, partner, or internal team, and every rental or reservation is owned by one.Organizations scope:
Users
Machines
Clusters
Inference deployments
SSH keys
API keys
Billing settings
Logs
Machine
A machine is a GPU-backed compute resource registered in Acasia Cloud. A machine may represent:
A single GPU server
A DGX-class system
Hardware under a bare metal reservation
Capacity rented through the Marketplace from a third-party hardware owner
A partner-supplied host
Machines expose resources such as GPU count, GPU model, CPU, RAM, storage, network capacity, status, and control plane state.
Cluster
A cluster is a deployable allocation of GPU, CPU, RAM, and storage carved from one or more machines. A cluster is the unit a workload runs on, and it can be resized as the workload changes.Clusters move through a defined set of lifecycle states.
State
Meaning
Active
The cluster is available for use.
Provisioning
The cluster is being created or prepared.
Terminated
The cluster has been stopped or removed.
Failed
The requested operation did not complete successfully.
Out of Sync
Acasia Cloud and the runtime environment do not currently match.
Inference endpoint
An inference endpoint is a deployed model service running on a cluster. Models are selected from the model library in Acasia Cloud and exposed over a REST API that applications, agents, and workflows call.
Desired-state operating model
Acasia separates the control-plane request from the runtime operation. Cloud records desired state; the control plane applies or verifies it on the underlying machine and reports back.
User creates a cluster
Acasia Cloud records the desired cluster allocation
The control plane applies or verifies the allocation on the machine
Cluster status updates in the Developer Portal
Logs record the result
This separation makes it easier to track changes, troubleshoot failures, and audit platform activity. It also means a discrepancy between what was requested and what the hardware actually did is visible as a state, rather than hidden.
Developer workflow architecture
A typical developer workflow moves through the following path:
Confirm organization context
Review available machines and clusters
Create or select a cluster
Attach an SSH key if direct access is needed
Deploy an inference endpoint
Create or use an API key
Connect the application or workflow
Credential architecture
Acasia uses two credential types: SSH keys and API keys.
SSH keys
SSH keys authorize secure shell access to clusters.
Users should only upload public SSH keys. Private keys must remain on the local machine or inside an approved secret-management system.
SSH access depends on:
An active cluster
A valid public SSH key attached to the cluster
The matching private key available locally
Network access to the cluster host
Correct organization context and permissions
API keys
API keys authorize programmatic access to Acasia services. API keys should be:
Named by application, environment, or owner
Stored in a secrets manager
Rotated periodically
Removed when no longer needed
Never committed to source code
Operational visibility
Acasia Cloud records platform activity through logs and status fields. Logs should be used to investigate:
Organization creation
User invitations
Machine registration
Cluster creation, edits, and deletion
Inference deployment activity
SSH key changes
API key creation or removal
Billing updates
Control plane reflection events
Failed or out-of-sync operations
Example end-to-end flow
Developer creates an API key
Developer deploys a model endpoint on an active cluster
Application sends a request to the Acasia endpoint
Endpoint runs the model on the allocated GPU cluster
Model returns structured output
Application renders the result to the user
Logs and endpoint status support monitoring and troubleshooting
Design principles
One platform, two purchase paths
Marketplace rentals and bare metal reservations resolve to the same resource model and the same Acasia Cloud surfaces. Depth of reporting and control follows what is installed on the hardware, not which page you are on.
Organization-scoped control
Resources, users, credentials, clusters, endpoints, and billing settings are scoped to an organization. This keeps customer environments separated.
Human-controlled infrastructure
Developers initiate changes intentionally. High-impact actions such as deleting clusters, users, or endpoints should require dependency review.
Developer self-service
Developers can use allocated compute without needing elevated access. The Developer Portal gives them the ability to inspect clusters, deploy endpoints, manage credentials, and connect applications.
Auditability
Important actions are visible through logs. This helps teams understand what changed, who changed it, and whether the runtime successfully reflected the requested state.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Acasia","description":"Official documentation for Acasia GPU infrastructure. Reserve dedicated bare metal hardware, and operate your clusters, model deployments, and credentials in Acasia Cloud.","colors":{"primary":"#0D6D40","light":"#F7F4EF","dark":"#2E4B31"},"logo":{"light":"https://mintcdn.com/acasia/UdgXGI9RjuY0SENf/images/AcasiaDocs(1).png?fit=max\u0026auto=format\u0026n=UdgXGI9RjuY0SENf\u0026q=85\u0026s=0fb4ba5917d74ae9edf418bef89524c3","dark":"https://mintcdn.com/acasia/UdgXGI9RjuY0SENf/images/acasia-docs-white.png?fit=max\u0026auto=format\u0026n=UdgXGI9RjuY0SENf\u0026q=85\u0026s=a051d494d279bc7bde6b3c4cb598d1f0","href":"https://docs.acasia.com"},"favicon":{"light":"https://mintlify.s3.us-west-1.amazonaws.com/acasia/images/acasia-tree-green20percent.png","dark":"https://mintlify.s3.us-west-1.amazonaws.com/acasia/images/acasia-tree-mark.png"},"background":{"decoration":"grid","color":{"light":"#F7F4EF","dark":"#3A3A3A"}},"navbar":{"links":[{"href":"mailto:support@acasia.com","label":"Support"},{"href":"https://acasia.com/contact","label":"Contact"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.mintlify.com"}},"footer":{"socials":{"x":"https://x.com/acasia_compute","linkedin":"https://www.linkedin.com/company/acasiatech","website":"https://acasia.com","youtube":"https://www.youtube.com/@Acasia_Compute"}},"fonts":{"heading":{"family":"Inter","weight":600},"body":{"family":"Inter","weight":400}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"interaction":{"drilldown":true},"markdown":{"schema":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"acasia","hasAudioNarration":false,"actualSubdomain":"acasia","customDomains":["docs.acasia.com"],"gitSource":{"type":"github","owner":"acasiadev","repo":"acasia-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aaadfc51a10747d4ae5c314","clientVersion":"0.0.4142","searchFilterCounts":[{"language":"default","tag":"Cloud","count":18},{"language":"default","tag":"Settings","count":7},{"language":"default","tag":"Developer Portal","count":5},{"language":"default","tag":"Getting Started","count":4},{"language":"default","tag":"Marketplace","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"platform-architecture","slug":"/platform-architecture","pageMetadata":{"title":"Platform architecture","sidebarTitle":"Platform architecture","description":"How Acasia Cloud is structured — the resource model, cluster lifecycle states, and how desired state flows through the control plane to your GPU hardware.","href":"/platform-architecture"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"How Acasia Cloud is structured — the resource model, cluster lifecycle states, and how desired state flows through the control plane to your GPU hardware.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Table,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Acasia Cloud is organized into two surfaces — the Developer Portal and Settings — built on a shared resource model. Resources follow a layered hierarchy: Organization → Machine → Cluster → Inference Endpoint → Application. Desired state lives in Cloud; the control plane installed on your hardware applies it to the runtime and reports status back through logs.`}),`\n`,_jsx(_components.p,{children:`The resource model is the same for capacity rented through the Marketplace and capacity held under a bare metal reservation. What differs is scope and depth. Marketplace rentals always run the control plane, so Cloud reports per GPU — scoped to the GPUs you rented — and can drive cluster and deployment changes. Bare metal customers hold root access to their machines and run their own stack, so Cloud reports at the node level across the machines reserved for them, unless the control plane is installed.`}),`\n`,_jsx(Heading,{level:`2`,id:`platform-layers`,children:`Platform layers`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Layer`}),_jsx(_components.th,{children:`Purpose`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Developer Portal`})}),_jsx(_components.td,{children:`Organization-facing workspace for developers and organization administrators to use GPU capacity, create clusters, deploy inference endpoints, attach SSH keys, and create API keys.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Settings`})}),_jsx(_components.td,{children:`Account and organization management area for profile, security, billing, SSH keys, users, and organization metadata.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Control plane`})}),_jsx(_components.td,{children:`Software installed on the GPU hardware. Reports per-GPU telemetry into Cloud and applies cluster and deployment changes to the runtime. Required on Marketplace rentals.`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`developer-portal`,children:`Developer Portal`}),`\n`,_jsx(_components.p,{children:`The Developer Portal is the organization-facing workspace for using GPU capacity.`}),`\n`,_jsx(_components.p,{children:`Developers and organization administrators use the Developer Portal to:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`View available clusters`}),`\n`,_jsx(_components.li,{children:`Inspect allocated machines`}),`\n`,_jsx(_components.li,{children:`Create clusters from available machine capacity`}),`\n`,_jsx(_components.li,{children:`View cluster hardware details`}),`\n`,_jsx(_components.li,{children:`Attach SSH keys`}),`\n`,_jsx(_components.li,{children:`Connect to clusters`}),`\n`,_jsx(_components.li,{children:`Deploy inference endpoints`}),`\n`,_jsx(_components.li,{children:`Manage active and terminated model deployments`}),`\n`,_jsx(_components.li,{children:`Create API keys for programmatic access`}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`The Developer Portal is scoped to the active organization. Always confirm the selected organization before creating clusters, deploying endpoints, or generating credentials.`})}),`\n`,_jsx(Heading,{level:`3`,id:`settings`,children:`Settings`}),`\n`,_jsx(_components.p,{children:`Settings centralizes user and organization administration.`}),`\n`,_jsx(_components.p,{children:`Settings includes:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Profile management`}),`\n`,_jsx(_components.li,{children:`Password and security settings`}),`\n`,_jsx(_components.li,{children:`Billing and Stripe-managed payment updates`}),`\n`,_jsx(_components.li,{children:`Reusable SSH key management`}),`\n`,_jsx(_components.li,{children:`Organization user invitations and removals`}),`\n`,_jsx(_components.li,{children:`Organization metadata updates`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Some settings are available to all users. Organization-level settings, billing settings, and user management should be restricted to organization administrators or approved billing users.`}),`\n`,_jsx(Heading,{level:`2`,id:`resource-model`,children:`Resource model`}),`\n`,_jsx(_components.p,{children:`Acasia uses a layered resource model. Each layer scopes the layer below it.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Organization → Machine → Cluster → Inference Endpoint → Application or API Consumer`})}),`\n`,_jsx(Heading,{level:`3`,id:`organization`,children:`Organization`}),`\n`,_jsx(_components.p,{children:`An organization is the account boundary in Acasia Cloud. It represents a customer, partner, or internal team, and every rental or reservation is owned by one.`}),`\n`,_jsx(_components.p,{children:`Organizations scope:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Users`}),`\n`,_jsx(_components.li,{children:`Machines`}),`\n`,_jsx(_components.li,{children:`Clusters`}),`\n`,_jsx(_components.li,{children:`Inference deployments`}),`\n`,_jsx(_components.li,{children:`SSH keys`}),`\n`,_jsx(_components.li,{children:`API keys`}),`\n`,_jsx(_components.li,{children:`Billing settings`}),`\n`,_jsx(_components.li,{children:`Logs`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`machine`,children:`Machine`}),`\n`,_jsx(_components.p,{children:`A machine is a GPU-backed compute resource registered in Acasia Cloud. A machine may represent:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`A single GPU server`}),`\n`,_jsx(_components.li,{children:`A DGX-class system`}),`\n`,_jsx(_components.li,{children:`Hardware under a bare metal reservation`}),`\n`,_jsx(_components.li,{children:`Capacity rented through the Marketplace from a third-party hardware owner`}),`\n`,_jsx(_components.li,{children:`A partner-supplied host`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Machines expose resources such as GPU count, GPU model, CPU, RAM, storage, network capacity, status, and control plane state.`}),`\n`,_jsx(Heading,{level:`3`,id:`cluster`,children:`Cluster`}),`\n`,_jsx(_components.p,{children:`A cluster is a deployable allocation of GPU, CPU, RAM, and storage carved from one or more machines. A cluster is the unit a workload runs on, and it can be resized as the workload changes.`}),`\n`,_jsx(_components.p,{children:`Clusters move through a defined set of lifecycle states.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`State`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Active`}),_jsx(_components.td,{children:`The cluster is available for use.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Provisioning`}),_jsx(_components.td,{children:`The cluster is being created or prepared.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Terminated`}),_jsx(_components.td,{children:`The cluster has been stopped or removed.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Failed`}),_jsx(_components.td,{children:`The requested operation did not complete successfully.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Out of Sync`}),_jsx(_components.td,{children:`Acasia Cloud and the runtime environment do not currently match.`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`inference-endpoint`,children:`Inference endpoint`}),`\n`,_jsx(_components.p,{children:`An inference endpoint is a deployed model service running on a cluster. Models are selected from the model library in Acasia Cloud and exposed over a REST API that applications, agents, and workflows call.`}),`\n`,_jsx(Heading,{level:`2`,id:`desired-state-operating-model`,children:`Desired-state operating model`}),`\n`,_jsx(_components.p,{children:`Acasia separates the control-plane request from the runtime operation. Cloud records desired state; the control plane applies or verifies it on the underlying machine and reports back.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`User creates a cluster`}),`\n`,_jsx(_components.li,{children:`Acasia Cloud records the desired cluster allocation`}),`\n`,_jsx(_components.li,{children:`The control plane applies or verifies the allocation on the machine`}),`\n`,_jsx(_components.li,{children:`Cluster status updates in the Developer Portal`}),`\n`,_jsx(_components.li,{children:`Logs record the result`}),`\n`]}),`\n`,_jsx(_components.p,{children:`This separation makes it easier to track changes, troubleshoot failures, and audit platform activity. It also means a discrepancy between what was requested and what the hardware actually did is visible as a state, rather than hidden.`}),`\n`,_jsx(Heading,{level:`2`,id:`developer-workflow-architecture`,children:`Developer workflow architecture`}),`\n`,_jsx(_components.p,{children:`A typical developer workflow moves through the following path:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Confirm organization context`}),`\n`,_jsx(_components.li,{children:`Review available machines and clusters`}),`\n`,_jsx(_components.li,{children:`Create or select a cluster`}),`\n`,_jsx(_components.li,{children:`Attach an SSH key if direct access is needed`}),`\n`,_jsx(_components.li,{children:`Deploy an inference endpoint`}),`\n`,_jsx(_components.li,{children:`Create or use an API key`}),`\n`,_jsx(_components.li,{children:`Connect the application or workflow`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`credential-architecture`,children:`Credential architecture`}),`\n`,_jsx(_components.p,{children:`Acasia uses two credential types: SSH keys and API keys.`}),`\n`,_jsx(Heading,{level:`3`,id:`ssh-keys`,children:`SSH keys`}),`\n`,_jsx(_components.p,{children:`SSH keys authorize secure shell access to clusters.`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Users should only upload public SSH keys. Private keys must remain on the local machine or inside an approved secret-management system.`})}),`\n`,_jsx(_components.p,{children:`SSH access depends on:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`An active cluster`}),`\n`,_jsx(_components.li,{children:`A valid public SSH key attached to the cluster`}),`\n`,_jsx(_components.li,{children:`The matching private key available locally`}),`\n`,_jsx(_components.li,{children:`Network access to the cluster host`}),`\n`,_jsx(_components.li,{children:`Correct organization context and permissions`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`api-keys`,children:`API keys`}),`\n`,_jsx(_components.p,{children:`API keys authorize programmatic access to Acasia services. API keys should be:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Named by application, environment, or owner`}),`\n`,_jsx(_components.li,{children:`Stored in a secrets manager`}),`\n`,_jsx(_components.li,{children:`Rotated periodically`}),`\n`,_jsx(_components.li,{children:`Removed when no longer needed`}),`\n`,_jsx(_components.li,{children:`Never committed to source code`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`operational-visibility`,children:`Operational visibility`}),`\n`,_jsx(_components.p,{children:`Acasia Cloud records platform activity through logs and status fields. Logs should be used to investigate:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Organization creation`}),`\n`,_jsx(_components.li,{children:`User invitations`}),`\n`,_jsx(_components.li,{children:`Machine registration`}),`\n`,_jsx(_components.li,{children:`Cluster creation, edits, and deletion`}),`\n`,_jsx(_components.li,{children:`Inference deployment activity`}),`\n`,_jsx(_components.li,{children:`SSH key changes`}),`\n`,_jsx(_components.li,{children:`API key creation or removal`}),`\n`,_jsx(_components.li,{children:`Billing updates`}),`\n`,_jsx(_components.li,{children:`Control plane reflection events`}),`\n`,_jsx(_components.li,{children:`Failed or out-of-sync operations`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`example-end-to-end-flow`,children:`Example end-to-end flow`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Developer creates an API key`}),`\n`,_jsx(_components.li,{children:`Developer deploys a model endpoint on an active cluster`}),`\n`,_jsx(_components.li,{children:`Application sends a request to the Acasia endpoint`}),`\n`,_jsx(_components.li,{children:`Endpoint runs the model on the allocated GPU cluster`}),`\n`,_jsx(_components.li,{children:`Model returns structured output`}),`\n`,_jsx(_components.li,{children:`Application renders the result to the user`}),`\n`,_jsx(_components.li,{children:`Logs and endpoint status support monitoring and troubleshooting`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`design-principles`,children:`Design principles`}),`\n`,_jsx(Heading,{level:`3`,id:`one-platform-two-purchase-paths`,children:`One platform, two purchase paths`}),`\n`,_jsx(_components.p,{children:`Marketplace rentals and bare metal reservations resolve to the same resource model and the same Acasia Cloud surfaces. Depth of reporting and control follows what is installed on the hardware, not which page you are on.`}),`\n`,_jsx(Heading,{level:`3`,id:`organization-scoped-control`,children:`Organization-scoped control`}),`\n`,_jsx(_components.p,{children:`Resources, users, credentials, clusters, endpoints, and billing settings are scoped to an organization. This keeps customer environments separated.`}),`\n`,_jsx(Heading,{level:`3`,id:`human-controlled-infrastructure`,children:`Human-controlled infrastructure`}),`\n`,_jsx(_components.p,{children:`Developers initiate changes intentionally. High-impact actions such as deleting clusters, users, or endpoints should require dependency review.`}),`\n`,_jsx(Heading,{level:`3`,id:`developer-self-service`,children:`Developer self-service`}),`\n`,_jsx(_components.p,{children:`Developers can use allocated compute without needing elevated access. The Developer Portal gives them the ability to inspect clusters, deploy endpoints, manage credentials, and connect applications.`}),`\n`,_jsx(Heading,{level:`3`,id:`auditability`,children:`Auditability`}),`\n`,_jsx(_components.p,{children:`Important actions are visible through logs. This helps teams understand what changed, who changed it, and whether the runtime successfully reflected the requested state.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Platform architecture","sidebarTitle":"Platform architecture","description":"How Acasia Cloud is structured — the resource model, cluster lifecycle states, and how desired state flows through the control plane to your GPU hardware.","href":"/platform-architecture"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Platform layers","slug":"platform-layers","depth":2,"children":[{"title":"Developer Portal","slug":"developer-portal","depth":3,"children":[]},{"title":"Settings","slug":"settings","depth":3,"children":[]}]},{"title":"Resource model","slug":"resource-model","depth":2,"children":[{"title":"Organization","slug":"organization","depth":3,"children":[]},{"title":"Machine","slug":"machine","depth":3,"children":[]},{"title":"Cluster","slug":"cluster","depth":3,"children":[]},{"title":"Inference endpoint","slug":"inference-endpoint","depth":3,"children":[]}]},{"title":"Desired-state operating model","slug":"desired-state-operating-model","depth":2,"children":[]},{"title":"Developer workflow architecture","slug":"developer-workflow-architecture","depth":2,"children":[]},{"title":"Credential architecture","slug":"credential-architecture","depth":2,"children":[{"title":"SSH keys","slug":"ssh-keys","depth":3,"children":[]},{"title":"API keys","slug":"api-keys","depth":3,"children":[]}]},{"title":"Operational visibility","slug":"operational-visibility","depth":2,"children":[]},{"title":"Example end-to-end flow","slug":"example-end-to-end-flow","depth":2,"children":[]},{"title":"Design principles","slug":"design-principles","depth":2,"children":[{"title":"One platform, two purchase paths","slug":"one-platform-two-purchase-paths","depth":3,"children":[]},{"title":"Organization-scoped control","slug":"organization-scoped-control","depth":3,"children":[]},{"title":"Human-controlled infrastructure","slug":"human-controlled-infrastructure","depth":3,"children":[]},{"title":"Developer self-service","slug":"developer-self-service","depth":3,"children":[]},{"title":"Auditability","slug":"auditability","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"acasia","siteName":"Acasia","title":"Platform architecture - Acasia","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-15T17:14:35.746Z","originalFileLocation":"platform-architecture.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"How Acasia Cloud is structured — the resource model, cluster lifecycle states, and how desired state flows through the control plane to your GPU hardware.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Acasia\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/acasia/f69Ng4lXw3PReJiR/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/acasia/f69Ng4lXw3PReJiR/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/acasia/f69Ng4lXw3PReJiR/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/acasia/f69Ng4lXw3PReJiR/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/acasia/f69Ng4lXw3PReJiR/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/acasia/f69Ng4lXw3PReJiR/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/acasia/f69Ng4lXw3PReJiR/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/acasia/f69Ng4lXw3PReJiR/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/acasia/f69Ng4lXw3PReJiR/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Platform architecture - Acasia\">\u003cmeta data-mint-head property=\"og:description\" content=\"How Acasia Cloud is structured — the resource model, cluster lifecycle states, and how desired state flows through the control plane to your GPU hardware.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Acasia\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.acasia.com/platform-architecture\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://acasia.mintlify.site/_mintlify/api/og/v2?division=Cloud\u0026amp;title=Platform+architecture\u0026amp;description=How+Acasia+Cloud+is+structured+%E2%80%94+the+resource+model%2C+cluster+lifecycle+states%2C+and+how+desired+state+flows+through+the+control+plane+to+your+GPU+hardware.\u0026amp;theme=f24dcf65c1b340fc5ea74810\u0026amp;signature=f4ed0d71799caf1db4da6d333337721812bf776bf6bb8f460ea2851e08a9f687\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Platform architecture - Acasia\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How Acasia Cloud is structured — the resource model, cluster lifecycle states, and how desired state flows through the control plane to your GPU hardware.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://acasia.mintlify.site/_mintlify/api/og/v2?division=Cloud\u0026amp;title=Platform+architecture\u0026amp;description=How+Acasia+Cloud+is+structured+%E2%80%94+the+resource+model%2C+cluster+lifecycle+states%2C+and+how+desired+state+flows+through+the+control+plane+to+your+GPU+hardware.\u0026amp;theme=f24dcf65c1b340fc5ea74810\u0026amp;signature=f4ed0d71799caf1db4da6d333337721812bf776bf6bb8f460ea2851e08a9f687\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/acasia/f69Ng4lXw3PReJiR/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Acasia\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0D6D40\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.acasia.com/platform-architecture\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/platform-architecture.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.acasia.com/#organization\",\"name\":\"Acasia\",\"url\":\"https://docs.acasia.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/acasia/UdgXGI9RjuY0SENf/images/AcasiaDocs(1).png?fit=max\u0026auto=format\u0026n=UdgXGI9RjuY0SENf\u0026q=85\u0026s=0fb4ba5917d74ae9edf418bef89524c3\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.acasia.com#website\",\"name\":\"Acasia\",\"url\":\"https://docs.acasia.com\",\"publisher\":{\"@id\":\"https://docs.acasia.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.acasia.com/platform-architecture#webpage\",\"url\":\"https://docs.acasia.com/platform-architecture\",\"name\":\"Platform architecture\",\"description\":\"How Acasia Cloud is structured — the resource model, cluster lifecycle states, and how desired state flows through the control plane to your GPU hardware.\",\"dateModified\":\"2026-09-15T17:14:35.746Z\",\"isPartOf\":{\"@id\":\"https://docs.acasia.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.acasia.com/platform-architecture#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.acasia.com/platform-architecture#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Cloud\",\"item\":\"https://docs.acasia.com/cloud/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Platform architecture\",\"item\":\"https://docs.acasia.com/platform-architecture\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.acasia.com/platform-architecture#article\",\"headline\":\"Platform architecture\",\"name\":\"Platform architecture\",\"description\":\"How Acasia Cloud is structured — the resource model, cluster lifecycle states, and how desired state flows through the control plane to your GPU hardware.\",\"url\":\"https://docs.acasia.com/platform-architecture\",\"mainEntityOfPage\":{\"@id\":\"https://docs.acasia.com/platform-architecture#webpage\"},\"dateModified\":\"2026-09-15T17:14:35.746Z\",\"publisher\":{\"@id\":\"https://docs.acasia.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.acasia.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Acasia\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Acasia\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/platform-architecture.md","siteName":"Acasia","nav":{"global":null,"pages":[{"title":"What is Acasia?","sidebarTitle":"What is Acasia?","icon":"circle-info","href":"/what-is-acasia"},{"title":"Bare metal reservations","sidebarTitle":"Bare Metal","icon":"server","href":"/bare-metal/overview"},{"group":"Cloud","icon":"cloud","pages":[{"title":"Acasia Cloud","sidebarTitle":"Overview","description":"The web platform for the capacity your organization holds — telemetry, hardware alerting, credentials, and, where the control plane is installed, clusters and model deployments.","href":"/cloud/overview"},{"title":"Platform architecture","sidebarTitle":"Platform architecture","href":"/platform-architecture"},{"group":"Getting Started","pages":[{"title":"Deploy your first inference endpoint","sidebarTitle":"Deploy an Endpoint","description":"Pick a model, pick a cluster, and have a callable REST endpoint in about five minutes.","tag":"Quickstart","href":"/get-started/deploy-inference-endpoint"},{"title":"Create an API key","sidebarTitle":"Create API Key","tag":"Quickstart","href":"/get-started/create-api-key"},{"title":"Connect to a cluster with SSH","sidebarTitle":"Connect with SSH","tag":"Quickstart","href":"/get-started/connect-cluster-ssh"},{"title":"Connect your IDE to a cluster","sidebarTitle":"Connect your IDE","tag":"Quickstart","href":"/get-started/connect-ide-to-cluster"}]},{"group":"Developer Portal","pages":[{"title":"Dashboard","sidebarTitle":"Dashboard","href":"/developer-portal/dashboard"},{"title":"Machines","sidebarTitle":"Machines","href":"/developer-portal/machines"},{"title":"Clusters","sidebarTitle":"Clusters","href":"/developer-portal/clusters"},{"title":"Inference Models","sidebarTitle":"Inference Models","href":"/developer-portal/inference-models"},{"title":"API Keys","sidebarTitle":"API Keys","href":"/developer-portal/api-keys"}]},{"group":"Settings","pages":[{"title":"Settings","sidebarTitle":"Overview","href":"/settings/overview"},{"title":"Profile","sidebarTitle":"Profile","href":"/settings/profile"},{"title":"Security","sidebarTitle":"Security","href":"/settings/security"},{"title":"Billing","sidebarTitle":"Billing","href":"/settings/billing"},{"title":"SSH Keys","sidebarTitle":"SSH Keys","href":"/settings/ssh-keys"},{"title":"Users","sidebarTitle":"Users","href":"/settings/users"},{"title":"Invite Member","sidebarTitle":"Invite Member","href":"/settings/invite-member"}]}]},{"group":"Marketplace","icon":"cart-shopping","pages":[{"title":"How the Marketplace works","sidebarTitle":"Overview","href":"/marketplace/overview"},{"title":"Rent GPU capacity","sidebarTitle":"Rent GPU capacity","tag":"Quickstart","href":"/marketplace/rent-gpu-capacity"},{"title":"The control plane","sidebarTitle":"The control plane","href":"/marketplace/control-plane"}]}]},"basePath":"","title":"Platform architecture - Acasia","buildId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","deploymentId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","dynamics":[],"chunks":[]}