Skip to main content

Runpacks

info

Runpacks where originally called Builpacks. The name was changed to Runpacks to avoid confusion with the CNCF's buildpacks.io . It might still appear as Buildpacks in some parts of the documentation and configuration files.

Kubero Runpacks rely on public available images.

Examples of Kubero Runpacks can be found here: https://github.com/kubero-dev/runpacks/tree/main/packs

Runpacks are defined as a set of three containers:

Fetch (init container)​

Fetches the code from a Git repository. There is a working fetch container from kubero. But if you wish to build your own, you are free to change it in the runpack configuration.

Build (init container)​

Runs the build commands. You can define which image will be used by selecting the runpack. The runpack can be configured with any Docker image.

Run (container)​

Run the final container In the run stage, there are two options: worker and web. Only the web pod is attached to the ingress and will be accessible from outside the cluster.

Example for a runpack configuration:​

  - name: Python
language: Python
fetch:
repository: ghcr.io/kubero-dev/fetch
tag: v1
build:
repository: python
tag: 3.10-buster
command: "python3 -m venv .venv && . .venv/bin/activate && pip install -r requirements.txt"
run:
repository: python
tag: 3.10-buster
command: "python3 -m venv .venv && . .venv/bin/activate && python3 main.py"

This config is stored in your Kubernetes cluster and can be changed by kubectl.

kubectl edit kuberoes kubero -n kubero