Relationships Diagram

Systems Diagram

This diagram shows the high-level relationships between components of Armada and third-party softwares.

For a more detailed view of Armada, see the Scheduler Architecture Doc.

Armada Client

This is the comonent that is used by users to submit jobs to Armada, using gRPC. Current languages supported are:

Ingester Loops

All data-flows in armada are controlled by pulsar. This means that all data is first written to pulsar, and then ingested into the appropriate database. The ingester loops are the components that read data from pulsar and write it to the appropriate database.

There are 3 ingester loops:


The scheduler is the component that is responsible for scheduling jobs.

It receives data from the ingester loops, and then uses that data to schedule jobs. Its decisions are then fed back to pulsar, allowing the process to repeat.

Armada Executor Components

These are the components that run on each k8s cluster that executes jobs.

It includes:


Lookout is made of 2 components: