Skip to content

smartdataHQ/cxs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quick Lookup and Context Suite Deployment

This repo contains configuration for the our clusters and services. We use Fleet (Rancher) to manage our Kubernetes clusters and Helm to deploy our services.

The Fleet service monitors this repo and deploys all services and applications that are mapped in Ranchder.

Index

IMPORTANT!

No secrets are stored in this repo. NONE AT ALL!
As this is a public repo, all secrets are stored in Rancher and injected into the cluster at deployment time. Before you commit any changes to this repo, make sure you have removed all secrets from the files you are changing.

Refer to the Rancher documentation for how to add secrets to the cluster.

Also IMPORTANT!

We separate deployment configuration from application code.
The only CI actions included in code repos are building, dockerizing the code and pushing the image to DockerHub.
All other deployment configuration is stored in this repo.

Systems involved and their roles

The following systems are involved in deploying Quick Lookup and Context Suite services.

Github

This repository is stored on Github and contains all configuration for the services and applications. Whe it changes, Fleet will automatically deploy the changes to the cluster.

Our code is also stored in Github and is automatically build and dockerized by Github Actions. Docker images are then stored in DockerHub.

Rancher

Wee use Rancher to manage our all of our Kubernetes clusters, independent of the cloud provider. Fleet is the part of Rancher that is used to monitor and deploy the configuration in this repo.

Our rancher instance is available at ops.quicklookup.com
Rancher Docs
Fleet Docs

Docker Hub

Whe store container images in DockerHub. Fleet fetches the images from DockerHub and deploys them to the cluster based on the tags specified in this repo. We can have Github Actions updated these tags automatically when code is pushed to Github.

Our DocerHub Repo

S3 mount S3 point for customer documents

  • sudo apt install s3fs
  • echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > ${HOME}/.passwd-s3fs
  • chmod 600 ${HOME}/.passwd-s3fs
  • s3fs mybucket /path/to/mountpoint -o passwd_file=${HOME}/.passwd-s3fs -o url=https://url.to.s3/ -o use_path_request_style
  • mybucket /path/to/mountpoint fuse.s3fs _netdev,allow_other,use_path_request_style,url=https://url.to.s3/ 0 0

VPN Access to the Cluster

  • See kubevpn
  • Install client
  • make the script executable: chmod +x Download/kubevpn.sh
  • Login and download KubeConfig from the CxS Rancher
  • connect: kubevpn/bin/kubevpn connect -n data --kubeconfig Downloads/cxs-eu1.yaml
  • disconnect: kubevpn/bin/kubevpn disconnect

Applications included in repo

Context Suite

The Client Application

The Context API

Quick Lookup

The Graph API

The Bestlist

Self Services Portal

The GraphQL Playground

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published