Part III: Explore the Hasura cluster¶
A Hasura cluster is essentially a kubernetes cluster that has your custom microservices, Hasura APIs, an SSH/git-push microservice to help you git push to deploy, and other Hasura platform components running on it.
Get cluster information¶
Inside your project directory, run:
$ hasura cluster status
Cluster name: test42
Cluster alias: hasura
Kubectl context: test42
Platform version: v0.15.31
Cluster state: Synced
• Cluster configuration:
no changes
• To view the status of microservices use:
$ hasura ms list
The first section shows general information about the cluster.
The cluster configuration section will tell you if there is a difference between the local and remote cluster configurations.
Microservices¶
Microservices are basically the individual ‘apps’ that run on the cluster.
Hasura microservices are the default Hasura specific microservices that run on your cluster. These include the backend APIs provided by Hasura and other components of the Hasura platform.
You can also add your own custom microservices to your project.
To list the microservices running on your Hasura cluster, run the following command from the project directory.
$ hasura microservice list
USER MS NAME STATUS REPLICAS INTERNAL-URL EXTERNAL-URL
HASURA MS NAME STATUS REPLICAS INTERNAL-URL EXTERNAL-URL
auth Running 1/1 auth.test42-hasura:80 http://auth.test42.hasura-app.io/
data Running 1/1 data.test42-hasura:80 http://data.test42.hasura-app.io/
filestore Running 1/1 filestore.test42-hasura:80 http://filestore.test42.hasura-app.io/
gateway Running 1/1
le-agent Running 1/1
notify Running 1/1 notify.test42-hasura:80 http://notify.test42.hasura-app.io/
platform-sync Running 1/1
postgres Running 1/1 postgres.test42-hasura:5432
session-redis Running 1/1 session-redis.test42-hasura:6379
sshd Running 1/1
Currently, there are no custom user microservices running on the cluster. The Hasura microservices running on the cluster are as follows:
auth¶
The auth microservice handles user authentication for your Hasura cluster.
data¶
The data microservice on Hasura exposes an HTTP/JSON API and a GraphQL API over a PostgreSQL database.
filestore¶
The filestore microservice lets users upload and store files on the Hasura cluster and also download when required.
gateway¶
This microservice exposes your project to the outside world. It authenticates and redirects external requests to the appropriate microservice inside the cluster.
le-agent¶
This is the LetsEncrypt agent which is responsible for generating SSL certificates.
notify¶
This microservice handles the email/SMS communication.
platform-sync¶
This microservice keeps the cluster in sync with the configuration.
postgres¶
This microservice hosts the PostgreSQL database.
session-redis¶
This is a Redis instance used by the auth microservice to handle sessions.
sshd¶
This microservice handles SSH access to the cluster.
Next: Start building a back-end for a blog app!¶
Next, head to Part IV: Build a blog app engine