
Canonical DeployMachine
CertifiedEnterprise EditionDeploy OS to MAAS machine
Canonical DeployMachine
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.
type: io.kestra.plugin.ee.canonical.maas.DeployMachineExamples
Deploy Ubuntu and wait for completion
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
apiKey *Requiredstring
MAAS API key
MAAS API key in the consumer: token: secret format.
systemId *Requiredstring
System ID
MAAS system identifier of the machine to deploy; the machine must already be Commissioned/Ready.
url *Requiredstring
MAAS URL
Base URL of the MAAS server, including the MAAS context path.
Example: https://maas.example.com/MAAS
distroSeries string
Distribution series
MAAS distribution series (for example jammy); optional.
installKvm booleanstring
Install KVM
Whether to install KVM packages during deployment; leave unset to use the MAAS default.
kernel string
Kernel
Kernel to deploy, mapped to the MAAS hwe_kernel parameter; optional.
osystem string
Operating system
MAAS operating system identifier (for example ubuntu); uses the machine’s default image when omitted.
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
storageLayout string
Storage layout
MAAS storage layout name (for example lvm).
timeout string
PT45MTimeout
Maximum time to wait for deployment to complete when waiting; defaults to 45 minutes.
userData string
User data
Cloud-init user data; automatically base64-encoded before submission.
userTags array
User tags
Tags to apply to the machine at deployment time.
waitForDeployment booleanstring
falseWait for deployment
Whether to poll MAAS until the machine reaches the Deployed state; defaults to false and increases run time when enabled.
Outputs
machine object
Machine details
Sanitized machine details returned after deployment or wait.
systemId string
System ID
MAAS system identifier for the deployed machine.