Skip to content

Releases: restuhaqza/SwarmCracker

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 10:22

What's Changed

  • chore(release): v0.10.0 (4963cb5)
  • fix(test): derive a guaranteed non-existent PID in the force-kill test (0729286)
  • fix: repair multi-host microVM networking, add multi-node lab, drop legacy automation (#29) (9ba2769)
  • feat(golden): run services from a prebuilt golden image (#27) (2729053)
  • fix(vm): stop detached vm create from holding the caller's stdout (#26) (ca2c1d7)
  • feat(kernel): resolve golden image kernel per profile (#28) (dfca86a)
  • fix: symlink-safe essential dirs and stop removing the bogus legacy rootfs (#24) (eee154a)
  • fix(network): stop leaking dnsmasq instances on VM churn (#23) (e37f435)
  • build: add guest-runtime kernel build script (#22) (3d39cd2)
  • test: raise unit coverage to 87.6%, fix broken tests and three bugs (#19) (ac5a65a)
  • fix(executor): stop the benchmark job hanging (non-blocking events + bounded CI) (#20) (e649337)
  • feat(golden): golden image recipes and builder (Docker-in-microVM) (#18) (23ffeba)
  • fix(systemd): create runtime dirs before namespace setup (survive reboot) (#17) (69243a1)
  • feat(service): add --disk to guarantee VM rootfs free space (#15) (4e37d0f)
  • feat(cli): unify vm list/status with daemon-managed VMs (#14) (baf4d4d)
  • feat(console): interactive serial console access (vm attach) (#12) (1e34f74)
  • fix: control-plane CLI, VM lifecycle, DHCP fallback, and image pulls (#9) (cb4c45c)
    Full Changelog: v0.9.2...v0.10.0

🐧 Platform Support

Supported Platforms:

  • βœ… Linux amd64 (x86_64)
  • βœ… Linux arm64 (AArch64)

Requirements:

  • KVM support (/dev/kvm)
  • Linux kernel 4.14+
  • Firecracker v1.14+

Note: macOS and Windows are not supported. SwarmCracker requires KVM virtualization which is Linux-only.

v0.9.2

Choose a tag to compare

@github-actions github-actions released this 27 Sep 14:56
358b809

What's Changed

🐧 Platform Support

Supported Platforms:

  • βœ… Linux amd64 (x86_64)
  • βœ… Linux arm64 (AArch64)

Requirements:

  • KVM support (/dev/kvm)
  • Linux kernel 4.14+
  • Firecracker v1.14+

Note: macOS and Windows are not supported. SwarmCracker requires KVM virtualization which is Linux-only.

v0.9.1

Choose a tag to compare

@github-actions github-actions released this 21 Sep 17:54

What's Changed

  • chore(release): v0.9.1 (5619d23)
  • fix(snapshot): use a single default snapshot directory (663201f)
  • docs: fix mkdocs nav, Vagrant paths, and legacy artifacts (39e8e85)
  • docs(dev): resolve merge conflicts and fix stale paths/versions (19bc9c8)
  • docs(user): modernize CLI reference and user guides (07e3fd3)
  • fix(metrics): correct process uptime field parsing (323331d)
    Full Changelog: v0.9.0...v0.9.1

🐧 Platform Support

Supported Platforms:

  • βœ… Linux amd64 (x86_64)
  • βœ… Linux arm64 (AArch64)

Requirements:

  • KVM support (/dev/kvm)
  • Linux kernel 4.14+
  • Firecracker v1.14+

Note: macOS and Windows are not supported. SwarmCracker requires KVM virtualization which is Linux-only.

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 21 Sep 17:20

What's Changed

  • fix(version): report the real Go version and platform (d52eeb4)
  • chore(release): bump version to v0.9.0 (b694830)
  • test: make environment-dependent tests hermetic (8063429)
  • ci: use golangci-lint v2 action and fix release smoke-test flag (7faf450)
  • fix(lint): migrate to grpc.NewClient and clear remaining findings (10acbac)
  • docs: add two-node E2E test report (3fb4752)
  • build: build swarmd-firecracker and swarmcracker-agent from their packages (2a39185)
  • fix(setup): honor --non-interactive, fix kernel URL, add --download-cni (f81a14c)
  • fix(image): run the OCI workload via the tini init wrapper (16190c1)
  • fix(vmm): do not SIGKILL Firecracker when the start context is canceled (e5424c3)
  • fix(cluster): repair systemd units, enable CNI, accept real join tokens (e96bd87)
  • fix(network,storage): drop VXLAN FDB entry on stale peer removal & harden credential injection path (413bd7c)
  • fix: address low-priority review findings (L1, L2, L3) (6fd8ddc)
  • fix(network): retry VXLAN peer forwarding on transient failure (H1β†’L1) (c0f6b49)
  • chore(lint): reduce errcheck exclusions across production packages (M2) (680e694)
  • fix: complete medium-priority correctness fixes (M3–M12) (ce3c9ff)
  • fix: resolve golangci-lint v2 findings β€” 66 issues to 0 (L4) (efa3274)
  • build: migrate .golangci.yml to v2 format (M1) (304e154)
  • fix: wait for actual swarmd control socket in E2E cluster manager (H7) (b9725ee)
  • fix: ensure cmd.Wait() called exactly once per VMM process (H6) (00f94e1)
  • fix: implement RemoveCNIConfig and CNINetworkAllocator.RunGC stubs (H4, H5) (dd64f88)
  • fix: parse CIDR instead of hardcoded /24 in getPhysicalInterface (H3) (1229461)
  • fix: eliminate data race on v.ctx in peer discovery goroutines (H2) (746f050)
  • fix: align SetEncryptionKeys signature with NetworkKeySetter interface (C2) (ce5faec)
  • fix: use dedicated UDP port for VXLAN peer discovery (C4) (b423c71)
  • fix: remove actual rootfs path (image-ID based) in Controller.Remove (C3) (975a5d8)
  • fix: prevent send-on-closed-channel panic in executor sendEvent (C1) (9dad985)
  • docs: update install flow references to ADR-005 blessed path (POLISH-02) (248bb2d)
  • refactor: slim install.sh to download+checksum only; setup downloads kernel/rootfs (POLISH-02) (514a2cd)
  • refactor: split monolithic cmd/swarmctl and cmd/swarmd-firecracker main.go (OPERATE-06) (9547400)
  • docs: Phase 7 β€” API reference, CLI reference, docs restructure (a63643b)
  • chore: prune obsolete linter exclude rules (e8284b8)
  • fix: resolve 20 low-priority linter findings β€” tar.TypeRegA, SA9003, prealloc, errcheck (f9c44b3)
  • refactor: logging consistency + dependency updates (b9f01f2)
  • fix: golangci-lint clean β€” gofmt, nilerr, ineffassign (7555024)
  • Phase 3 (Medium): file permissions, health server hardening, test fixes (bc3a560)
  • feat: observability stack, gRPC versioning, doc consolidation (0fefb6b)
  • feat: config schema versioning, logrus adapter, Vagrant cleanup (e1af2ff)
  • docs: disaster recovery guide + OPERATE-01 partial (72e05f8)
  • feat: cluster health command, VXLAN static peers, Ansible binary_source (03874e8)
  • feat: setup subcommand, ADR-005 blessed deployment path, misc fixes (9d919ce)
    Full Changelog: v0.8.0...v0.9.0

🐧 Platform Support

Supported Platforms:

  • βœ… Linux amd64 (x86_64)
  • βœ… Linux arm64 (AArch64)

Requirements:

  • KVM support (/dev/kvm)
  • Linux kernel 4.14+
  • Firecracker v1.14+

Note: macOS and Windows are not supported. SwarmCracker requires KVM virtualization which is Linux-only.

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 11 Apr 07:54

What's Changed

  • fix(init): correct systemd ReadWritePath syntax for mount namespace (1be52d4)
  • fix(site): revert symlink - GitHub Pages can't resolve cross-dir symlinks (1c0b593)
  • chore(site): symlink install.sh to root for auto-sync (0864d8a)
  • feat(image): add init wrapper for HTTP server in Firecracker VMs (ae9fb56)
  • fix(vmm): handle both interface slice types for network-interfaces (5fc327e)
  • fix(translator): use kebab-case for Firecracker JSON keys (38432f9)
  • fix(docs): correct all broken documentation references (633ed36)
  • fix(docs): correct broken cluster-init reference in README (529d188)
  • chore: add swarmctl to gitignore and track logo.png (d6f4aff)
  • docs: update version to v0.6.0 (d792b0f)
  • chore(test): add benchmark and installation test scripts (669f892)
  • chore(ansible): update firecracker role for jailer support (b011857)
  • feat(swarmctl): implement node and service management CLI (02a65a4)
  • feat(install): add jailer setup and dynamic kernel URL discovery (5aee5a9)
  • fix(preflight): relax TUN/TAP kernel module check (140d705)
  • fix(join): resolve --manager flag binding and worker state cleanup (ff4ff57)
  • docs: restructure documentation into consolidated guides (8a2a77e)
  • fix(executor): resolve type assertion panics in VMM manager (e64cfd2)
    Full Changelog: v0.6.0...v0.7.0

🐧 Platform Support

Supported Platforms:

  • βœ… Linux amd64 (x86_64)
  • βœ… Linux arm64 (AArch64)

Requirements:

  • KVM support (/dev/kvm)
  • Linux kernel 4.14+
  • Firecracker v1.14+

Note: macOS and Windows are not supported. SwarmCracker requires KVM virtualization which is Linux-only.

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 08 Apr 08:44

What's Changed

  • chore: prepare v0.6.0 release (2da2542)
  • feat(swarmctl): add SwarmKit control client (f3dfb12)
  • feat(swarmkit): add parent-cgroup config for jailer VMs (ed45893)
  • feat(jailer): add cgroup resource limits support (9f92dd0)
  • chore: remove test file from main branch (af32e1f)
  • fix(jailer): create socket directory and remove unsupported seccomp flag (c26ca15)
  • fix(jailer): resolve cgroup version and chroot resource handling (d8732b7)
  • fix(image): resolve podman/docker export container ID parsing (b487dd6)
  • style: fix Go naming conventions and lint issues for Report Card A rating (848476c)
    Full Changelog: v0.5.0...v0.6.0

🐧 Platform Support

Supported Platforms:

  • βœ… Linux amd64 (x86_64)
  • βœ… Linux arm64 (AArch64)

Requirements:

  • KVM support (/dev/kvm)
  • Linux kernel 4.14+
  • Firecracker v1.14+

Note: macOS and Windows are not supported. SwarmCracker requires KVM virtualization which is Linux-only.

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 07 Apr 17:35

What's Changed

  • fix(test): resolve lint warnings and update translator tests (63e37ac)
  • Update infrastructure for new libvirt session (0837960)
  • Reorganize documentation structure (6b0b31f)
  • Fix cluster address migration and VM boot issues (910b47b)
  • fix: Resolve Firecracker/Jailer binary paths using exec.LookPath (d1689c1)
  • test: Fix failing jailer unit tests (9efbd35)
  • feat: Add Firecracker Jailer integration for production security (e09cb0e)
  • docs: use static HTML with Tailwind CDN - no build required (b70c0af)
  • docs: restore Tailwind CSS for landing page (c7a9a59)
  • ci: fix workflow concurrency to prevent blocking Pages deployment (1ad5922)
  • ci: add path filters to prevent unnecessary CI runs (2ec42e5)
  • docs: simplify React app - remove Tailwind CSS dependency (4d0e90c)
  • ci: fix pages workflow to deploy built dist/ folder (d8df84c)
  • docs: restore React + Vite landing page (b668dfc)
  • docs: revert to static HTML for reliable GitHub Pages deployment (9e753ad)
  • ci: fix pages workflow to use npm install instead of npm ci (217789c)
  • docs: rebuild landing page with React + Vite (e1dbb2d)
  • docs: fix container structure in installation section (58850c9)
  • docs: fix code block formatting in installation section (17b2b76)
  • docs: improve code highlighting in installation section (2c4ca5d)
  • docs: add install.sh to custom domain for shorter URL (d2dc97c)
  • docs: update Open Graph meta to use custom domain (0bac3d9)
  • docs: add custom domain CNAME for swarmcracker.restuhaqza.dev (a081a49)
  • Create CNAME (f7fc9b1)
  • Delete CNAME (0d327b5)
  • Create CNAME (18a18f6)
  • docs: add landing page deployment summary (afcdbb3)
  • docs: add landing page with GitHub Pages deployment (d2f4b4b)
  • docs: add cluster initialization test guide (ce62ee1)
    Full Changelog: v0.4.0...v0.5.0

🐧 Platform Support

Supported Platforms:

  • βœ… Linux amd64 (x86_64)
  • βœ… Linux arm64 (AArch64)

Requirements:

  • KVM support (/dev/kvm)
  • Linux kernel 4.14+
  • Firecracker v1.14+

Note: macOS and Windows are not supported. SwarmCracker requires KVM virtualization which is Linux-only.

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 07 Apr 11:05

What's Changed

  • feat: add pre-flight checks and progress indicators (082f50c)
  • feat: add kubeadm-style cluster initialization commands (9ae2334)
  • docs(AGENTS.md): Add snapshot feature documentation (406d9b9)
  • docs: Rename snapshot documentation to follow naming conventions (9c303ac)
  • docs: Add Snapshot CLI usage guide (bc71b9a)
  • feat(snapshot): Full snapshot/restore support for Firecracker v1.14.x (dd7fe3b)
  • feat(snapshot): add VM snapshot and restore support (7fefc37)
  • docs: add contribution guidelines, code of conduct, security policy, and issue templates (f0e5450)
    Full Changelog: v0.3.0...v0.4.0

🐧 Platform Support

Supported Platforms:

  • βœ… Linux amd64 (x86_64)
  • βœ… Linux arm64 (AArch64)

Requirements:

  • KVM support (/dev/kvm)
  • Linux kernel 4.14+
  • Firecracker v1.14+

Note: macOS and Windows are not supported. SwarmCracker requires KVM virtualization which is Linux-only.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 07 Apr 07:38

What's Changed

  • feat(storage): implement pluggable volume driver system with CLI (4043db4)
  • docs: update for KVM/libvirt migration and VXLAN networking (108d5d9)
  • feat(infra): add KVM/libvirt Vagrantfile and inventory (17da46e)
  • refactor(ansible): restructure into modular role-based architecture (263debc)
  • fix(ansible): systemd ReadWritePaths and worker configuration (b4c68cb)
  • feat(cmd): auto-print join tokens on manager startup (40e3b89)
  • docs: move ansible test reports to infrastructure/docs/ansible-reports (2600974)
  • fix(ansible): make swarmctl build optional (Go version compatibility) (e51c817)
  • feat(ansible): install swarmctl on manager for join token generation (e3823b2)
  • fix(ansible): worker role - create extraction directory and fix binary paths (8a4c407)
  • docs: standardize markdown file naming convention (140146b)
  • docs: organize documentation structure (bc81d15)
  • fix(ansible): remove duplicate swarmcracker_kernel_url key (174c3fb)
  • feat(ansible): make Firecracker kernel download optional (e9d4d12)
  • fix(ansible): update Firecracker kernel URL (58a990d)
  • fix(ansible): correct path to extracted binaries (11db4cd)
  • fix(ansible): create extraction directory before extracting tarball (101d44f)
  • fix(ansible): update to v0.2.1 (fixed release with Linux-only binaries) (1a74ad7)
  • fix(ansible): handle missing bridge netfilter on fresh Ubuntu (cb85ae5)
  • feat(testing): add Vagrantfile for fresh Ubuntu Ansible testing (51c81ac)
  • docs(infra): add Ansible verification report (10f707f)
  • fix(ansible): correct UFW firewall rule syntax (018e570)
    Full Changelog: v0.2.1...v0.3.0

🐧 Platform Support

Supported Platforms:

  • βœ… Linux amd64 (x86_64)
  • βœ… Linux arm64 (AArch64)

Requirements:

  • KVM support (/dev/kvm)
  • Linux kernel 4.14+
  • Firecracker v1.14+

Note: macOS and Windows are not supported. SwarmCracker requires KVM virtualization which is Linux-only.

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 05 Apr 16:16

What's Changed

  • fix(ci): update release pipeline for Linux-only builds (c1ddadd)
  • docs(infra): add Ansible test report for VirtualBox (29c0fb6)
  • test(infra): add VirtualBox inventory and fix ansible.cfg (03d2907)
  • feat(infra): add Ansible automation for cluster deployment (8e40c31)
    Full Changelog: v0.2.0...v0.2.1

🐧 Platform Support

Supported Platforms:

  • βœ… Linux amd64 (x86_64)
  • βœ… Linux arm64 (AArch64)

Requirements:

  • KVM support (/dev/kvm)
  • Linux kernel 4.14+
  • Firecracker v1.14+

Note: macOS and Windows are not supported. SwarmCracker requires KVM virtualization which is Linux-only.