Self-hosted over SSH
Hardware you own, reached over SSH. Preview: adapter built, not wired into apply.
- Status
- Preview
- Kind
- Self-hosted
- Provider id
self-hosted- Regions and residency
- The location you declare for each host
Preview: not wired into apply
The SSH adapter exists and is tested against a mock SSH transport. It has not been tested against real hosts, and amicu apply cannot deploy to it yet.
Use this provider
Remote deployment over SSH is not available from HCL yet. What works today is running amicu on the machine itself with the on_prem provider, which behaves like This machine:
resource "hardware_profile" "rack_gpu" {
provider = "on_prem"
accelerator {
kind = "gpu"
model = "l40s"
count = 1
memory = "48GiB"
}
memory = "128GiB"
}Install amicu and the runtime on the host, then run amicu apply there.
Overview
Unlike the cloud adapters, self-hosted has no cloud API and no fixed catalog. It represents bare-metal boxes and existing clusters that an operator declares. Each declared host carries its resources and the region where it physically sits. Residency is derived from that declared location, so a host declared in the EU yields an EU region. Because the operator vouches for the jurisdiction, there is no residency filter.
The adapter validates that a request matches a declared host, then runs host preparation, status, and teardown commands over SSH.
Setup and credentials
The adapter authenticates with an SSH key, resolved transiently when needed. There is no HCL syntax for declaring hosts or for pointing at a key yet, so there is nothing to configure today. When it is wired in, keys will be secret references only (see Secrets).
Configuration reference
| Argument | Type | Default | Required | Notes |
|---|---|---|---|---|
provider | string | none | yes | "on_prem" is the value apply accepts today. "self-hosted" is the adapter id and is not accepted by apply. |
Hosts are declared in code, not in HCL. A declared host has an id, a region with its jurisdiction, an SSH address, user, and optional port, optional accelerator and resources, and an optional hourly cost (amortized own-hardware figure, default zero).
GPUs and regions
Both come from what you declare per host. There is no catalog.
Limits
- Not wired into
apply; no HCL surface for hosts. - Declared hourly costs are your own figures, not a provider quote.
- A failed SSH exchange (connection, authentication, timeout) is reported separately from a command that ran and returned a non-zero status.
Troubleshooting
Source
Adapters: self_hosted.rs and ssh.rs. Status of every provider: Providers.