mirror of
https://github.com/hanzoai/tasks.git
synced 2026-10-04 02:04:03 +00:00
40 lines
2.0 KiB
Plaintext
40 lines
2.0 KiB
Plaintext
Hanzo Tasks
|
|
Copyright (c) 2026 Hanzo AI, Inc.
|
|
|
|
This product includes software from Temporal (https://github.com/temporalio/temporal), licensed under MIT:
|
|
|
|
Copyright (c) 2025 Temporal Technologies Inc.
|
|
Copyright (c) 2020 Uber Technologies, Inc.
|
|
|
|
Forked from https://github.com/temporalio/temporal (last upstream dependency
|
|
pin before the native rewrite: go.temporal.io/server v1.32.0-157.0,
|
|
go.temporal.io/api v1.62.13).
|
|
|
|
DEVIATIONS
|
|
|
|
Hanzo Tasks has diverged substantially from upstream Temporal:
|
|
|
|
- Rebranded to "Hanzo Tasks"; the Go module path is github.com/hanzoai/tasks
|
|
(upstream: go.temporal.io/server).
|
|
- The wire protocol is rewritten to the native ZAP transport
|
|
(github.com/luxfi/zap); all gRPC and protobuf are removed. go.mod contains
|
|
no google.golang.org/grpc and no go.temporal.io/* dependency. The canonical
|
|
wire schema is schema/tasks.zap.
|
|
- The server binary is renamed from cmd/server to cmd/tasksd; tasksd serves
|
|
ZAP on :9999 and HTTP on :7243 (health checks + the embedded React UI).
|
|
- The engine runs in-process: tasks.Embed(ctx, EmbedConfig{...}) embeds it
|
|
directly in the unified Hanzo cloud binary for durable cron and batch
|
|
execution.
|
|
- Authentication is Hanzo IAM (hanzo.id OIDC): tasksd verifies bearer JWTs
|
|
against IAM JWKS, strips inbound identity headers, and mints X-Org-Id,
|
|
X-User-Id, and X-User-Email from validated claims (pkg/auth).
|
|
- Persistence is embedded SQLite via github.com/hanzoai/sqlite — a
|
|
per-(org, namespace) shard store (pkg/tasks/store) with WAL and a single
|
|
writer; PostgreSQL backs multi-instance production deployments.
|
|
- The engine is reimplemented natively in pkg/tasks (in-process ZAP node +
|
|
opcode dispatch) and the SDK in pkg/sdk (client, worker, workflow, activity,
|
|
converter).
|
|
- Upstream server components are removed: service/ (frontend, history,
|
|
matching, worker), chasm/, client/, api/, proto/, components/, and tools/.
|
|
- Container images publish to ghcr.io/hanzoai/tasks.
|