Supported Workload Types

Admin-configurable runtimes with dedicated container images per version

PHP

FastCGI (PHP-FPM) • Port 9001

The most popular web runtime. PHP-FPM with FastCGI proxy to nginx. Configurable memory limits, execution time, upload size, and FPM pool settings.

8.0 8.1 8.2 8.3

Python

HTTP Proxy (Gunicorn) • Port 8000

Run Flask, FastAPI, or any WSGI/ASGI application. Nginx reverse proxies to Gunicorn with configurable workers and settings.

3.10 3.11 3.12

Node.js

HTTP Proxy • Port 3000

Deploy Express, Next.js, Nuxt, or any Node.js application. Nginx reverse proxies to your app with WebSocket support and caching.

18 LTS 20 LTS 22

Django

HTTP Proxy (Gunicorn) • Port 8000

First-class Django support. Pre-configured for Gunicorn with static file serving, database connectivity, and WSGI configuration.

4.2 LTS 5.0

How It Works

Every domain gets a purpose-built container deployment

1

Choose Workload

When creating a domain, select the workload type and version from admin-configured options. The UI dynamically loads available versions.

2

Domain CR Created

Django creates a Kubernetes Domain Custom Resource with the workload spec: type, version, container image, port, and proxy mode.

3

Operator Deploys

The Kopf operator watches for the CR and creates the deployment: app container, nginx sidecar, SFTP container, and optional Redis cache.

4

Smart Proxy

Nginx is auto-configured with the right proxy mode: FastCGI for PHP-FPM, HTTP proxy for Python/Node.js, or uWSGI for WSGI apps.

Proxy Mode Configuration

Nginx is automatically configured based on the workload type

Proxy Mode Use Case Nginx Directive Default Port
FastCGI PHP-FPM fastcgi_pass 127.0.0.1:9001 9001
HTTP Python (Gunicorn), Node.js, Django proxy_pass http://127.0.0.1:8000 8000 / 3000
uWSGI Python WSGI applications uwsgi_pass 127.0.0.1:8000 8000

Admin-Configurable Runtimes

Add custom workload types and versions through the Django admin

WorkloadType Model

Define runtime types with name, slug, default port, proxy mode, default resource limits, and display order. Activate or deactivate types without code changes.

  • Custom name and icon
  • Configurable proxy mode
  • Default CPU and memory limits
  • Active/inactive toggle

WorkloadVersion Model

Define specific versions per workload type with custom container images. Override default resource limits per version. Set defaults and control availability.

  • Custom container image URL
  • Version-specific resource overrides
  • Default version per type
  • Dynamic version loading API

Host Any Web Application

From WordPress to Django, Express to FastAPI. One cluster, every workload.