Link Search Menu Expand Document

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.

  • 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_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
  • ibmcloud
    • AFTERBURN_IBMCLOUD_INSTANCE_ID
    • AFTERBURN_IBMCLOUD_LOCAL_HOSTNAME
  • ibmcloud-classic
    • AFTERBURN_IBMCLOUD_CLASSIC_INSTANCE_ID
    • AFTERBURN_IBMCLOUD_CLASSIC_LOCAL_HOSTNAME
  • openstack
    • AFTERBURN_OPENSTACK_HOSTNAME
    • AFTERBURN_OPENSTACK_IPV4_LOCAL
    • AFTERBURN_OPENSTACK_IPV4_PUBLIC
    • AFTERBURN_OPENSTACK_INSTANCE_ID
    • AFTERBURN_OPENSTACK_INSTANCE_TYPE
  • openstack-metadata
    • AFTERBURN_OPENSTACK_HOSTNAME
    • AFTERBURN_OPENSTACK_IPV4_LOCAL
    • AFTERBURN_OPENSTACK_IPV4_PUBLIC
    • AFTERBURN_OPENSTACK_INSTANCE_ID
    • 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
  • 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

Please note that the legacy coreos-metadata binary used to provide somewhat different attributes.