Skip to content

v0.1.0

Choose a tag to compare

@CMGS CMGS released this 26 Feb 18:52
· 524 commits to master since this release

Changelog

  • dfe0ecf chore: add .cache to gitignore
  • cfe40b2 chore: remove unused CH API endpoint code
  • aa7c221 ci: add github actions workflow for building OS images
  • 88bfa9a ci: add latest tag to os-image build workflow
  • d329585 ci: refactor build-os-images workflow matrix and steps
  • a74562e feat(cmd): add network cleanup on VM delete in rm handler
  • 8ae7319 feat(config): add CH binary path, stop timeout, and boot cmdline fields
  • 837c05c feat(config): add viper-based config file loading with defaults
  • a4f73e9 feat(console): add terminal raw mode and resize handling for PTY
  • 7d6ef0e feat(gc): add VM GC with orphan cleanup and improve blob reference tracking
  • 69d1c1f feat(hypervisor): add CH API client, start, stop, and process management
  • aafab4f feat(hypervisor): add cloud hypervisor backend with VM storage and GC
  • 4524af3 feat(hypervisor): add network config to CH VM create with tap and netns support
  • 0615bff feat(hypervisor): implement list, inspect, and delete for CH backend
  • 38ba583 feat(hypervisor): integrate cidata disk generation into cloudimg VM create
  • e62057b feat(hypervisor): launch CH process inside VM netns for tap device access
  • bc96945 feat(images): add Inspect method to OCI and cloudimg backends
  • 6f81473 feat(network): add CNI delete, rollback on failure, and MAC generation
  • 9fe2968 feat(network): add netns bridge-tap setup with IP/MAC allocation
  • 2feeada feat(network): add platform-specific netns creation with netlink bridge-tap wiring
  • b37d40c feat(network): implement CNI plugin integration with netns and IPAM
  • 6019db2 feat(network): return MAC from TC setup and add VNET_HDR flag to tap device
  • a898d1b feat(network): try 0 queue size for tap device in CNI config
  • b235977 feat(os-image): add DNS resolver configuration to network.sh
  • 585fce2 feat(os-image): add DNS resolver configuration to network.sh init-bottom
  • 5be5354 feat(os-image): add erofs-utils to start.sh and update CI build args
  • 62bf3af feat(os-image): add network connectivity check and DNS config in overlay
  • 16f0051 feat(os-image): add rng and balloon support, set deadline IO scheduler
  • d89f18e feat(os-image): add tcpdump to ubuntu 24.04 image packages
  • 7092927 feat(os-image): add ubuntu 22.04/24.04 dockerfiles and boot scripts
  • 62ee975 feat(os-image): enable overlayfs index and redirect_dir in boot script
  • 6fc92b0 feat(os-image): parse kernel ip= params and generate systemd-networkd configs
  • ae656a3 feat(storage): add Type() method to Storage interface
  • d418952 feat(types): expand VMInfo with runtime fields and state enum
  • af79b8c feat: add CLI run command with CH launch via OCI backend
  • eedc47e feat: add DNS server configuration via config and kernel cmdline injection
  • 13699da feat: add GC orchestrator, flock improvements, and JSON-backed VM storage
  • d42e2b4 feat: add NoCloud cidata metadata generation with FAT12 filesystem
  • 43f8e6d feat: add cloud image backend with HTTP pull, qcow2 support, and JSON storage
  • 10f64bb feat: add cloud image run command with UEFI boot support
  • 5a37fad feat: add cobra CLI framework with all subcommands, Makefile, and CI workflows
  • 1bccb2f feat: add config and OCI storage stub packages
  • 5a90443 feat: add doctor check script for environment validation and dependency checks
  • efce026 feat: add hypervisor interface, boot/storage types, and digest handling
  • 770ced1 feat: add image GC, refactor OCI pull pipeline and digest handling
  • a1cf9c7 feat: add initial storage and VM type definitions
  • f2cf2a8 feat: add network interface with CNI support and network types
  • 4c7ed7e feat: add progress reporting interface for image pull operations
  • db9e2fe feat: add serial console support with PTY query and relay
  • ff5c47b feat: add structured logging throughout hypervisor and VM lifecycle
  • 55e209a feat: expand storage types and tune hack.sh for layer serials
  • 7748fba feat: implement OCI image pull, erofs conversion, and flock-based locking
  • 6f7fb0f feat: implement full VM lifecycle with create, start, stop, and config builder
  • 5ce5879 fix(ci): correct working directory and dockerfile COPY paths
  • 675f506 fix(ci): update goreleaser config to v2 format and add LICENSE
  • 77738ba fix(cloudimg): enable direct IO for qcow2 disk in CH launch
  • 5f8bb66 fix(cloudimg): handle qcow2 overlay creation and improve pull error paths
  • 0aee42f fix(cmd): add sanitizeVMName helper and deduplicate resolved VM refs
  • e5c7b9c fix(cmd): bind default_root_password env var for viper unmarshal
  • 7d48db4 fix(cmd): correct typos in image handler output messages
  • b7d6ba7 fix(doctor): add binary-to-package mapping and improve dependency auto-install
  • e81fb28 fix(doctor): remove set -e to allow check script to continue on failures
  • 65060af fix(gc): handle missing directories gracefully in VM and image GC
  • c1836e3 fix(hypervisor): cap vCPU count to host CPU count in VM config builder
  • 87f3db2 fix(hypervisor): correct error variable shadowing in start flow
  • d00b62c fix(hypervisor): handle idempotent start with proper error classification
  • be3c5a2 fix(hypervisor): improve PTY console path handling and query logic
  • b4504e3 fix(hypervisor): use os.Create for COW file and improve network rollback in create
  • 7dcda6b fix(metadata): correct cloud-init chpasswd list yaml quoting format
  • 4988ecf fix(metadata): enable root login via cloud-init chpasswd and disable_root
  • 03d9775 fix(network): add CNI config validation, GC integration, and error handling
  • 827d82e fix(network): add context parameter to List method signature
  • ea367f1 fix(network): add retry loop for netns deletion after async fd cleanup
  • 842bc1b fix(network): correct CNI type field names and interface signatures
  • a8c3fdd fix(network): disable MAC learning on bridge uplink to prevent ARP misdirection
  • a8edbb4 fix(network): use deleteNetns helper instead of raw os.Remove for cleanup
  • 8198673 fix(oci): add image_type=raw to disk arguments for erofs layers
  • f970bd9 fix(oci): add temp file cleanup and atomic blob commit in pull
  • 72d85bd fix(oci): improve concurrent layer download with proper error propagation
  • 73695f9 fix(oci): improve pull error handling and layer dedup logic
  • 6658204 fix(oci): simplify OCI store initialization and pull retry logic
  • 41cfa4d fix(os-image): add isc-dhcp-client to ubuntu dockerfiles for ipconfig support
  • 52a71b7 fix(os-image): call configure_networking explicitly in overlay for ubuntu 22.04
  • 2a26997 fix(os-image): correct CH launch args for memory, rng, and balloon
  • acd9bf6 fix(os-image): correct COPY path ordering in dockerfiles
  • d135843 fix: add SIGWINCH propagation to console and respect context cancellation in stop
  • c5f7115 fix: add nil checks for network IP/gateway and improve CNI rollback on create failure
  • 2003e93 fix: correct config initialization order and improve CNI error handling
  • 345d841 fix: correct config provider typos in command handlers
  • 3c70ddf fix: correct json struct tags in network types
  • d022263 fix: correct typos in image handler and cloudimg backend
  • 88786ad fix: improve GC orchestrator error handling and cloudimg initialization
  • 8feff41 fix: pass hostname in kernel ip= parameter and set /etc/hostname in overlay
  • 7416cfc init: scaffold project with gitignore, golangci-lint config, and readme
  • fe1b799 perf(os-image): add kernel boot optimizations (loglevel, kvm-clock)
  • 2447834 perf(os-image): add noatime mount for COW disk in overlay script
  • 87a58de refactor(ci): restructure build-os-images workflow with multi-stage jobs
  • 4edd605 refactor(cmd): extract shared VM helpers and consolidate image GC logic
  • b37776c refactor(cmd): extract shared context initialization into cmd/context.go
  • 9e44c39 refactor(cmd): reorganize CLI into vm, images, and others subcommand groups
  • 7088721 refactor(cmd): restructure command registration and handler initialization
  • b1f2fff refactor(config): nest all OCI paths under {root}/oci/ directory
  • 9cc045c refactor(gc): deduplicate blob reference counting into shared index
  • cab4852 refactor(gc): extract orchestrator and runner, add per-backend GC registration
  • fe3d9e8 refactor(hypervisor): extract console into own module and clean up CH start/stop
  • 08ab08b refactor(hypervisor): extract helper functions and simplify CH utilities
  • 52c569f refactor(hypervisor): extract shared HTTP client for CH API socket
  • 569100f refactor(hypervisor): improve create/GC with proper COW cleanup and state handling
  • f88816f refactor(hypervisor): make enterNetns return restore closure instead of using global state
  • e2e70c1 refactor(hypervisor): rename CH config builder fields and clean up create flow
  • 58d3d0c refactor(images): extract shared index logic, simplify GC across backends
  • 09fbfe9 refactor(metadata): extract network-config template as standalone cloud-init section
  • ef45841 refactor(network): remove RegisterGC from network interface
  • 4ff3438 refactor(network): replace bridge-tap setup with TC ingress mirred redirect
  • 79ff681 refactor(network): simplify netns lifecycle and move setup into VM handler
  • a1fcb23 refactor(oci): overhaul pull pipeline with streaming layer extraction
  • afd12c3 refactor(oci): restructure pull flow and improve GC reference tracking
  • 130c1e3 refactor(os-image): clean up cocoon-boot.sh initramfs overlay script
  • 4327c7d refactor(os-image): rename cocoon-boot.sh to hack.sh
  • 713dd54 refactor(os-image): restructure start.sh and simplify dockerfiles
  • 80d9bd2 refactor(os-image): simplify start.sh and reduce dockerfile duplication
  • f226b2e refactor(os-image): split network config into network.sh and rename hack.sh to overlay.sh
  • 707133f refactor: clean up image backends, improve GC, and simplify op helpers
  • aff8ffe refactor: convert network types to string-based IP fields and clean up config
  • ddb2993 refactor: convert start.sh to pure shell and align type names
  • 36eb5c3 refactor: major cleanup of hypervisor, GC, lock, and process utilities
  • c4f91ca refactor: rename config fields from cfg to conf for consistency
  • 1df4c6c refactor: rename storage package to images
  • d82c0c3 refactor: rename types and add cloudimg backend stub
  • dd60e83 refactor: reorganize GC modules, simplify create flow, and update config paths
  • 6282455 refactor: simplify return patterns in hypervisor and image backends
  • 44fb12b refactor: split run command into OCI and cloudimg code paths
  • 69b75e4 revert: revert "add network connectivity check and DNS config in overlay"
  • 15932c6 revert: revert "try 0 queue size for tap device"