| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
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
- newtype VettedEndpoints = VettedEndpoints {
- vePublicationTargets :: Map Ecosystem PublicationTarget
- vetEndpoints :: Map Ecosystem MountConfig -> Vet VettedEndpoints
- data PublicationTarget
- publicationTargetUrl :: PublicationTarget -> RegistryUrl
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.
Instances
| Show PublicationTarget Source # | |
Defined in Ecluse.Composition.Endpoints Methods showsPrec :: Int -> PublicationTarget -> ShowS # show :: PublicationTarget -> String # showList :: [PublicationTarget] -> ShowS # | |
| Eq PublicationTarget Source # | |
Defined in Ecluse.Composition.Endpoints Methods (==) :: PublicationTarget -> PublicationTarget -> Bool # (/=) :: PublicationTarget -> PublicationTarget -> Bool # | |
publicationTargetUrl :: PublicationTarget -> RegistryUrl Source #
The vetted endpoint the publish relay dials.