Skip to content

workers should support explicit, verified inputs with a manifest #89

@escapewindow

Description

@escapewindow

We have a number of inputs that go into Gecko tasks:

  • docker image
  • tooltool artifacts
  • toolchain artifacts
  • previous builds
  • pypi / npm / etc modules

and we define those in various ways: requirements files, tooltool files, docker image task definition locations, env vars, etc. Having to audit or verify the inputs to a task is a very complex ask right now.

If we could define explicit inputs to a task,

  • worker downloads inputs
  • for any given shas, verify shas
  • for any given pubkeys, verify signatures
  • use the docker image downloaded once it passes verification
  • pass the other artifacts into the task environment
  • we can upload an inputs manifest with the above information

That's much easier to audit. It also could be the initial steps towards limiting outbound traffic once the task starts. This reminds me of @petemoore 's inputs/outputs to tasks proposal... where tasks can be chained like commandline pipes, although it's not one-dimensional (many-to-many piping).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions