Skip to content

Examples

Full working examples are available in the examples/ directory.

Minimal

The simplest possible spec — one web component:

apiVersion: helm-me/v1alpha1
kind: Application
metadata:
  name: hello-app

components:
  hello-service:
    type: web
    image: teserak/hello-world:latest
    port: 8080
    replicas: 2
from helm_me import App, web, image

class Deploy(App):
    name = "hello-app"

    hello_service = web(
        image=image("teserak/hello-world:latest"),
        port=8080,
        replicas=2,
    )

📂 examples/minimal/


With Databases

Backend + PostgreSQL + Redis with auto-wired secrets:

apiVersion: helm-me/v1alpha1
kind: Application
metadata:
  name: with-dbs

components:
  db:
    type: postgresql
    version: "16"
    database: myapp
    user: appuser
    password: supersecret
    storage: "1Gi"

  cache:
    type: redis
    version: "7"
    maxmemory: "128mb"
    password: supersecret

  backend:
    type: web
    image:
      repository: helm-me-example-backend:latest
      pull_policy: Never
    port: 8000
    env:
      REDIS_PORT: "6379"
    serviceEnv:
      REDIS_HOST:
        component: cache
    secretEnv:
      DATABASE_URL:
        component: db
        key: DATABASE_URL
      REDIS_PASSWORD:
        component: cache
        key: REDIS_PASSWORD
    probes:
      liveness: "/"
      readiness: "/test"

📂 examples/with_dbs/


Full (Multi-Component)

A production-style app with backend, frontend, chat service, ingress, secrets, CORS, and storage:

apiVersion: helm-me/v1alpha1
kind: Application
metadata:
  name: aurora-suite
  namespace: aurora

expose:
  ingress:
    host: aurora.example.test
    className: nginx

secrets:
  aurora-openai:
    strings:
      OPENAI_API_KEY: "change-me"

components:
  backend:
    type: web
    image:
      repository: ghcr.io/example/aurora-backend
      tag: "1.2.0"
    port: 8000
    replicas: 2
    cors:
      origins: ["https://aurora.example.test"]
    sqlite:
      mount_path: "/workspace/state"
      file_name: "aurora.db"
      volume:
        size: "5Gi"
    resources: medium
    public_paths: ["/api", "/mcp"]

  frontend:
    type: web
    image:
      repository: ghcr.io/example/aurora-frontend
      tag: "1.2.0"
    port: 80
    replicas: 2
    public_paths: ["/", "/docs"]

  chat:
    type: web
    image:
      repository: ghcr.io/example/aurora-chat
      tag: "1.2.0"
    port: 8501
    base_path: "chat"
    public_paths: ["/chat"]

📂 examples/full/ — includes both YAML and Python versions.