Project structure: conf/ci.yaml

Note

This file is rendered as a template. Refer to Conf files templating for more details.

Continuous integration settings for a cluster is specified in this file. Two parameters together define continuous integration: remotes and registry.

remotes

Details under a remote indicate which microservices have to be updated when a git push happens against that remote. Each key creates a git remote on the cluster. When a push is made to this cluster, docker images are built and the microservices are updated as per the definition.

remote-name:                                   # name of the remote
  namespace.microservice-name:                 # microservice to be updated
    container-name:                            # container name to be updated
      path: microservices/app                  # path where image has to be built
      dockerfile: microservices/app/Dockerfile # dockerfile for building the image

OR (only for Hasura CLI versions >= v0.2.50)

name: remote-name                  # name of the remote
deployments:
- name: deployment-name            # name of deployments to be updated
  namespace: deployment-namespace  # namespace of deployment
  containers:
  - name: container-name:          # name of container in deployment to be updated
    dockerBuild:                   # docker build context path and dockerfile
      contextPath: microservices/app
      dockerfilePath: microservices/app/Dockerfile

registry

If a registry is defined, all docker images built will be pushed to and pulled from this registry. You can create a private registry and configure it to be used here. More details at [link].

prefix: gcr.io/example-registry
regSecret: registry-secret-name

You can find the default file at conf/ci.yaml in the base repo.