Metadata attributes
Afterburn can consume cloud-specific metadata and serialize instance attributes into an environment file (e.g. /run/metadata/afterburn
), which can then be consumed by systemd service units via EnvironmentFile=
.
Usually, OS vendors which ship Afterburn do not enable it by default. Therefore, any service which wants to make use of Afterburn metadata must explicitly pull it in using e.g. Requires=afterburn.service
and After=afterburn.service
.
Cloud providers with supported metadata endpoints and their respective attributes are listed below.
- akamai
- AFTERBURN_AKAMAI_INSTANCE_HOST_UUID
- AFTERBURN_AKAMAI_INSTANCE_ID
- AFTERBURN_AKAMAI_INSTANCE_LABEL
- AFTERBURN_AKAMAI_INSTANCE_REGION
- AFTERBURN_AKAMAI_INSTANCE_TAGS
- AFTERBURN_AKAMAI_INSTANCE_TYPE
- AFTERBURN_AKAMAI_IPV6_LINK_LOCAL
- AFTERBURN_AKAMAI_IPV6_RANGE_0
- AFTERBURN_AKAMAI_IPV6_SHARED_RANGE_0
- AFTERBURN_AKAMAI_IPV6_SLAAC
- AFTERBURN_AKAMAI_PRIVATE_IPV4_0
- AFTERBURN_AKAMAI_PUBLIC_IPV4_0
- AFTERBURN_AKAMAI_SHARED_IPV4_0
- aliyun
- AFTERBURN_ALIYUN_EIPV4
- AFTERBURN_ALIYUN_HOSTNAME
- AFTERBURN_ALIYUN_IMAGE_ID
- AFTERBURN_ALIYUN_INSTANCE_ID
- AFTERBURN_ALIYUN_INSTANCE_TYPE
- AFTERBURN_ALIYUN_IPV4_PRIVATE
- AFTERBURN_ALIYUN_IPV4_PUBLIC
- AFTERBURN_ALIYUN_REGION_ID
- AFTERBURN_ALIYUN_VPC_ID
- AFTERBURN_ALIYUN_ZONE_ID
- aws
- AFTERBURN_AWS_HOSTNAME
- AFTERBURN_AWS_PUBLIC_HOSTNAME
- AFTERBURN_AWS_IPV4_LOCAL
- AFTERBURN_AWS_IPV4_PUBLIC
- AFTERBURN_AWS_IPV6
- AFTERBURN_AWS_AVAILABILITY_ZONE
- AFTERBURN_AWS_INSTANCE_ID
- AFTERBURN_AWS_INSTANCE_TYPE
- AFTERBURN_AWS_REGION
- azure
- AFTERBURN_AZURE_IPV4_DYNAMIC
- AFTERBURN_AZURE_IPV4_VIRTUAL
- AFTERBURN_AZURE_VMSIZE
- cloudstack-configdrive
- AFTERBURN_CLOUDSTACK_AVAILABILITY_ZONE
- AFTERBURN_CLOUDSTACK_INSTANCE_ID
- AFTERBURN_CLOUDSTACK_SERVICE_OFFERING
- AFTERBURN_CLOUDSTACK_CLOUD_IDENTIFIER
- AFTERBURN_CLOUDSTACK_LOCAL_HOSTNAME
- AFTERBURN_CLOUDSTACK_VM_ID
- cloudstack-metadata
- AFTERBURN_CLOUDSTACK_AVAILABILITY_ZONE
- AFTERBURN_CLOUDSTACK_CLOUD_IDENTIFIER
- AFTERBURN_CLOUDSTACK_HOSTNAME
- AFTERBURN_CLOUDSTACK_INSTANCE_ID
- AFTERBURN_CLOUDSTACK_IPV4_LOCAL
- AFTERBURN_CLOUDSTACK_IPV4_PUBLIC
- AFTERBURN_CLOUDSTACK_LOCAL_HOSTNAME
- AFTERBURN_CLOUDSTACK_PUBLIC_HOSTNAME
- AFTERBURN_CLOUDSTACK_SERVICE_OFFERING
- AFTERBURN_CLOUDSTACK_VM_ID
- digitalocean
- AFTERBURN_DIGITALOCEAN_HOSTNAME
- AFTERBURN_DIGITALOCEAN_IPV4_ANCHOR_0
- AFTERBURN_DIGITALOCEAN_IPV4_PUBLIC_0
- AFTERBURN_DIGITALOCEAN_IPV4_PRIVATE_0
- AFTERBURN_DIGITALOCEAN_IPV6_PUBLIC_0
- AFTERBURN_DIGITALOCEAN_IPV6_PRIVATE_0
- AFTERBURN_DIGITALOCEAN_REGION
- exoscale
- AFTERBURN_EXOSCALE_AVAILABILITY_ZONE
- AFTERBURN_EXOSCALE_CLOUD_IDENTIFIER
- AFTERBURN_EXOSCALE_INSTANCE_ID
- AFTERBURN_EXOSCALE_LOCAL_IPV4
- AFTERBURN_EXOSCALE_PUBLIC_IPV4
- AFTERBURN_EXOSCALE_LOCAL_HOSTNAME
- AFTERBURN_EXOSCALE_PUBLIC_HOSTNAME
- AFTERBURN_EXOSCALE_SERVICE_OFFERING
- AFTERBURN_EXOSCALE_VM_ID
- gcp
- AFTERBURN_GCP_HOSTNAME
- AFTERBURN_GCP_IP_EXTERNAL_0
- AFTERBURN_GCP_IP_LOCAL_0
- AFTERBURN_GCP_MACHINE_TYPE
- hetzner
- AFTERBURN_HETZNER_AVAILABILITY_ZONE
- AFTERBURN_HETZNER_HOSTNAME
- AFTERBURN_HETZNER_INSTANCE_ID
- AFTERBURN_HETZNER_PUBLIC_IPV4
- AFTERBURN_HETZNER_PRIVATE_IPV4_0
- AFTERBURN_HETZNER_REGION
- ibmcloud
- AFTERBURN_IBMCLOUD_INSTANCE_ID
- AFTERBURN_IBMCLOUD_LOCAL_HOSTNAME
- ibmcloud-classic
- AFTERBURN_IBMCLOUD_CLASSIC_INSTANCE_ID
- AFTERBURN_IBMCLOUD_CLASSIC_LOCAL_HOSTNAME
- kubevirt
- AFTERBURN_KUBEVIRT_HOSTNAME
- AFTERBURN_KUBEVIRT_INSTANCE_ID
- AFTERBURN_KUBEVIRT_INSTANCE_TYPE
- openstack
- AFTERBURN_OPENSTACK_HOSTNAME
- AFTERBURN_OPENSTACK_IPV4_LOCAL
- AFTERBURN_OPENSTACK_IPV4_PUBLIC
- AFTERBURN_OPENSTACK_INSTANCE_ID — EC2-style instance ID, not used in OpenStack API
- AFTERBURN_OPENSTACK_INSTANCE_UUID — OpenStack instance UUID (Afterburn ≥ 5.5.0)
- AFTERBURN_OPENSTACK_INSTANCE_TYPE
- openstack-metadata
- AFTERBURN_OPENSTACK_HOSTNAME
- AFTERBURN_OPENSTACK_IPV4_LOCAL
- AFTERBURN_OPENSTACK_IPV4_PUBLIC
- AFTERBURN_OPENSTACK_INSTANCE_ID — EC2-style instance ID, not used in OpenStack API
- AFTERBURN_OPENSTACK_INSTANCE_UUID — OpenStack instance UUID (Afterburn ≥ 5.5.0)
- AFTERBURN_OPENSTACK_INSTANCE_TYPE
- packet
- AFTERBURN_PACKET_HOSTNAME
- AFTERBURN_PACKET_PLAN
- AFTERBURN_PACKET_IPV4_PUBLIC_0
- AFTERBURN_PACKET_IPV4_PUBLIC_GATEWAY_0
- AFTERBURN_PACKET_IPV4_PRIVATE_0
- AFTERBURN_PACKET_IPV4_PRIVATE_GATEWAY_0
- AFTERBURN_PACKET_IPV6_PUBLIC_0
- AFTERBURN_PACKET_IPV6_PUBLIC_GATEWAY_0
- powervs
- AFTERBURN_POWERVS_INSTANCE_ID
- AFTERBURN_POWERVS_LOCAL_HOSTNAME
- proxmoxve
- AFTERBURN_PROXMOXVE_HOSTNAME
- AFTERBURN_PROXMOXVE_INSTANCE_ID
- AFTERBURN_PROXMOXVE_IPV4
- AFTERBURN_PROXMOXVE_IPV6
- scaleway
- AFTERBURN_SCALEWAY_HOSTNAME
- AFTERBURN_SCALEWAY_INSTANCE_ID
- AFTERBURN_SCALEWAY_INSTANCE_TYPE
- AFTERBURN_SCALEWAY_PRIVATE_IPV4
- AFTERBURN_SCALEWAY_PUBLIC_IPV4
- AFTERBURN_SCALEWAY_PUBLIC_IPV6
- AFTERBURN_SCALEWAY_ZONE_ID
- vultr
- AFTERBURN_VULTR_HOSTNAME
- AFTERBURN_VULTR_INSTANCE_ID
- AFTERBURN_VULTR_REGION_CODE
Additionally, some attribute names are reserved for custom metadata providers. These can be safely used by external providers on platforms not supported by Afterburn:
- custom
- AFTERBURN_CUSTOM_HOSTNAME
- AFTERBURN_CUSTOM_PUBLIC_IPV4
- AFTERBURN_CUSTOM_PRIVATE_IPV4
- AFTERBURN_CUSTOM_PUBLIC_IPV6
- AFTERBURN_CUSTOM_PRIVATE_IPV6