https://github.com/syscode-labs/talos-ext-firecracker
https://github.com/syscode-labs/talos-ext-firecracker
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/syscode-labs/talos-ext-firecracker
- Owner: syscode-labs
- Created: 2026-03-01T01:59:19.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-03-16T21:28:24.000Z (3 months ago)
- Last Synced: 2026-03-17T03:53:00.298Z (3 months ago)
- Language: Shell
- Size: 29.3 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Talos Firecracker Extension
[](https://github.com/syscode-labs/talos-ext-firecracker/actions/workflows/ci.yml)
[](https://github.com/syscode-labs/talos-ext-firecracker/actions/workflows/release-please.yml)
[](https://github.com/syscode-labs/talos-ext-firecracker/actions/workflows/release.yml)
[](https://ghcr.io/syscode-labs/talos-ext-firecracker)
[](https://www.talos.dev/)
[](https://github.com/firecracker-microvm/firecracker/releases/tag/v1.9.0)
[](#)
[](https://www.apache.org/licenses/LICENSE-2.0)
This repo builds a **Talos system extension** that adds:
- `firecracker`
- `jailer`
In plain terms: it gives a Talos node the Firecracker binaries so that higher-level systems can start lightweight microVMs.
## What This Does
1. Downloads Firecracker release tarballs for `amd64` and `arm64`
2. Verifies tarball checksums before extracting
3. Packages binaries into a Talos extension image
4. Publishes multi-arch images to GHCR on tagged releases
## How Release Flow Works
```mermaid
flowchart LR
A[Push to main] --> B[CI: lint + build]
B --> C[Release Please opens/updates PR]
C --> D[You review and merge release PR]
D --> E[Tag created]
E --> F[Publish workflow]
F --> G[GHCR image + GitHub Release]
```
## Quick Start
Build locally:
```bash
docker buildx build --platform linux/amd64,linux/arm64 -t talos-ext-firecracker:test .
```
Run local checks:
```bash
pre-commit run --all-files
```
Install git hooks:
```bash
pre-commit install
pre-commit install --hook-type commit-msg
```
## Key Files
- [`Dockerfile`](Dockerfile): downloads, verifies, and installs Firecracker binaries
- [`manifest.yaml`](manifest.yaml): Talos extension metadata
- [`.github/workflows/ci.yml`](.github/workflows/ci.yml): lint/build checks
- [`.github/workflows/release-please.yml`](.github/workflows/release-please.yml): automated release PRs
- [`.github/workflows/release.yml`](.github/workflows/release.yml): publish on tags
- [`docs/release-process.md`](docs/release-process.md): release policy notes
## Links
- Talos extensions docs: https://www.talos.dev/latest/talos-guides/configuration/system-extensions/
- Firecracker docs: https://firecracker-microvm.github.io/
- Container image: https://ghcr.io/syscode-labs/talos-ext-firecracker