Skip to content

Replace Redis Streams queue and controller - #434

Closed
rakyll wants to merge 1 commit into
mainfrom
q
Closed

rakyll wants to merge 1 commit into
mainfrom
q

Conversation

@rakyll

@rakyll rakyll commented Sep 27, 2026 •

Copy link
Copy Markdown
Member

Transition the AX architecture from asynchronous event queues (Redis Streams and the ax-controller worker pool) to direct, synchronous reconciliation in ax-server guarded by fine-grained distributed locks.

Key changes:

  • Implement per-resource locking (lock:task, lock:workspace, lock:model) using Redis distributed locks (SET NX PX with token validation) and an in-memory locker for testing.
  • Move Substrate reconciliation directly into ax-server for Task, Workspace, and Model lifecycle methods (Create, Resume, Suspend, Delete).
  • Decommission ax-controller, deploy/ax-controller.yaml, and Redis Stream event publishing/consuming interfaces.
  • Simplify ax delete and ax watch in the CLI to eliminate two-phase polling loops now that operations complete synchronously.
  • Update demo.sh, build configurations (Makefile, .ko.yaml), and documentation to reflect the single-binary control plane architecture.

…resource locking

Transition the AX architecture from asynchronous event queues (Redis Streams
and the `ax-controller` worker pool) to direct, synchronous reconciliation in
`ax-server` guarded by fine-grained distributed locks.

Key changes:
- Implement per-resource locking (`lock:task`, `lock:workspace`, `lock:model`)
  using Redis distributed locks (`SET NX PX` with token validation) and an
  in-memory locker for testing.
- Move Substrate reconciliation directly into `ax-server` for Task, Workspace,
  and Model lifecycle methods (`Create`, `Resume`, `Suspend`, `Delete`).
- Decommission `ax-controller`, `deploy/ax-controller.yaml`, and Redis Stream
  event publishing/consuming interfaces.
- Simplify `ax delete` and `ax watch` in the CLI to eliminate two-phase
  polling loops now that operations complete synchronously.
- Update `demo.sh`, build configurations (`Makefile`, `.ko.yaml`), and
  documentation to reflect the single-binary control plane architecture.
@rakyll rakyll changed the title Replace Redis Streams queue and controller with direct execution and … Replace Redis Streams queue and controller Sep 27, 2026
@rakyll rakyll closed this Sep 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant