Skip to content

Commit 18013fb

Browse files
committed
High level journeys
Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
1 parent 7da7095 commit 18013fb

File tree

1 file changed

+31
-12
lines changed

1 file changed

+31
-12
lines changed

docs/platform/overview.md

Lines changed: 31 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Slicer Platform
22

3+
Slicer Platform is for when you want to build on top of Slicer.
4+
35
Slicer gives you on-demand Linux VMs through a REST API and Go SDK. You can create a VM, run commands inside it, copy files in and out, and delete it - all over HTTP.
46

57
This section assumes [Slicer for Linux](/getting-started/install/), but many of the REST API examples will also work on [Slicer for Mac](/mac/overview/) if you use the `sbox` host group.
@@ -12,6 +14,34 @@ Slicer runs on your hardware. Every VM is a real microVM with its own kernel - n
1214

1315
Your data never leaves your network, there is no third-party control plane, and you pay a flat rate per [Platform license](https://slicervm.com/pricing/) regardless of how many VMs you run.
1416

17+
## What you can do via the API
18+
19+
| Capability | Endpoint | Details |
20+
|---|---|---|
21+
| Create a VM | `POST /hostgroup/NAME/nodes` | Specify CPU, RAM, userdata, tags |
22+
| Delete a VM | `DELETE /hostgroup/NAME/nodes/HOSTNAME` | Cleans up disk for ephemeral VMs |
23+
| List VMs | `GET /nodes` | Includes tags, status, IP, resources |
24+
| Execute commands | `POST /vm/HOSTNAME/exec` | Streaming stdout/stderr, exit codes |
25+
| Interactive shell (PTY) | `GET /vm/HOSTNAME/shell` | Full terminal session via the agent |
26+
| Copy files to/from VM | `POST/GET /vm/HOSTNAME/cp` | Binary or tar mode, set uid/gid/permissions |
27+
| Agent health | `HEAD/GET /vm/HOSTNAME/health` | Check readiness, userdata completion |
28+
| VM stats | `GET /nodes/stats` | CPU, memory, disk, network usage |
29+
| Pause / resume | `POST /vm/HOSTNAME/pause\|resume` | Freeze CPU, resume instantly |
30+
| Shutdown / reboot | `POST /vm/HOSTNAME/shutdown` | Graceful shutdown or reboot |
31+
| Secrets | `POST/GET/DELETE /secrets` | Inject credentials into VMs |
32+
| Serial logs | `GET /vm/HOSTNAME/logs` | Boot logs and serial console output |
33+
| Port forwarding | `GET /vm/HOSTNAME/forward` | TCP tunnels via the agent (also supports UNIX sockets) |
34+
35+
Full details in the [REST API reference](/reference/api/).
36+
37+
## Integration patterns
38+
39+
| Pattern | When to use it | Guide |
40+
|---|---|---|
41+
| **Run tasks in Slicer** | Background jobs, crons, headless agents, batch processing | [Run a task in Slicer](/platform/ephemeral-tasks/) |
42+
| **Slicer per host** | Single daemon, all tenants share it, tags track ownership | [Single Slicer instance](/platform/single-instance/) |
43+
| **Slicer per tenant** | One daemon per tenant, UNIX sockets, isolated networking | [Instance per tenant](/platform/instance-per-tenant/) |
44+
1545
## What you get
1646

1747
Each VM runs a real Linux kernel with systemd. It is not a container.
@@ -63,10 +93,7 @@ The difference between "Slicer for Linux" and "Slicer Platform" is who is drivin
6393
└──────────────┘
6494
```
6595

66-
There are two deployment models depending on your isolation requirements:
67-
68-
* [Single Slicer instance](/platform/single-instance/) - one daemon, all tenants share it, use tags to track ownership
69-
* [Instance per tenant](/platform/instance-per-tenant/) - one daemon per tenant with its own UNIX socket and isolated network
96+
There are two deployment models depending on your isolation requirements. See [integration patterns](#integration-patterns) above.
7097

7198
A typical request flow for a code execution platform:
7299

@@ -81,14 +108,6 @@ A typical request flow for a code execution platform:
81108

82109
The entire flow takes seconds. Each user gets a dedicated VM with its own kernel - no shared state, no container escapes.
83110

84-
## API surfaces
85-
86-
Slicer exposes three ways to manage VMs programmatically:
87-
88-
* **REST API**: HTTP endpoints for the full VM lifecycle. Works from any language. See the [API reference](/reference/api/).
89-
* **Go SDK**: a Go client library that wraps the REST API. See the [SDK on GitHub](https://github.com/slicervm/sdk).
90-
* **CLI**: `slicer vm` commands that call the same API, useful for scripting and exploration.
91-
92111
## Next steps
93112

94113
* [Quickstart: create a sandbox via API](/platform/quickstart/) - working curl examples in under 3 minutes

0 commit comments

Comments
 (0)