Files
hips/HIPs/hip-0407-base-crd.md
zeekayandHanzo Dev 7a9dcac628 What each runtime implements of the Hanzo corpus
An audit read the code and found the proposal that specifies it. Go reaches
all 122 capability proposals and 64 of the 121 other Standards Track ones;
Rust has 35, mostly the operator and the CLI; C++ has three, because the
complete original C++ in the estate is a ZAP handler, a bot nothing specifies,
and authored kernels inside forked CUDA and Metal crates.

    | | shipped | partial | none | not assessed |
    | Go   | 146 | 33 | 1 |  80 |
    | C++  |   1 |  2 | 0 | 257 |
    | Rust |  10 | 25 | 1 | 224 |

The large "not assessed" columns are the point rather than a gap. The model and
training specs are Python, the frontend and design-system proposals are
TypeScript, and recording `none` against those would read as a search that
came up empty when the honest statement is that the runtime was never the
question. Governance, Meta and Process are not graded at all.

Six proposals are Final with nothing found in Go and are left unwritten rather
than demoted: 0065, 0089, 0098, 0103, 0521 and 0902. HIP-0521 answers itself,
its own section reading "Not yet implemented". Three of the others name a
canonical Go file in consensus/protocol/auth that nobody wrote, in a package
where the four neighbouring proposals' files all exist with tests beside them.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-05 19:18:13 -07:00

2.5 KiB

hip, title, author, type, category, status, implementation-rust, created
hip title author type category status implementation-rust created
0407 Base CRD Hanzo Platform Team Standards Track Operator Final partial 2026-05-19

HIP-0407: Base CRD

Abstract

The Base CRD (renamed from BaseApp in v0.3.0) models a Hanzo Base distribution app: a stateful, writer-elected, single-leader workload backed by hanzoai/base. Base is the embedded-SQLite-with-replication runtime that powers the Hanzo Base PaaS (HIP-038). Each Base CR runs as a StatefulSet with a Quasar consensus writer election; the gateway proxies writes to the current leader and serves reads from any replica.

Specification

Group + version

hanzo.ai/v1, plural bases, shortname bapp.

Spec fields

Field Type Description
image ImageSpec Base distribution image
replicas int StatefulSet replicas (odd, typically 3 or 5)
port int HTTP port
consensus string quasar (default)
schema string optional initial schema URL or inline DDL
storage StorageSpec per-replica PVC
env, envFrom array environment
gateway BaseGatewaySpec gateway route + leader poll interval + read-your-writes TTL
iamApp string IAM application client_id
kmsSecrets []KMSSecretRef KMS-sourced secrets
networkPolicy NetworkPolicySpec optional
serviceMonitor ServiceMonitorSpec optional

Example CR

apiVersion: hanzo.ai/v1
kind: Base
metadata:
  name: my-app
  namespace: hanzo
spec:
  image:
    repository: ghcr.io/hanzoai/base
    tag: v1.2.3
  replicas: 3
  port: 8090
  consensus: quasar
  storage:
    storageClassName: do-block-storage
    size: 10Gi
    retentionPolicy: Retain
  gateway:
    route: /v1/my-app
    gatewayName: gateway
    gatewayNamespace: hanzo
    leaderPollInterval: 2s
    readYourWritesTTL: 5s
  iamApp: app-my-app

Generated K8s resources

  • StatefulSet (one Pod per replica)
  • Headless Service (peer discovery)
  • ClusterIP Service (client traffic)
  • PVC templates
  • Optional Gateway route (auto-injected into the Gateway CR)

Operator reconciler

~/work/hanzo/operator/src/controllers/baseapp.rs (controller file retains historical name).

  • HIP-0105 (in-process extension runtime standard)
  • HIP-0302 (encrypted SQLite replication standard)
  • Used by: Hanzo Base PaaS apps.

Status

Implemented in hanzoai/operator v0.3.0+. Kind renamed from BaseApp to Base in the v0.3.0 schema cleanup.