Hasura cluster

A Hasura cluster is a Kubernetes cluster, with Hasura backend APIs and some internal microservices (like Postgres, Nginx etc.) installed on it. This Kuberenetes cluster is usually runs on a cloud infrastructure like Google Cloud, Azure or AWS.

All Hasura clusters are free for development purposes or for hobby projects.

For hosting production projects, please get in touch with us at support@hasura.io.

Note

Please do not host production projects on these free clusters as they don’t have production SLAs and can go down (although unlikely).

Creating a cluster

To create a new cluster, use the hasura CLI.

$ hasura cluster create --type free

INFO Creating a Hasura cluster...
INFO Hasura cluster created                        cluster=alarming52
INFO Initializing the cluster...
INFO Cluster initialized
INFO Kubernetes context has been added to this system  context=alarming52

Note

You can only create 2 free Hasura clusters.

Adding a cluster to a project

To add a cluster to a project we use:

$ hasura cluster add alarming52 -c hasura

INFO Adding cluster...                             cluster-alias=hasura cluster-name=alarming52
INFO Kubernetes context has been added to this system  context=alarming52
INFO Cluster added to project
INFO Setting up git remotes and pre-push hook...
INFO remote "hasura" added: [ssh://hasura@alarming52.hasura-app.io:22/~/git/alarming52]
INFO pre-push hook added

The -c flags tells to create a alias hasura the for the cluster. This name can be anything. We can then use this alias in various other commands including git push.

Deleting a cluster

To delete a cluster, use the hasura CLI.

$ hasura cluster delete alarming52

INFO Deleting cluster...                           cluster-name=alarming52
INFO Cluster deleted

Advanced users

To understand the architecture of a Hasura cluster in greater detail, read this guide on the Hasura architecture.