ecluse
Safe HaskellNone
LanguageGHC2021

Ecluse.Composition.Endpoints

Description

Every mount's declared endpoints, vetted against each other. A collision between two roles on one registry is the finding: a publish or a mirror write carries a credential that must not reach the endpoint it landed on, and a sweep deletes from a store another role owns. Three rules turn on RegistryRole: the deleting role and its preview refuse a collision the writing role warns about or ignores. The rest refuse for every role.

Synopsis

The endpoint pass

newtype VettedEndpoints Source #

The endpoints one role's pass cleared it to use, keyed by the mount that declares them.

Constructors

VettedEndpoints 

Fields

vetEndpoints :: Map Ecosystem MountConfig -> Vet VettedEndpoints Source #

Vet every mount's declared endpoints against each other: the refusals and advisories this role earns, and the endpoints a pass that refused nothing clears it to use.

The endpoints it clears

data PublicationTarget Source #

A publication target cleared for this role. The relay requires this value, never a configured URL.

publicationTargetUrl :: PublicationTarget -> RegistryUrl Source #

The vetted endpoint the publish relay dials.