Files
a/hanzo.yml
zeekay 9e3ee40238 feat: a.hanzo.ai — drop-in Hanzo widget CDN
One-line <script> loaders that mount Hanzo widgets on any site:
  /chat      hz_ widget key -> Ask-AI bubble (streams /v1/chat/completions)
  /analytics pk_ ingest key -> [email protected] + Annotate
  /checkout  pk_ pub key    -> [email protected] hosted checkout

Tiny, framework-free, Shadow-DOM isolated loaders; secret keys (hk-/sk-)
refused; missing key -> warn, no crash. Served by ghcr.io/hanzoai/static.
Widget builds vendored. Behavior-tested (jsdom + headless gallery render).
2026-07-24 17:15:29 -07:00

31 lines
988 B
YAML

# Canonical CI/CD config for hanzoai/a — read by the hanzoai/ci reusable
# workflow (.github/workflows/cicd.yml) and platform.hanzo.ai.
#
# One image: the a.hanzo.ai embed CDN — the tiny drop-in loaders (/chat,
# /analytics, /checkout), the Ask-AI bubble (/ask.js), the vendored widget
# builds (/vendor), and the snippet gallery (/) — served by ghcr.io/hanzoai/static.
# Rolled onto the `a` operator App CR (universe: infra/k8s/operator/crs/a.yaml).
#
# No `test:` block: the Dockerfile IS the gate — a broken COPY/base fails the
# image, so nothing broken ships (same pattern as karma-style + world).
images:
- name: a
context: .
dockerfile: Dockerfile
repo: ghcr.io/hanzoai/a
# Deploy: roll the freshly-built image onto the `a` App CR. Fires only on `main`
# (+ tags); PRs and forks build but never deploy.
deploy:
cluster: do-sfo3-hanzo-k8s
namespace: hanzo
"on": [main]
services:
- name: a
image: a
kms:
path: /deploy
environment: prod