Skip to content

Resources

chant Temporal resources (TemporalServer, TemporalNamespace, SearchAttribute, TemporalSchedule) mapping to Temporal runtime components
How chant Temporal resources map to Temporal runtime

Serializes to docker-compose.yml (primary output) and temporal-helm-values.yaml.

import { TemporalServer } from "@intentius/chant-lexicon-temporal";
export const server = new TemporalServer({
version: "1.26.2",
mode: "dev",
port: 7233,
uiPort: 8080,
});
PropTypeDefaultDescription
versionstring"1.26.2"Temporal server image tag
mode"dev" | "full""dev"Deployment mode
portnumber7233gRPC port
uiPortnumber8080Web UI port
postgresVersionstring"16-alpine"PostgreSQL tag (full mode)
helmChartVersionstringHelm chart version comment

Serializes to temporal-setup.sh as a temporal operator namespace create command.

import { TemporalNamespace } from "@intentius/chant-lexicon-temporal";
export const ns = new TemporalNamespace({
name: "prod-deploy",
retention: "30d",
description: "Production deployment workflows",
});
PropTypeDefaultDescription
namestringNamespace name (required)
retentionstring"7d"History retention (e.g. "30d")
descriptionstringHuman-readable description
isGlobalNamespacebooleanMulti-cluster global namespace

Serializes to temporal-setup.sh as temporal operator search-attribute create commands.

import { SearchAttribute } from "@intentius/chant-lexicon-temporal";
export const gcpProject = new SearchAttribute({
name: "GcpProject",
type: "Text",
namespace: "prod-deploy",
});
PropTypeDefaultDescription
namestringAttribute name (required, PascalCase)
typeAttributeTypeValue type (required)
namespacestringTarget namespace (omit for global)

Attribute types: Text, Keyword, Int, Double, Bool, Datetime, KeywordList


Serializes to schedules/<scheduleId>.ts — a standalone TypeScript runner using the Temporal SDK.

import { TemporalSchedule } from "@intentius/chant-lexicon-temporal";
export const weekly = new TemporalSchedule({
scheduleId: "weekly-backup",
spec: { cronExpressions: ["0 3 * * SUN"] },
action: {
workflowType: "backupWorkflow",
taskQueue: "backup-queue",
args: [{ bucket: "my-backup-bucket" }],
},
policies: {
overlap: "Skip",
pauseOnFailure: true,
},
namespace: "prod-deploy",
});
PropTypeDescription
scheduleIdstringUnique schedule ID (required)
spec.cronExpressionsstring[]Cron expressions
spec.intervalsArray<{every, offset?}>Fixed intervals (e.g. "1d")
action.workflowTypestringWorkflow function name (required)
action.taskQueuestringWorker task queue (required)
action.argsunknown[]Workflow input arguments
policies.overlapOverlapPolicyConcurrent run policy
policies.pauseOnFailurebooleanPause schedule after failure
state.pausedbooleanStart paused
namespacestringTarget namespace