polyaxonfile architecture

In order to schedule runs on Polyaxon, users need to create Polyaxonfiles. These files use a specification to describe how jobs, distributed jobs, services, parallel executions, and pipelines should run on Polyaxon.

The Polyaxon specification can be authored in YAML, json, python, and partially in Go, Typescript, and Java.

The Polyaxon specification is based on a list of sections, in this guide, we describe the required and optional sections.

The main primitives that the user will be interacting with are:

  • Component: A discrete, repeatable, and self-contained action that defines an environment and a runtime.
  • Operation: This is how Polyaxon operationalizes and executes a component by passing parameters, connections, and possibly patch the run environment.

Polyaxon can resolve the content of a Polyaxonfile based on 2 information:

  • version: this is the version of the specification file, all Polyaxon components (CLI, Clients, API, Compiler, Operation) rely on this information to know how to parse the content using the versioned schema.

    version: 1.1
    ...
  • kind: this is the kind of the specification file, the possible values are component and operation.