In order to reduce the amount of configurations in your Polyaxon's components and operations, Polyaxon exposes a concept called Connections.

A connection is how you expose and connect your jobs to an artifacts store, a volume, a git repo, a container registry, a slack channel, and other external systems.

Polyaxon is built on top of Kubernetes, so you can and in some cases will have to configure access to some resources manually. However for many use cases, for example, connecting to an S3 bucket, using connections will reduce the amount of boilerplate in your jobs' specification files.

Every Polyaxon Agent deployment can configure:

  • artifactsStore
  • connections
  • notificationConnections

All these configurations follow similar specification.

Note: the artifacts store definition will be added by default to the connections list.

Example configuration

artifactsStore:
  name: azure
  kind: wasb
  schema:
    bucket: "wasbs://[email protected]/"
  secret:
    name: "az-secret"
connections:
  - name: repo-test
    kind: git
    schema:
      url: https://gitlab.com/org/test
    secret:
      name: "gitlab-connection"
  - name: docker-connection
    description: "some description"
    kind: registry
    schema:
      url: org/repo
    secret:
      name: docker-conf
      mountPath: /kaniko/.docker
notificationConnections:
  - name: my-slack
    kind: slack
    secret:
      name: my-slack

ArtifactsStore

Every time you deploy Polyaxon Community Edition platform or a Polyaxon Agent, you will have to configure at least one connection, it's called the artifacts store.

This artifacts store is the default volume or blob storage that Polyaxon will use to save your runs' outputs and logs.

The artifactsStore must be of kind: host_path, volume_claim, gcs, s3, or wasb.

For more details please check the artifacts store section.

Default behavior

When the user does not provide any artifactsStore configuration, the default behavior is to use a local path on the host node for storing outputs and logs, this behavior is oftentimes sufficient for users who are just trying the platform, and don't want to deal with configuration steps.

Connections

Polyaxon allows to configure multiple connections, these connections can be multiple data volumes as well as cloud storages, git repos, docker containers, database accesses, ... this catalog of connections makes it very easy to organize access to several external systems and resources, and there's no limitation on the number of connections you can define in this catalog.

You can define a custom catalog of connections per namespace if you want to isolate accessible resources by your users/teams, or you can duplicate some or all connections in some namespaces and clusters.

For more details please check the connection specification.

Default behavior

By default, this catalog is empty and is not required for Polyaxon to function correctly.

NotificationConnections

You can configure Polyaxon to send notifications to users about event changes in their runs.

The notificationConnections catalog is only used for connections used for notifications and uses the same connection specification.

For mode details please check the notifications section.