registrystack / registrystack/registry-stack

Define product-owned action-scoped environment inventories

Open
#599 1 comment 0 reactions 0 assignees View on GitHub
area:platform needs-jeremi-decision
Dominant language
Rust
Stars
2
Forks
0
Avg merge
2h 55m
Merged PRs (30d)
130

Description

## Outcome

Governed one-shot actions receive only the environment keys they need, using product-owned versioned inventories rather than lane-wide environment files or Registryctl-maintained copies of product configuration schemas.

This is post-1.0 hardening. The 1.0 contract remains intentionally small: preview and exact verify receive no environment or secrets; accept receives the signed lane environment only for the existing product-owned audit configuration, with no serving file secrets or network access.

## Design constraints

- Product crates own the meaning and validation of their environment keys.
- Registryctl and the release lock must not duplicate dynamic product schemas.
- The contract remains closed and versioned. It is not an arbitrary environment-projection language.
- Source, OAuth, ingestion, serving, signing, and cross-lane credentials remain unavailable to state-only actions.
- Secret values stay in operator-owned material and never enter generated configuration or diagnostics.

## Definition of Done

- [ ] Relay and Notary publish machine-readable, versioned action-to-environment inventories from product-owned definitions.
- [ ] The signed release contract binds the exact inventories used by generated deployments.
- [ ] Generated one-shot services project only the declared keys for their action.
- [ ] Missing, extra, cross-lane, source, OAuth, ingestion, and serving capabilities fail closed in tests.
- [ ] Audit-before-mutation and existing product semantic validation remain intact.
- [ ] Clean-context deployment tests cover initialisation, preview, accept, exact verify, and rotation without exposing values.

## Non-goals

- A generic secret manager integration.
- Arbitrary per-service environment editing.
- Replacing product-owned configuration validation.

Contributor guide

Open the contributing guide

Research direction

Start by locating Relay and Notary's product-owned environment definitions, the signed release contract, generated one-shot services, and the clean-context deployment tests. Trace how inventories are published and bound, then verify that action-specific projection, fail-closed validation, audit ordering, and value-free diagnostics cover initialisation, preview, accept, exact verify, and rotation.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, devops, 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.