Skip to main content

confinement

Requested and observed confinement of local test commands. No automatic fallback. A command bound to a protocol's action runs outside Substrate, so a run that would start one is refused CommandUnconfined unless the operator opts out of confinement for those commands explicitly.

intake.confinement is one of intake's bounded contexts. All domains.

Types​

AppliedAperture​

intake.confinement.AppliedAperture is a record of three fields:

  • name — String
  • destination — String
  • listen — Optional<String>, which may be absent

AppliedConfinement​

intake.confinement.AppliedConfinement is a record of 13 fields:

  • backend — intake.confinement.Backend
  • profile_digest — String
  • capability_snapshot — String
  • cgroup — String
  • filesystem — String
  • network — Optional<List<intake.confinement.AppliedAperture>>, which may be absent
  • profile — String
  • writable_scopes — List<String>
  • read_only_roots — List<intake.confinement.ToolchainRoot>
  • read_only_files — List<intake.confinement.ReadOnlyFile>
  • workdir — Optional<String>, which may be absent
  • adapter — Optional<String>, which may be absent
  • facts — Optional<List<String>>, which may be absent

Backend​

intake.confinement.Backend is one of Substrate and None.

BaselineVariable​

intake.confinement.BaselineVariable is one of Lang, LcAll, Path, Term and Tz.

ChildAperture​

intake.confinement.ChildAperture is a record of five fields:

  • name — String
  • host — String
  • port — Integer
  • pinned — String
  • max_bytes — Optional<Integer>, which may be absent

ChildEnvironment​

intake.confinement.ChildEnvironment is a record of two fields:

  • allow — List<intake.confinement.BaselineVariable>
  • set — List<intake.confinement.EnvironmentEntry>

ChildExit​

intake.confinement.ChildExit is a record of three fields:

  • exit_code — Optional<Integer>, which may be absent
  • signal — Optional<Integer>, which may be absent
  • timed_out — Boolean

ChildNetwork​

intake.confinement.ChildNetwork is one of None and Aperture.

ChildOutput​

intake.confinement.ChildOutput is a record of four fields:

  • stdout — Bytes
  • stderr — Bytes
  • stdout_truncated — Boolean
  • stderr_truncated — Boolean

ChildProfile​

intake.confinement.ChildProfile is one of Workspace.

ChildStream​

intake.confinement.ChildStream is one of Stdout and Stderr.

ConfinementProfile​

intake.confinement.ConfinementProfile is a record of nine fields:

  • backend — intake.confinement.Backend
  • network — String
  • writable_scopes — List<String>
  • read_only_roots — List<intake.confinement.ToolchainRoot>
  • environment — List<intake.confinement.EnvironmentEntry>
  • timeout_ms — Integer
  • memory_bytes — Integer
  • processes — Integer
  • cpu_millis — Integer

ConfinementRefusal​

intake.confinement.ConfinementRefusal is one of BackendMissing, CgroupUndelegated, ScopeInvalid, WorkspaceNameInvalid, CapabilityUnserved and CommandUnconfined.

ConfinementSpec​

intake.confinement.ConfinementSpec is a record of 13 fields:

  • read_only_roots — List<intake.confinement.ToolchainRoot>
  • read_only_files — List<intake.confinement.ReadOnlyFile>
  • host_paths — List<String>
  • writable — List<String>
  • writable_roots — List<intake.confinement.WritableRoot>
  • workdir — Optional<String>, which may be absent
  • environment — intake.confinement.ChildEnvironment
  • profile — intake.confinement.ChildProfile
  • network — intake.confinement.ChildNetwork
  • egress — List<intake.confinement.ChildAperture>
  • ca_bundle — Optional<String>, which may be absent
  • timeout_ms — Optional<Integer>, which may be absent
  • stdin — Optional<Bytes>, which may be absent

EnvironmentEntry​

intake.confinement.EnvironmentEntry is a record of two fields:

  • name — String
  • value — String

ReadOnlyFile​

intake.confinement.ReadOnlyFile is a record of two fields:

  • host_path — String
  • mount — String

ToolchainRoot​

intake.confinement.ToolchainRoot is a record of two fields:

  • host_path — String
  • mount — String

WritableRoot​

intake.confinement.WritableRoot is a record of two fields:

  • host_path — String
  • mount — String

Seven of the types above are reached by nothing else in this system: intake.confinement.AppliedConfinement, intake.confinement.ChildExit, intake.confinement.ChildOutput, intake.confinement.ChildStream, intake.confinement.ConfinementProfile, intake.confinement.ConfinementRefusal and intake.confinement.ConfinementSpec. No entity, view, command, event, error or crossing names them, so it is either vocabulary something outside this specification uses or a leftover — and only a person can tell which.


Generated from intake v1 · model digest 91e7b24c1442a41a622f4feaa84db250d7769d7784122bae93f2e0cda0c64c8e · contract digest slice-sha256/2:b769eaee947d4183f6b707bda100801f5f71d3be96c08383a4709b1a0a661f95. Do not edit this file; change the specification and regenerate it with task docs-generate.