Fabrik runs as k3s-native Jobs/CronJobs with k3d for local/CI testing.
- Specs live in
specs/. - Active Kubernetes specs start at 05X.
- Local/CI testing is k3d-only (
specs/057-k3s-local-testing.md).
specs/050-k3s-infrastructure.mdspecs/051-k3s-orchestrator.mdspecs/052-k3s-orchestrator-dashboard.mdspecs/057-k3s-local-testing.mdspecs/060-security-hardening.mdspecs/061-incluster-optimizer.mdspecs/062-fabrik-laos-lint.mdspecs/063-benchmark-system.md
- Labels/annotations use the
fabrik.shdomain (seespecs/051-k3s-orchestrator.md).
To test smithers for running workflows like coding a simple hello world page locally see examples/hello-world-local/README.md.
For local testing use k3d.
Create the single node k3s cluster with k3d locally
scripts/k3d/cluster.sh create single dev-single
scripts/k3d/cluster.sh verify single dev-singleCreate the multi-node k3s cluster (1 server + 2 agents)
scripts/k3d/cluster.sh create multi dev-multi
scripts/k3d/cluster.sh verify multi dev-multithen check it works with
k3d kubeconfig get dev-multi > /tmp/fabrik-dev-multi.kubeconfig
KUBECONFIG=/tmp/fabrik-dev-multi.kubeconfig kubectl cluster-info
KUBECONFIG=/tmp/fabrik-dev-multi.kubeconfig kubectl get nodes
To clean up
scripts/k3d/cluster.sh delete dev-single
scripts/k3d/cluster.sh delete dev-multi
If you omit the cluster name, single defaults to dev-single and multi defaults to dev-multi.
The default registry ports are 5111 for single and 5112 for multi, so both example clusters can run at the same time.