Bootstrap servers

General information

These are the steps you need to perform after receiving a server IP address and an SSH user before you can run the provisioning scripts for any given environment. E.G: qa, backup, staging, production (1, 2, 3 or 5 server cluster).

Use command produced by create environment script (`yarn environment:init) to bootstrap servers:

Bootstrap Kubernetes single node / master node

Use code snippet generated by the yarn environment:init script in the Create a GitHub environment step

  1. SSH into your server as a user with sudo access or as root

  2. Run the following command on the VM:

    curl -sfL https://raw.githubusercontent.com/opencrvs/infrastructure/refs/heads/develop/scripts/bootstrap/opencrvs-bootstrap.sh \
         -o opencrvs-bootstrap.sh && \
    bash opencrvs-bootstrap.sh --owner <org name> \
                --repo <repo name> \
                --env <env name> \
                --token <github token> \
                --enable-runner

The script will install a self-hosted Github runner and set up a user on your server called provision. At the end of this process the script will display that provision user's public SSH key, which you will need to use in the next step if you are setting up a backup integration (required for a PII - staging / production environment) or a cluster.

Example output:

Checklist for script execution

  1. Verify provision user was created:

    Example output:

  2. In your GitHub repository, navigate to Settings β†’ Actions β†’ Runners and verify that the runner appears as a self-hosted runner.

Bootstrap Kubernetes worker nodes / backup server

  1. SSH into your server as a user with sudo access or as root

  2. Run following command to bootstrap server

Last updated