Capturing some of the work that will need to be done to expand the coverage of the opt-in autoscaling from zero feature in Cluster API.
Subsections of this document will cover specific providers and the necessary changes in each to support scale from zero as an automated process. The overall process for adding capacity information is as follows:
status.capacity
to the infrastructure machine templateThe providers listed here have been sourced from those available in the kubernetes-sigs organization on github.
The status updates have been implemented in this provider and could be used as an example for other providers.
https://github.com/kubernetes-sigs/cluster-api/tree/main/test/infrastructure/docker
Although the docker provider is primarily used for testing, adding capacity functionality will help with testing the overall feature.
status.capacity
to DockerMachineTemplate API typehttps://github.com/kubernetes-sigs/cluster-api-provider-aws
status.capacity
to AWSMachineTemplate API typehttps://github.com/kubernetes-sigs/cluster-api-provider-azure
status.capacity
to AzureMachineTemplate API typehttps://github.com/kubernetes-sigs/cluster-api-provider-cloudstack
status.capacity
to CloudStackMachineTemplate API typehttps://github.com/kubernetes-sigs/cluster-api-provider-digitalocean
status.capacity
to DOMachineTemplate API typehttps://github.com/kubernetes-sigs/cluster-api-provider-gcp
status.capacity
to GCPMachineTemplate API typehttps://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud
implemented
good example for other providers
https://github.com/kubernetes-sigs/cluster-api-provider-kubevirt
status.capacity
to KubevirtMachineTemplate API typehttps://github.com/kubernetes-sigs/cluster-api-provider-openstack
status.capacity
to OpenStackMachineTemplate API typehttps://github.com/kubernetes-sigs/cluster-api-provider-packet
status.capacity
to PacketMachineTemplate API typehttps://github.com/kubernetes-sigs/cluster-api-provider-vsphere
implemented
good example for other providers, slightly more complex than ibmcloud