| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Ecluse.Composition.Types
Description
The roles a boot runs under: which command started the process, which half of the mirror pipeline that process runs, and which registry role its validation rules apply under.
The command line writes these and the boot pipeline reads them, so they live in a module neither side owns.
Synopsis
- data BootRole
- everyBootRole :: [BootRole]
- bootInvocation :: BootRole -> Text
- registryRoleOf :: BootRole -> RegistryRole
- pipelineRoleOf :: BootRole -> Maybe MirrorRole
- data MirrorRole
- roleInvocation :: MirrorRole -> Text
- data RegistryRole
The booting command
What a booting command does with the configured mirror targets. It decides each rule's severity and which witnesses the boot's vetting pass issues.
Constructors
| BootMirrorPipeline MirrorRole |
|
| BootStorePruner |
|
| BootStorePreview |
|
| BootWithoutPipeline |
|
Instances
everyBootRole :: [BootRole] Source #
Every role a boot runs under, the mirror-pipeline halves first. ecluse check-config picks
no subcommand, so it runs the pure pass once per entry rather than once.
bootInvocation :: BootRole -> Text Source #
How an operator spells a booting command, for a report that names the role a refusal belongs to.
registryRoleOf :: BootRole -> RegistryRole Source #
The registry role a command's rules apply under. Only the Dredger deletes.
pipelineRoleOf :: BootRole -> Maybe MirrorRole Source #
The mirror-pipeline half a command runs, Nothing where it runs none.
The roles it decomposes into
data MirrorRole Source #
The mirror-pipeline halves one process runs, selected by the command line.
Constructors
| ServeAndMirror |
|
| ServeOnly |
|
| MirrorOnly |
|
Instances
| Generic MirrorRole Source # | |||||
Defined in Ecluse.Composition.Types Associated Types
| |||||
| Show MirrorRole Source # | |||||
Defined in Ecluse.Composition.Types Methods showsPrec :: Int -> MirrorRole -> ShowS # show :: MirrorRole -> String # showList :: [MirrorRole] -> ShowS # | |||||
| Eq MirrorRole Source # | |||||
Defined in Ecluse.Composition.Types | |||||
| Universe MirrorRole Source # | |||||
Defined in Ecluse.Composition.Types Methods universe :: [MirrorRole] # | |||||
| type Rep MirrorRole Source # | |||||
Defined in Ecluse.Composition.Types type Rep MirrorRole = D1 ('MetaData "MirrorRole" "Ecluse.Composition.Types" "ecluse-0.4.0-inplace" 'False) (C1 ('MetaCons "ServeAndMirror" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ServeOnly" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MirrorOnly" 'PrefixI 'False) (U1 :: Type -> Type))) | |||||
roleInvocation :: MirrorRole -> Text Source #
How an operator spells this role on the command line, for the boot refusal's message.
data RegistryRole Source #
The registry role a vetting pass vets for. The proxy and the mirror worker write to a mount's mirror target, and the Dredger deletes from it, which is what makes a shared store unsafe.
Constructors
| MirrorWriter |
|
| MirrorPruner |
|
| MirrorPreviewer |
|
Instances
| Show RegistryRole Source # | |
Defined in Ecluse.Composition.Types Methods showsPrec :: Int -> RegistryRole -> ShowS # show :: RegistryRole -> String # showList :: [RegistryRole] -> ShowS # | |
| Eq RegistryRole Source # | |
Defined in Ecluse.Composition.Types | |