Quickstart

Quickstart

Build Kubernetes manifests from an OAM Application and a platform ClusterProfile.

1. An application

app.yaml — a single webservice component:

apiVersion: launcher.gokure.dev/v1alpha1
kind: Application
metadata:
  name: hello
spec:
  components:
    - name: web
      type: webservice
      properties:
        image: nginx:1.27
        port: 80

2. A cluster profile

profile.yaml — minimal platform choices:

apiVersion: launcher.gokure.dev/v1alpha1
kind: ClusterProfile
metadata:
  name: minimal
spec: {}

3. Build

# Render to stdout
kurel build app.yaml --profile profile.yaml

# …or write manifests to a directory
kurel build app.yaml --profile profile.yaml -o out/

kurel resolves the application against the profile and emits ready-to-apply Kubernetes manifests (here a Deployment, Service, and ServiceAccount).

Next steps

  • Add traits (ingress, certificate, scaler) — see the Trait Handlers.
  • Explore component types — see the Component Handlers.
  • Declare component ordering and tier placement with application policies (dependency, placement) — see the Policy Handlers. kurel build validates them, but its manifest output does not show their effect: they shape the bundle tree a caller renders into Flux resources.
  • Parameterize a reusable package (kurel.yaml, --values, --set) — see the full kurel CLI reference.
  • Browse runnable Examples.