Example GitOps repository for Firework, focused on building Firecracker-ready rootfs images from Docker images and publishing them to S3.
- firework - orchestrator runtime (
firework-agent,enricher,scheduler) - firework-deployment-example - Terraform + Packer deployment on AWS
Service/config semantics are documented in the main firework repository:
- Configuration reference: https://github.com/artemnikitin/firework/tree/main/docs/configs
- Architecture details: https://github.com/artemnikitin/firework/tree/main/docs/architecture
This repository intentionally keeps only high-level pipeline guidance.
flowchart LR
GH[Git push to this repo] --> GHA[GitHub Actions build-images]
GH --> WEBHOOK[Webhook to enricher]
GHA --> IMG[S3 images bucket<br/>*-rootfs.ext4]
WEBHOOK --> ENRICHER[enricher Lambda]
ENRICHER --> CFG[S3 configs bucket<br/>nodes/*.yaml]
IMG --> AGENT[firework-agent nodes]
CFG --> AGENT
AGENT --> VM[Firecracker microVMs reconciled]
The build-images workflow does the following on relevant pushes:
- Resolves
fc-init(release asset,go install, or bundled fallback build). - Iterates over
tenants/*/*.yaml. - Reads
source_imageand optionalrootfs_size_mbfrom each tenant file. - Builds
<tenant>-<service>-rootfs.ext4viascripts/docker-to-rootfs.sh. - Applies config overlays with precedence:
configs/<tenant>-<service>/(tenant-specific)- then
configs/<service>/(shared)
- Uploads resulting
*-rootfs.ext4artifacts to S3.