Skip to content

AetherEdge 0.0.1

Latest

Choose a tag to compare

@github-actions github-actions released this 25 Jul 13:52
· 31 commits to main since this release
418e890

AetherEdge 0.0.1

Installer (six-process edge runtime)

Architecture File
ARM64 AetherEdge-arm64-0.0.1.run
AMD64 AetherEdge-amd64-0.0.1.run

The edge installer is for a clean host only. It exits before stopping
services or writing files if it detects an existing Aether runtime,
site, database, container, or systemd unit. In-place upgrades and
legacy database imports are not supported by this release.

Aether CLI (standalone)

Platform File
Linux x86_64 aether-linux-x86_64.tar.gz
Linux aarch64 aether-linux-aarch64.tar.gz
macOS ARM64 aether-darwin-aarch64.tar.gz
Windows x64 aether-windows-x86_64.zip

Runtime contracts and provenance

  • aetheriot-source-v0.0.1.tar.gz
  • aetheriot-runtime-manifest-arm64-0.0.1.json
  • aetheriot-runtime-manifest-amd64-0.0.1.json
  • aetheriot-v0.0.1-provenance.sigstore.json

Every source archive, binary, installer, and runtime manifest has an adjacent
SHA-256 file. GitHub's Sigstore-backed artifact attestation can be
verified with gh attestation verify <asset> -R EvanL1/AetherEdge.

Quick Start

# Rust SDK: consume the single facade from this exact release commit.
# Cargo.toml:
# aether-sdk = { package = "aether-edge-sdk", git = "https://github.com/EvanL1/AetherEdge.git", rev = "418e89021746e6a276f1a702d4ae76ee4a7a593e", features = ["local-runtime"] }

# Full deployment
scp AetherEdge-<arch>-0.0.1.run user@device:/tmp/
chmod +x /tmp/AetherEdge-<arch>-0.0.1.run
sudo /tmp/AetherEdge-<arch>-0.0.1.run
aether doctor

# Aether CLI only
# Linux/macOS archives use tar; Windows publishes a .zip archive.
tar xzf aether-<platform>.tar.gz
sudo mv aether /usr/local/bin/
# Windows PowerShell: Expand-Archive aether-windows-x86_64.zip

Package Contents

  • Rust Services: aether-io (6001), aether-automation (6002), aether-history (6004), aether-api (6005), aether-uplink (6006), aether-alarm (6007)
  • Default dependency boundary: no Redis, PostgreSQL, TimescaleDB, or product UI
  • CLI Tool: aether

The AetherEMS Console is owned and released by the downstream AetherEMS
repository. Redis mirror and PostgreSQL/TimescaleDB history artifacts
remain explicit optional extensions; none is included in the default
release package.

Release Notes

feat: publish the SDK facade and its closure to crates.io (#54)

ADR-0013 set publish = false on every workspace package and forbade
cargo publish in release automation, reasoning that publishing would
expose implementation boundaries as public acquisition choices.

Two facts revise that. crates/aether-sdk/src/lib.rs is a 121-line
re-export shell, so downstream code writes aether_sdk::domain::EntityId
and never names aether-domain; the facade already prevents the exposure
at the API level, and a package in the registry index is a Cargo
packaging requirement, not an acquisition choice. Meanwhile the
registry absence costs crates.io search, docs.rs, and lib.rs, which is
where Rust developers find libraries.

ADR-0022 records the decision and supersedes ADR-0013 clauses 3 and 7.
Clauses 1, 2, 4, 5, and 6 stand: aether-edge-sdk remains the only
supported facade and the signed source release continues alongside.

The release set is aether-edge-sdk plus the transitive closure of its
normal and optional dependencies, plus aether-testkit for the port
conformance suites. Thirteen packages; aether-runtime-catalog and every
other workspace package stay private.

Local dev-dependencies inside the set become path-only. They had
version keys, which put them in published manifests and created a
publish-ordering cycle through
application -> store-local -> integration-control -> cloudlink ->
runtime-catalog -> application. cargo publish --workspace could not
order around it and failed on the first pass.

The two guard scripts are retargeted rather than removed: the blanket
publish = false rule becomes an explicit allowlist, so adding a package
to the registry still requires a deliberate edit, and a hand-rolled
per-crate publish loop is now rejected outright.

Verified with cargo publish --workspace --dry-run: 13 packages, correct
topological order, exit 0. Guard scripts, architecture check, fmt, and
cargo check --workspace --all-features all pass.

Claude-Session: https://claude.ai/code/session_0187nS51kGTbbgmTGXP9vhxA