Introdução
PaaStel is an open source Platform as a Service (PaaS) that adds a developer-friendly layer to any Kubernetes cluster, making it easy to deploy and manage applications on your own servers.
The name refers to Brazil's most beloved food (pastel), but it also has a meaning in the world of technology as a "workaround" in the code, like Go Horse.
Componenets
| Name | Description |
|---|---|
| Controller | Workflow API server |
| Builder | Git server and source-to-image component |
| Dockerbuilder | The builder for Docker based applications |
| Registry | The Docker registry |
| Router | The HTTP/s edge router |
Setup Dev Environment
Builder
The builder is primarily a git server that responds to git pushes by executing
either the git-receive-pack or git-upload-pack hook. After it
executes one of those hooks, it takes the following high level steps in orde
- Calls git archive to produce a tarball (i.e. a .tar.gz file) on the local file system.
- Saves the tarball to centralized object storage.
- Starts a new Kubernetes Pod to build the code, according to the following
rules:
- If a Dockerfile is present in the codebase, starts a dockerbuilder pod, configured to download the code to build from the URL computed in the previous step.
Development Flow
Developer → git push → SSH Server → Git Receive Hook
↓
Git Archive (tarball)
↓
Upload to Storage
↓
Create K8s Pod (dockerbuilder)
↓
Build → Push to Registry
↓
Controller deploys app