Hakuna Cloud is a software as a service that you can use to automatically start and stop cloud servers. A start or stop action is executed as a consequence of a specific trigger. Hakuna Cloud support different Cloud Provider and can be managed using a CLI tool

Cloud Provider

A Cloud Provider is a public vendor of cloud services. Hakuna Cloud support the following vendor:

Provider

A provider is, essentially, a secure container for Cloud Provider credentials. Hakuna Cloud uses the credentials saved in a provider to call the Cloud Providers APIs on the user behalf. Multiple provider for the same Cloud Provider can exists at the same time.

Each Cloud Provider has its own implementation of providers, called flavours. The following table list all the available flavours and how their are related to Cloud Providers

Cloud Provider Service Hakuna Cloud Flavour
AWS EC2 awsec2
AWS CloudFormation awscf
Azure Virtual machine azure/vm
DigitalOcean Droplets digitalocean
Google Cloud Platform Compute Engine VM gcp
Oracle Cloud Infrastructure Compute Instance oracle-compute

Instances

An instance is a generalized representation of a cloud compute server hosted by a Cloud Provider. A Digitalocean droplet, an EC2 server, as well as a single AWS CloudFormation stack, can be referred as an instance in the context of Hakuna Cloud. A droplet in DigitalOcean, an EC2 Instance in AWS or a VM in Google Cloud Compute Engine, in this documentation or in the hakuna CLI, are always referred only with instance.

VHost

A VHost represent an instance managed by Hakuna Cloud. A VHost can be started or stopped, accordingly to its configuration. This object contains all the configuration required by Hakuna Cloud to work properly. A VHost is defined by:

  • a hostname that uniquely identifies the vhost in the form of an FQDN;
  • a template containing the information the description of the instance (this field is reserved);
  • the provider field with the information of the cloud provider credential set to use
  • the owner field with the email address of the owner of this resource
  • stopOptions.timeoutShutdown in millisecondi

Finally, the VHost is keep updated with some information that could change during the provisioning/deprovisioning cycle (for example the public IP).

Triggers

A trigger is a reaction to an event used to launch the provisioning or the disposal of an instance. This activity is put in place when a measurable event occurs. Hakuna Cloud offers different types of triggers based on the event type to which they react:

  • Proxy: react to HTTP/HTTPS calls to a specified domain
  • Metrics: react to CPU usage metrics of an instance
  • Schedule: react to predefined time event