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.

Reference (ref) of the pluginDefaults to apply to this task.

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.