ecluse:ecluse-core
Safe HaskellNone
LanguageGHC2021

Ecluse.Core.Server.Pipeline.Tarball.Public

Description

The gated leg of the artifact path: vet the requested version, then relay the public upstream.

The gate runs the same admission oracle the worker's ingest re-evaluation runs, so a version the worker would refuse is refused here too. An admitted GET enqueues the demand-driven mirror.

Synopsis

Documentation

servePublicArtifact :: ArtifactRequest response -> Handler ResponseReceived Source #

Gate the requested version under the mount's admission budget, then relay it.

The public artifact gate (exposed for direct testing)

data PublicArtifactGate Source #

Preserve the admitted artifact's authoritative location through the public gate.

Constructors

Admitted Artifact [SkippedCheck]

The gate admitted the version: the artifact selected by filename, and the checks the admission skipped.

Refused ServeDecision

The gate refused the version: a policy denial, an upstream outage, or absence.

publicArtifactGate :: PackageDetails -> ArtifactAdmission -> [SkippedCheck] -> PublicArtifactGate Source #

Render the shared admission verdict on the serve surface.