Skip to content

SamBenson/ACE-Transport

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ACE Transport Profiles

Transport profiles define how ACE envelopes are delivered over various protocols and formats. This repository contains normative specifications for each supported transport mechanism.

Profiles: HTTP Push (draft), iCal Bridge (draft)

Purpose

The core ACE Specification defines the envelope format, signature scheme, and event semantics. Transport profiles define:

  • Protocol-specific delivery mechanisms (HTTP, WebSockets, MQTT, etc.)
  • Format conversions (e.g., ACE → iCalendar)
  • Discovery and endpoint negotiation
  • Retry policies and error handling
  • Transport-specific headers and metadata

Transport Profiles

Current Profiles

  • HTTP Push (Draft v0.1) — POST-based delivery of ACE envelopes with idempotency and signature verification
  • iCal Bridge (Draft v0.1) — HTTP endpoints serving iCalendar (.ics) files derived from ACE envelopes

Planned Profiles

  • HTTP Feed (Planned) — Polling-based feed endpoint returning arrays of ACE envelopes
  • Pub/Sub — Event-driven delivery via pub/sub systems (e.g., Google Cloud Pub/Sub, AWS SNS)
  • MQTT — Lightweight messaging protocol for IoT and constrained environments
  • Server-Sent Events (SSE) — Streaming updates via HTTP EventSource API

Versioning Policy

Transport profiles are versioned independently from the ACE core specification. Each profile document indicates its version status (e.g., "Draft v0.1", "Stable v1.0").

Compatibility: Profiles aim to remain compatible with ACE Spec v0.1 unless explicitly stated otherwise. Breaking changes to the core spec will require profile updates.

Discovery

Publishers SHOULD implement discovery via /.well-known/ace.json to advertise supported transports and endpoints.

API Specifications

Conformance

Examples

See examples/ for:

  • ACE envelope samples (envelopes/)
  • HTTP request/response examples (http/)
  • iCalendar bridge examples (ical/)

Contributing

Contributions are welcome. Please see the ACE Project Contributing Guidelines for details.

Adding a New Transport Profile

  1. Create a new markdown file in profiles/ following the existing profile structure
  2. Include normative MUST/SHOULD/MAY statements
  3. Provide complete request/response examples
  4. Update this README with a link and status badge
  5. Add conformance checklist if applicable

License

MIT License — see LICENSE for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published