Skip to content

v0.0.1-beta1

Pre-release
Pre-release

Choose a tag to compare

@flaticols flaticols released this 17 Jun 21:08
v0.0.1-beta1
f19a1cb

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's container CLI and orchestrates up/down/ps/logs.
  • Popular local-dev spec fields
    • Translated onto real container run flags: tty, stdin_open, ulimits, shm_size, dns_search, dns_opt, runtime.
    • Decoded + warned (no container equivalent): 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).
  • Profile activation — Docker-compatible (--profile / COMPOSE_PROFILES), with dependencies pulled in.
  • compose-validate CLIparse / --plan / --profile, no dependencies.

Interop testing

CI validates parse/translate fidelity (Apple container can't run in CI):

  • swift build/test on macOS (Swift 6).
  • Schema validation of all fixtures against the official compose-spec JSON Schema (vendored).
  • docker compose configcompose-validate parse 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).