Architecture¶
How can I improve the above diagram?
Feel free to help us by improving and keeping the above diagram up to date. It was created using Excalidraw's whiteboard. Click here to access the most updated version available. After changing anything, you should share the new export link with us.
Tsuru API server¶
This service is part of Tsuru's core services.
The web API where the Tsuru users interact with. It's responsible for almost everything since Tsuru workloads1 creation until deployment workflow and troubleshooting operations.
Source code: | tsuru/tsuru |
OpenAPI specification: | Tsuru API |
MongoDB¶
The datastore service used by Tsuru API server to store the Tsuru workloads1 expected state, events and so on. Currently, it must a MongoDB server implementation on 4.x version.
Source code: | mongodb/mongo |
Container Registry¶
Service to store and distribute container images of Tsuru workloads1. It must be compliant with Docker Registry API or OCI distribution specification.
Source code: | distribution/distribution |
Deploy Agent¶
This service is part of Tsuru's core services.
The service is responsible for intermediating the build and push process of Tsuru workloads1 container images to the container registry.
Source code: | tsuru/deploy-agent |
BuildKit¶
Service to build and push container images from a container file recipe.
Source code: | moby/buildkit |
Tsuru Router API¶
This service is part of Tsuru's core services.
The web API service which Tsuru updates the app's service backend.
Source code: | tsuru/kubernetes-router |
OpenAPI specification: | Tsuru Router API |
Kubernetes cluster¶
The Kubernetes cluster where Tsuru API should run the Tsuru workloads1 on.
Source code: | kubernetes/kubernetes |