Files
hips/HIPs/hip-0411-ingress-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

1.9 KiB

hip, title, author, type, category, status, implementation-rust, created
hip title author type category status implementation-rust created
0411 Ingress CRD Hanzo Platform Team Standards Track Operator Final shipped 2026-05-19

HIP-0411: Ingress CRD

Abstract

The Ingress CRD describes a set of domains + routes that map to in-cluster Services and emits one or more native Kubernetes Ingress resources with cert-manager-issued TLS certs. It also optionally provisions a DaemonSet of hanzoai/ingress Pods (Cloudflare-tunneled ingress) for edge termination outside the cluster.

Specification

Group + version

hanzo.ai/v1, plural ingresses, shortname hing.

Spec fields

Field Type Description
domains []DomainConfig { domain, routes[], tls }
routes []IngressRoute path, pathType, serviceName, servicePort
ingressClassName string which IngressClass to bind to
clusterIssuer string cert-manager ClusterIssuer name
ingressDaemonSet IngressDaemonSetSpec optional hanzoai/ingress daemon

Example CR

apiVersion: hanzo.ai/v1
kind: Ingress
metadata:
  name: hanzo-ingress
  namespace: hanzo
spec:
  ingressClassName: nginx
  clusterIssuer: letsencrypt-prod
  domains:
    - domain: chat.hanzo.ai
      tls: true
      routes:
        - path: /
          pathType: Prefix
          serviceName: chat
          servicePort: 80
    - domain: api.hanzo.ai
      tls: true
      routes:
        - path: /
          pathType: Prefix
          serviceName: gateway
          servicePort: 80

Generated K8s resources

  • One native networking.k8s.io/v1 Ingress per domain
  • Certificate (cert-manager) per TLS-enabled domain
  • Optional DaemonSet for hanzoai/ingress

Operator reconciler

~/work/hanzo/operator/src/controllers/ingress.rs.

  • HIP-0068 (Ingress standard)

Status

Implemented in hanzoai/operator v0.3.0+. Used for multi-tenant TLS termination on the cluster's nginx-ingress.