v0.7.11 — Workload autoscaler, user-defined notes, and new example packs

1 min read

autoscale: block

Declarative replica control for Deployments, StatefulSets, and ReplicaSets:

deployments:
  - name: "{{ .metadata.name }}"
    replicas: 2
    autoscale:
      min: 2
      max: 10
      cooldown: 3m
      scaleUp:
        conditions:
          when:
            - field: external.queue.pendingJobs
              greaterThan: "100"
        increment: 2
      scaleDown:
        conditions:
          when:
            - field: external.queue.pendingJobs
              lessThan: "20"
        decrement: 1

Scale signals: time/day conditions, external: HTTP metrics, cross: sibling CRD status fields. Step (increment/decrement) or jump (target) scaling. Drift correction is suppressed for autoscaled workloads.

User-defined notes

Named template expressions callable anywhere in a Katalog:

notes:
  - name: serviceHost
    expression: "{{ .metadata.name }}.{{ .metadata.namespace }}.svc.cluster.local"

Package notes in a Motif, distribute via spec.imports, override at the Komposer level.

spec.imports — Katalog-wide Motif scope

spec:
  imports:
    - motif: ./org-standards.yaml

Profiles and notes declared in the Motif are available to every CRD without per-CRD imports.

ork proxy

Port-forward for Helm-deployed Orkestra. Always targets the leader pod. Reconnects on pod replacement.

ork proxy               # Runtime, Control Center, and Gateway
ork proxy --for cc      # Control Center only