Deploying Server

Video guide for this section

Deploying Quantotto Server onto Kubernetes is done in two grand steps (partially leveraging Quantotto K8s CLI)

Configure


NOTES:

  • You can either provide some or all of the above options in a command line or omit them; if omitting, you will be prompted for missing options.
  • In most cases, provided defaults will work fine

ENCRYPTION NOTES:
Secrets will be encrypted during generation of helmfile templates. You have to provide --encrypt-secrets command line option as explained below.

Supported encryption options:

  • PGP key:
    • provide key fingerprint as --encrypt-secrets value in the pgp:12345678ABCDEF form replacing 12345678ABCDEF with your key.
    • you can list all available keys locally with gpg --list-keys.
    • use gpg --full-generate-key to create a new key if needed
  • Custom SOPS: supply your own SOPS configuration file as --encrypt-secrets value in the sops:path/to/sops.yaml form

    Example:

    qtok8s server config --encypt-secrets pgp:C8737843287239328934
    


Once complete, the command will render a few deployment templates and will display a specific helmfile command for actual deployment.

Deploy

Deployment might take a minute to complete. Once helmfile command completed successfully, watch quantotto namespace (assuming you didn’t specify different namespace) and wait until all PODs are in Ready and Running state:

watch kubectl -n quantotto get pods

When all pods are ready, the output will look similar to below:

NAME                                   READY   STATUS    RESTARTS   AGE
auth-api-c845dbbd8-7v9jb               1/1     Running   0          2m21s
config-api-687db6dd8c-sp4xt            1/1     Running   0          3m4s
data-api-6bf658cf87-bvjsd              1/1     Running   0          2m22s
faces-archive-api-7fbf5b77ff-rq66z     1/1     Running   0          2m21s
ftp-7fbb6d5c8f-964rq                   1/1     Running   0          2m21s
h5serv-56b5b54df4-xj5sm                1/1     Running   0          2m21s
hydra-79954484d-hfplr                  1/1     Running   0          3m6s
hydra-hydra-maester-6c66b94c4b-t9m89   1/1     Running   0          3m6s
influxdb-0                             1/1     Running   0          2m21s
mgmt-api-6bd5f69dd5-mttw8              1/1     Running   0          2m21s
mongodb-b4cb5c97b-gnp8z                1/1     Running   0          2m20s
neo4j-neo4j-core-0                     1/1     Running   0          2m20s
nginx-55cdf446cd-vsdd5                 1/1     Running   0          2m21s
openldap-0                             1/1     Running   1          3m12s
qdb-76446cb477-shckg                   1/1     Running   0          3m12s
redis-master-0                         1/1     Running   0          2m20s

Portal FQDN (assume we chose portal.example.com as our FQDN):


Management Console:

We still didn’t create any Customer, so you won’t be able to actually log in, but it is a good extra validation that server was deployed successfully.

Super-admin secret: