Releases: flaticols/ComposeKit
Release list
v0.0.3 (in development)
Warning
ComposeKit is still in active development (pre-1.0). The API and behavior may
change between releases. Not recommended for production use.
Breaking: ComposeKit is now a pure, runtime-agnostic Compose parser. The container translation/orchestration layer (the former ComposeKitContainer product) moved to its consumer, container-compose. If you depended on ComposeKitContainer, it no longer exists here.
Changes
- Pure spec core: parse, interpolate,
.envmerge, profiles,Planner,include/extends— Yams-only. - Fixes: container-port-only
ports(e.g."80") are skipped with a warning (container can't auto-assign a host port); IPv6host_ipin long-form ports is bracketed ([::1]:8080:80). - Quality: idiomatic cleanups,
KeyValuePairs→KeyValueMaprename, more tests (34), dependency-freecompose-bench, richer DocC (zero warnings).
Full changelog: v0.0.2...v0.0.3
Install
.package(url: "https://github.com/flaticols/ComposeKit.git", from: "0.0.3"),v0.0.2
Warning
ComposeKit is still in active development (pre-1.0). The API and behavior may
change between releases. Not recommended for production use.
Patch release.
Fixes
- Fractional
cpusfailed to start (#8). Composecpus(and
deploy.resources.limits.cpus) is a fraction of CPU time, butcontainer --cpus
takes an integer vCPU count, so a value like0.5madecontainer runexit 64.
Values are now rounded up to whole vCPUs (minimum 1):0.5 -> 1,1.5 -> 2.
Non-positive/non-numeric values emit no--cpusflag.
Full changelog: v0.0.1...v0.0.2
Install
.package(url: "https://github.com/flaticols/ComposeKit.git", from: "0.0.2"),v0.0.1 (in development)
Warning
ComposeKit is still in active development (pre-1.0). The API and behavior may
change between releases, and not every Compose feature is supported yet.
Not recommended for production use.
First 0.0.1 release. A Docker Compose parsing & orchestration engine for Apple's container, focused on running local-dev dependency stacks.
Highlights
Two layers
ComposeKit— runtime-agnostic spec core (parse, interpolate, profiles, plan); Yams-only.ComposeKitContainer— maps the model ontocontainerand orchestrates it.
Spec coverage (parse + translate)
- Images, ports, environment/
env_file, named + bind volumes, networks, labels. depends_onwith conditions:service_started,service_healthy(healthcheck-gated),service_completed_successfully(run-to-completion gated).profilesactivation,configs/secretsprovisioning,extends+include(deep-merge), advancedbuildfields.- Popular run flags: ulimits, shm_size, tty/stdin_open, dns options, runtime, and more; unsupported-but-popular fields are decoded and warned.
Orchestration
up/down/ps/logs/exec/pull/stop/start/restart.
Tooling & docs
compose-validateCLI (parse /--plan/--profile).- Swift-DocC site: https://flaticols.github.io/ComposeKit/
- Interop CI: compose-spec JSON Schema validation +
docker compose configparity + nightly schema sync.
Not yet
Multi-file -f merge / auto compose.override.yaml, restart: policy enforcement, network aliases / volume driver options, and full field-specific merge rules.
Install
.package(url: "https://github.com/flaticols/ComposeKit.git", from: "0.0.1"),v0.0.1-beta1
First beta of ComposeKit — the Docker Compose parsing & orchestration engine behind container-compose (Apple container compatibility layer).
Highlights
- Two-layer split
ComposeKit— runtime-agnostic spec core (parse, interpolate, profiles, plan). Yams-only.ComposeKitContainer— maps the model onto Apple'scontainerCLI and orchestratesup/down/ps/logs.
- Popular local-dev spec fields
- Translated onto real
container runflags:tty,stdin_open,ulimits,shm_size,dns_search,dns_opt,runtime. - Decoded + warned (no
containerequivalent):extra_hosts,hostname,network_mode,devices,sysctls,security_opt,stop_signal/stop_grace_period,pull_policy,gpus. - Polymorphic decoders kept as tolerant as docker (short/long forms, string-or-int).
- Translated onto real
- Profile activation — Docker-compatible (
--profile/COMPOSE_PROFILES), with dependencies pulled in. compose-validateCLI —parse/--plan/--profile, no dependencies.
Interop testing
CI validates parse/translate fidelity (Apple container can't run in CI):
swift build/teston macOS (Swift 6).- Schema validation of all fixtures against the official compose-spec JSON Schema (vendored).
docker compose config↔compose-validateparse parity.- Nightly workflow that refreshes the vendored schema, re-validates, and opens a PR on spec drift.
Use as a dependency
.package(url: "https://github.com/flaticols/ComposeKit.git", from: "0.0.1-beta1"),Not yet (deferred)
extends / include, configs/secrets provisioning, and full 92-field translation (pending container flag support).