Quantotto Predictive Surveillance Platform

View on GitHub

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: