Use of Kubernetes
Tidepool uses Amazon Machine Images (AMIs) built by us programmatically for EC2 as well as Docker
containers running inside of Kubernetes
on AWS managed virtual machines (eks
).
Each Kubernetes cluster is managed by a single GitHub configuration repository (repo). A repo can be publicly readable or private. A repo can also differentiate people by their GitHub identity and assign them read-only access, read-write access, or administrative privileges. Only authorized Tidepool employees have write access to repos.
Within the configuration repository is a directory that contains the configuration of the services that are shared across the cluster, including configuration of logging, security, and high availability. Each Kubernetes cluster hosts one or more services. The services include Tidepool environments, and other services that we need for monitoring or sharing our artifacts.
Each Tidepool environment defines an instance of the Tidepool backend services. Each environment is completely independent of the others. Consequently, each environment can run whatever version of the Tidepool services in accordance with the needs of the clients of the environment.
Each Kubernetes environment is backed by storage. That storage consists of Mongo database storage and file storage. That storage can be persistent or ephemeral, in accordance with the needs of the clients of the environment.
Each Kubernetes environment is accessed via one or more DNS aliases.
The content of the Tidepool Technical Documentation is licensed under a Creative Commons CC0 1.0 Universal (CC0 1.0) Public Domain Dedication.