stacklok / stacklok/mecatl

Integrate the remote protected-operation broker on current main

Open
#1,562 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
152
Forks
16
Avg merge
14h 48m
Merged PRs (30d)
536

Description

Outcome

Mecatl can use a separately deployed protected-operation broker for the first external-integration proof, while honestly surfacing that this initial broker is single-replica and restart-interrupting.

Proposed approach

Port the existing remote mecabroker baseline onto an explicit current-main integration branch rather than merging its divergent branch wholesale. Preserve its authenticated workload boundary, secret-free protocol, bounded callback handling, attachment/incarnation behavior, and safe failure semantics.

The broker is the authority and credential-custody service. Mecatl must not receive provider refresh credentials or provider access tokens. A future local sidecar, if wanted, is only a narrow client proxy and does not become a second authority or credential store.

Note: this is unrelated to the existing in-repo mecak8s "MCP broker" (internal/adapter/mcpbroker, e.g. #1352, #1367, #1375, #1379). That subsystem brokers MCP tool connectivity within a running mecak8s deployment. This issue is about a separately deployed, external protected-operation/credential-custody service.

Not in this issue

Broker replication, transparent continuity during restart, a generic proxy API, or a final sidecar-versus-direct-client choice.

Proof

  • An expired attachment handle does not let a different workload inherit a retained logical session.
  • A recognized broker incarnation replacement safely rebinds pre-prompt enrollment; generic state loss fails closed.
  • A callback timeout cannot reach the callback handler late.
  • A broker restart visibly interrupts protected work rather than silently claiming continuity.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the existing remote mecabroker baseline and comparing it with current main; the issue names no files or tests. Use the proposed approach and proof cases as the acceptance guide: preserve the authenticated, secret-free boundary, safe failure behavior, attachment and incarnation handling, and visible interruption on broker restart.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
authentication, backend, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.