11 Commits
Author SHA1 Message Date
zooqueenandHanzo Dev 9e0fbd66ea Carry the NLTK corpora the search index reads in the image
Hanzo CI/CD / cicd (push) Waiting to run
CI/CD / cicd (push) Waiting to run
helpdesk's after_migrate hook downloads the tagger, punkt_tab and brown
corpora when they are missing from the container. The image now holds
them, so a boot runs migrate without a network download.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-15 12:55:05 -07:00
zooqueenandHanzo Dev 2decd77580 Build the image on the forge from pinned public sources
The Frappe core (hanzoai/frappe) and telephony are fetched by commit from
GitHub, and helpdesk comes from the build context, so the build needs no
credential and the image holds exactly the commit it is named for.
hanzo.yml declares the amd64 image for the shared ci workflow, which the
develop push lane now calls at its .github path; the docker-action lane and
its GitHub notice are gone.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-15 12:11:38 -07:00
zeekay 6827018615 Give bench a credential for the forge clones
The previous commit moved both Hanzo clones to the forge on the strength
of an anonymous ls-remote that only succeeded because the machine running
it had forge credentials cached. It does not serve anonymously:

  git ls-remote --heads --tags https://git.hanzo.ai/hanzoai/frappe develop
  fatal: could not read Username for 'https://git.hanzo.ai'

So supply one. A credential helper reads the token from the BuildKit
mount, and the two RUNs that clone from the forge mount it; the secret
never lands in a layer. Public remotes never reach the helper, because
git only asks when the server challenges it.

The token is the run's own GITHUB_TOKEN. If that turns out to be scoped
too narrowly to read hanzoai/frappe from hanzoai/helpdesk, the fix is to
point `forge=` at an org-level forge token — the Dockerfile side does not
change.
2026-08-12 20:32:41 -07:00
zeekay 4b0a0eb003 Read the Frappe core and this app from the forge, not GitHub
Every image build died in bench init:

  git ls-remote --heads --tags https://github.com/hanzoai/frappe develop
  fatal: could not read Username for 'https://github.com'
  bench.exceptions.InvalidRemoteException: Invalid frappe path

github.com/hanzoai/frappe answers "Repository not found" to an anonymous
clone — the repo moved off that org and the build had no credentials for
it. git.hanzo.ai/hanzoai/frappe is the same fork, public, and still has
the SQLite driver the bench is built around, so point FRAPPE_REPO there.
HELPDESK_REPO gets the same treatment: it still resolves on GitHub today,
but it is the same repo being built here and the same move will take it.

The build passed GH_PAT as the BuildKit secret GIT_AUTH_TOKEN, which the
Dockerfile never mounts. With both clones on the forge nothing in the
build needs a GitHub credential, so drop it.
2026-08-12 20:07:43 -07:00
zeekay b17338b99d Dockerfile: default HELPDESK_BRANCH=develop (post-merge) 2026-07-02 03:25:15 -07:00
zeekay 5f957dc46b Dockerfile: install helpdesk via git get-app (local-path parsing broken in bench) 2026-07-02 02:03:37 -07:00
zeekay c11f229cc1 Dockerfile: install cron (bench init needs /usr/bin/crontab) 2026-07-02 02:00:08 -07:00
zeekay c299313a32 Dockerfile: node 24 (frappe v16 requires node>=24) 2026-07-02 01:57:17 -07:00
zeekay d9e76afaa5 Dockerfile: add frappe C-ext build headers (mysqlclient/psycopg2/ldap/lxml) 2026-07-02 01:53:23 -07:00
zeekay 870ab1b32a Dockerfile: install wkhtmltox static .deb (apt pkg dropped in trixie) 2026-07-02 01:39:36 -07:00
zeekay 7b25c279cf Hanzo Help Center: Frappe helpdesk on Base/SQLite + IAM SSO
- Dockerfile: self-contained bench build (hanzoai/frappe SQLite core +
  telephony + helpdesk), assets snapshotted as image template
- deploy/entrypoint.sh: in-pod redis, per-org SQLite site (org==tenant),
  IAM SSO wiring, bench serve (no nginx)
- helpdesk/hanzo_sso.py: idempotent hanzo.id OAuth2 Social Login Key from env
- deploy/help.service.yaml: operator-native Service CR (hanzo.ai/v1)
- deploy/help.ingress.yaml: help.hanzo.ai ingress + help-app-db PVC
- LLM.md/CLAUDE.md: fork + deploy docs
2026-07-02 01:36:30 -07:00