-
Notifications
You must be signed in to change notification settings - Fork 3
docs: Add new feature documentation and stubs #115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: prod-staging
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -42,3 +42,5 @@ dist/ | |
| # generated files | ||
| apis/platform.yaml | ||
| build.log | ||
| AGENTS.md | ||
| unikernel-mentions-docs - Sheet1.csv | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| --- | ||
| title: Live Migration | ||
| navigation_icon: move | ||
| --- | ||
|
|
||
| Live migration moves a running instance from one host to another with minimal downtime. | ||
|
|
||
|  | ||
|
|
||
| Unikraft Cloud uses pre-copy migration: the platform iteratively transfers memory pages while the instance continues to run. | ||
| During the final switchover, the platform pauses the instance for milliseconds (typically under 10ms) to transfer the remaining dirty pages and resume execution on the destination host. | ||
|
|
||
| :::note | ||
| This feature is in preview and isn't available on the public platform. | ||
| ::: |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| --- | ||
| title: Sandbox API | ||
| navigation_icon: box | ||
| --- | ||
|
|
||
| The sandbox API provides programmatic control over isolated execution environments. | ||
| Combine templates, inline ROMs, scheduled commands, and [forking](/features/forking) to build sandbox products on Unikraft Cloud. | ||
|
|
||
| :::note | ||
| This feature is in development. | ||
| More details coming soon. | ||
| ::: |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -7,6 +7,8 @@ Unikraft Cloud integrates seamlessly with any Kubernetes cluster through a virtu | |
| This is a lightweight Kubernetes node implementation which connects your cluster to Unikraft Cloud's high-performance compute instead of running real pods locally. | ||
| This enables developers to deploy and manage Unikraft microVMs as if they were native Kubernetes pods. | ||
|
|
||
|  | ||
|
|
||
| This integration extends Kubernetes' scheduling and orchestration capabilities to the Unikraft Cloud platform. | ||
| This allows workloads to take advantage of microVM-level I/O performance, security, cold start and transparent scale-to-zero efficiency while retaining full compatibility with existing Kubernetes tooling. | ||
|
|
||
|
|
@@ -367,6 +369,78 @@ Kraftlet reads the following annotations from Pod and Service objects to configu | |
| |---|---|---|---| | ||
| | `cloud.unikraft.v1.services/domain` | string | — | Custom domain for the Unikraft Cloud service. For multi-container pods, prefix with the container name (`cloud.unikraft.v1.services/domain.<containerName>`) to set a per-container domain, or use the global annotation to derive `<containerName>-<domain>` automatically. | | ||
|
|
||
| ## CRD reference | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [vale] reported by reviewdog 🐶 |
||
|
|
||
| The operator defines three CRDs in the `unikraft.com/v1alpha1` API group. | ||
|
|
||
| ### Instance CRD | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [vale] reported by reviewdog 🐶
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [vale] reported by reviewdog 🐶 |
||
|
|
||
| | Field | Type | Required | Mutable | Description | | ||
| |-------|------|----------|---------|-------------| | ||
| | `name` | string | No | No | Instance name | | ||
| | `image` | string | Yes | No | Container image reference | | ||
| | `args` | []string | No | Yes | Arguments passed to the instance | | ||
| | `env` | map[string]string | No | Yes | Environment variables | | ||
| | `memory_mb` | int64 | No | Yes | Memory in MiB (default: 128) | | ||
| | `vcpus` | int32 | No | Yes | Virtual CPUs (default: 1) | | ||
| | `service_group` | object | No | No | Service group with domains and services | | ||
| | `volumes` | []object | No | No | Volume mounts with UUID/name, size_mb, at, readonly | | ||
| | `autostart` | bool | No | No | Start on creation | | ||
| | `replicas` | int64 | No | No | Number of replicas | | ||
| | `restart_policy` | enum | No | No | never, always, or on_failure | | ||
| | `scale_to_zero` | object | No | Yes | Policy, stateful, cooldown_time_ms, notify_time_ms | | ||
| | `features` | []enum | No | No | Feature flags (delete_on_stop) | | ||
| | `roms` | []object | No | No | ROM images with name and image | | ||
| | `tags` | []string | No | No | Arbitrary tags | | ||
| | `template` | object | No | No | Template reference with UUID or name | | ||
| | `sched_priority` | int32 | No | No | Scheduling priority | | ||
|
|
||
| Most spec fields don't change after creation. | ||
| Fields marked mutable accept in-place updates. | ||
|
|
||
| ### Service CRD | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [vale] reported by reviewdog 🐶
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [vale] reported by reviewdog 🐶 |
||
|
|
||
| | Field | Type | Required | Description | | ||
| |-------|------|----------|-------------| | ||
| | `name` | string | No | Service group name | | ||
| | `services` | []object | No | Port mappings (port, destination_port, handlers) | | ||
| | `domains` | []object | No | Domain bindings (name, certificate) | | ||
| | `soft_limit` | uint64 | No | Soft connection limit | | ||
| | `hard_limit` | uint64 | No | Hard connection limit | | ||
|
|
||
| Service CRDs don't support in-place updates. | ||
|
|
||
| ### Volume CRD | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [vale] reported by reviewdog 🐶
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [vale] reported by reviewdog 🐶 |
||
|
|
||
| | Field | Type | Required | Description | | ||
| |-------|------|----------|-------------| | ||
| | `name` | string | No | Volume name | | ||
| | `size_mb` | uint64 | Yes | Volume size in MiB | | ||
|
|
||
| Volume CRDs don't support in-place updates. | ||
|
|
||
| ## Helm chart configuration | ||
|
|
||
| | Value | Description | | ||
| |-------|-------------| | ||
| | `ukc.metro` | (required) Platform metro identifier | | ||
| | `ukc.token` | (required) API authentication token | | ||
| | `image.name` | Operator container image name | | ||
| | `image.tag` | Operator container image tag | | ||
| | `image.pullSecrets` | Image pull secrets | | ||
| | `leaderElection.enabled` | Enable leader election for HA | | ||
| | `resources` | Kubernetes resource requests/limits | | ||
|
|
||
| ## Operator flags | ||
|
|
||
| | Flag | Environment variable | Default | Description | | ||
| |------|---------------------|---------|-------------| | ||
| | `--ukc-token` | `OPERATOR_UKC_TOKEN` | — | (required) API token | | ||
| | `--ukc-metro` | `OPERATOR_UKC_METRO` | — | (required) Metro identifier | | ||
| | `--metrics-addr` | — | `:8080` | Metrics endpoint address | | ||
| | `--probe-addr` | — | `:8081` | Health probe address | | ||
| | `--enable-leader-election` | — | false | Enable HA leader election | | ||
|
|
||
| ## Resources | ||
|
|
||
| - See [Unikraft public roadmap](https://roadmap.unikraft.com) for planned features or to suggest use cases and ideas. | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚫 [vale] reported by reviewdog 🐶
[Microsoft.Headings] 'CRD reference' should use sentence-style capitalization.