Canonical DeployMachine

Canonical DeployMachine

Certified
Enterprise Edition

Deploy OS to MAAS machine

Trigger the MAAS deploy operation on an existing machine. Runs asynchronously by default; set waitForDeployment to poll until Deployed (default 45m timeout). User data is base64-encoded before submission.

yaml
type: io.kestra.plugin.ee.canonical.maas.DeployMachine

Deploy Ubuntu and wait for completion

yaml
id: deploy_ubuntu_server
namespace: company.team
tasks:
  - id: deploy_ubuntu_server
    type: io.kestra.plugin.ee.canonical.maas.DeployMachine
    url: "{{ secret('MAAS_URL') }}"
    apiKey: "{{ secret('MAAS_API_KEY') }}"
    systemId: "{{ outputs.commission_server.systemId }}"
    osystem: "ubuntu"
    distroSeries: "jammy"
    kernel: "ga-22.04"
    installKvm: false
    storageLayout: "lvm"
    userData: |
      #cloud-config
      packages:
        - docker.io
        - kubectl
      runcmd:
        - systemctl enable docker
        - systemctl start docker
    userTags:
      - "kubernetes-node"
      - "production"
    waitForDeployment: true
    timeout: PT45M
Properties

MAAS API key

MAAS API key in the consumer: token: secret format.

System ID

MAAS system identifier of the machine to deploy; the machine must already be Commissioned/Ready.

MAAS URL

Base URL of the MAAS server, including the MAAS context path. Example: https://maas.example.com/MAAS

Distribution series

MAAS distribution series (for example jammy); optional.

Install KVM

Whether to install KVM packages during deployment; leave unset to use the MAAS default.

Kernel

Kernel to deploy, mapped to the MAAS hwe_kernel parameter; optional.

Operating system

MAAS operating system identifier (for example ubuntu); uses the machine’s default image when omitted.

Storage layout

MAAS storage layout name (for example lvm).

DefaultPT45M

Timeout

Maximum time to wait for deployment to complete when waiting; defaults to 45 minutes.

User data

Cloud-init user data; automatically base64-encoded before submission.

SubTypestring

User tags

Tags to apply to the machine at deployment time.

Defaultfalse

Wait for deployment

Whether to poll MAAS until the machine reaches the Deployed state; defaults to false and increases run time when enabled.

Machine details

Sanitized machine details returned after deployment or wait.

System ID

MAAS system identifier for the deployed machine.