Collaborating on a project

Many developers can work on a single Hasura project and all the clusters added to it, since all the configuration is in files, managed by git. A project owner can share their project git repository and add collaborators to the clusters through Hasura Dashboard.

Adding collaborators to your project

Assuming you already have a Hasura project and clusters,

  • Push your project to an online git repository (like GitHub) and share the URL with all collaborators to share the project source code
  • Open the Hasura Dashboard
  • Click on a cluster name that is added to the project
  • Click on the Collaborators tab
  • Add emails of those who you want to add as collaborators to give access to the cluster
  • Repeat for any other clusters

Joining as a collaborator to a project

Assuming the owner has shared the repo URL and added you as a collaborator to the clusters,

  • Login using Hasura CLI with the account having email added as collaborator

  • Clone the project source code from the repository link shared by the owner and cd into the repo

  • Execute hasura cluster list

  • You should be able to see the clusters available to you and clusters added to the project

  • For each cluster added to the project, make sure it is listed as available with the actual owner’s email. If not, request the owner to check your email address

  • Setup the project:

    # this command will fetch credentials, adds your ssh key to each cluster and sets up hooks and remotes
    $ hasura setup


    This command is only available in this form from Hasura CLI v0.2.37 onwards.

  • You can now access these clusters

    $ hasura cluster status -c [cluster-alias]
  • Set a cluster as default

    $ hasura cluster set-default [cluster-alias]
  • Make changes and push

    $ git add [file] && git commit -m "[message]"
    $ git push [cluster-alias] master
    # you might need to force push (using --force) if two collaborators are pushing simultaneously to same cluster


The owner and collaborators should push changes to the upstream origin (like GitHub) and pull changes regularly to avoid conflicts arising later.