Skip to main content
 _____ _       _
| ____| |_ __ (_) ___
|  _| | | '_ \| |/ _ \
| |___| | |_) | | (_) |
|_____|_| .__/|_|\___/
        |_|

Turn any Kubernetes cluster into a private serverless platform.


Elpio is an installable, self-hosted Cloud Run / Cloud Functions / Cloud Tasks for your own Kubernetes — scale-to-zero, request-driven autoscaling, simplified cluster + node autoscaling, and a clean multi-tenant model. GKE-first, portable by design (EKS / AKS / k3s).

Elpio is an Altikva open-source product (MIT for code, CC-BY-4.0 for docs). The name is a coined mark rooted in Greek elpis ("hope") — part of the Altikva family lineage ha-tikva (Hebrew) → Spero (Latin) → Elpio.

Status: alpha (v0.1.0). All four reconcilers ship: ElpioService (Knative/KEDA serving), ElpioFunction (Tekton + Buildpacks), ElpioTask (KEDA + broker), and ElpioTenant (namespace, RBAC, quotas, network isolation). Alongside them: OIDC auth, an admission webhook, a multi-cluster management API, a Helm chart, and CI. CRs emit status.conditions, so the sibling agent Spero can supervise and heal them. The kind-based e2e harness is wired and gated behind ELPIO_E2E=1.

Why

Elpio does not reimplement a serverless runtime. It's the opinionated, enterprise control plane that assembles proven CNCF primitives — Knative, KEDA, Tekton, cert-manager, Karpenter — behind a declarative CRD/operator model. Its value is the enterprise wrapper the public clouds don't give you: on-prem security integration, hard multi-tenancy, golden-path config, fleet management, and a one-command installer.

How it works

You declare an ElpioService; the operator reconciles it onto a serving engine. No SSH, no imperative kubectl apply scripts — just Kubernetes-native reconciliation.

apiVersion: elpio.io/v1alpha1
kind: ElpioService
metadata:
  name: hello
spec:
  image: ghcr.io/knative/helloworld-go:latest
  scaling: { minScale: 0, maxScale: 10, target: 100, metric: concurrency }
CRD Equivalent Engine
ElpioService Cloud Run Knative Serving (default) or KEDA
ElpioFunction Cloud Functions Tekton + Buildpacks → ElpioService
ElpioTask Cloud Tasks KEDA + broker + dispatcher

The serving engine is a strategy (ELPIO_ENGINE=knative|keda) behind one stable CRD — Knative for the highest Cloud Run parity, KEDA for a lighter footprint.

Quickstart

pip install elpio                  # the elpio CLI

# point kubectl at any cluster (kind, minikube, GKE, EKS, ...) that has a
# serving engine installed — Knative Serving (default) or KEDA.
elpio install                      # applies the CRDs + operator
elpio deploy -f hello.yaml         # the ElpioService shown above
elpio services

Working from a clone instead? task e2e-up provisions kind + Knative/KEDA, and task operator-run runs the operator locally (kopf run -m elpio.operator.handlers).

Development

task dev      # editable install + dev deps
task unit     # unit tests (no cluster)
task lint     # ruff
task e2e      # end-to-end (needs a kind cluster + Knative/KEDA)

Layout

src/elpio/
  models/      ElpioService spec (Pydantic mirror of the CRD)
  engines/     serving-engine strategy: base + knative + keda
  providers/   portability seams: StateStore, IdentityProvider
  operator/    kopf reconciler
  cli.py       the `elpio` command
deploy/        CRDs + operator manifests (+ Helm)
docs/          architecture & guides

License

Code: MIT. Docs & branding: CC-BY-4.0.

Metadata

Release files for elpio 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for elpio 0.1.0
File Size Uploaded
elpio-0.1.0.tar.gz 161.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for elpio 0.1.0
File Interpreter ABI Platform
elpio-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 214.4 kB

Release files / elpio-0.1.0.tar.gz

Download URL elpio-0.1.0.tar.gz
Size 161.9 kB
Tags Source
SHA-256 checksum
How to use checksums
6e896f63358f35377b35e2aed7125907c16f56dd2a71238d98c75486447a0649
BLAKE2b-256 checksum
How to use checksums
9b046b37336251ba48a41eb65e5111d9e14150304131a6a8b388e170f4345b97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 6, 2026.

Transparency log

Release files / elpio-0.1.0-py3-none-any.whl

Download URL elpio-0.1.0-py3-none-any.whl
Size 52.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0deda63464795c0dbf974cfe6093006b6aea56f825c56093c5a35e0c532d5816
BLAKE2b-256 checksum
How to use checksums
ff958e6e8185dda100ccd055ad00554d59b729828f21016c8d868d6109a140ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 6, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page