Skip to content

identity/edge producer: optional --cluster-id to scope uploads per cluster#51

Merged
pigri merged 2 commits into
mainfrom
feat/cluster-scoped-baseline
Jul 3, 2026
Merged

identity/edge producer: optional --cluster-id to scope uploads per cluster#51
pigri merged 2 commits into
mainfrom
feat/cluster-scoped-baseline

Conversation

@pigri

@pigri pigri commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Companion to the download-api tenant-scoping of identity/policy-edges
artifacts.

The download-api isolates these baselines per tenant (org/workspace)
automatically from the authenticated key. That covers the common case of
one cluster per workspace. When more than one cluster shares a single
workspace, uploads still target the same tenant path and overwrite each
other.

This adds an optional --cluster-id to the identity and edge producers.
When set, it appends a ?cluster=<id> sub-scope to the upload URLs so
each cluster gets its own isolated baseline.

  • Empty (default) keeps the current un-clustered path — no behavior
    change for existing single-cluster deployments.
  • To isolate, set a stable unique value here and the matching cluster
    id on every agent in this cluster.
  • No auto-derivation from cluster state: the agent also runs on bare VMs
    with no cluster API to read the same value, so an auto-default would
    silently mismatch producer and consumer. Isolation is explicit opt-in.

pigri added 2 commits July 3, 2026 19:02
…uster

The download-api isolates identity and policy-edge baselines per tenant
(org/workspace) automatically. When more than one cluster shares a single
workspace, uploads still collide, so add an optional --cluster-id that
tags this cluster's baseline with a `?cluster=<id>` sub-scope on the
identity/policy-edges upload URLs.

Empty (the default) keeps the un-clustered path. To isolate, set a stable
unique value here and the matching cluster id on every agent in this
cluster. No auto-derivation: the agent runs on bare VMs too and has no
cheap way to derive the same value, so an auto-default would silently
mismatch the consumer.
Extends --cluster-id to the incremental delta path: the emitted
IdentityDelta/EdgeDelta now carry the source cluster, so an agent in a
workspace shared by multiple clusters can ignore deltas from other
clusters. Empty when --cluster-id is unset (single-cluster default).
@pigri pigri merged commit a56ee9f into main Jul 3, 2026
2 checks passed
@pigri pigri deleted the feat/cluster-scoped-baseline branch July 3, 2026 17:26
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