ArkEvent Spec
API: arkonis.dev/v1alpha1 Kind: ArkEvent
Spec fields
| Field | Type | Required | Description |
|---|---|---|---|
spec.source.type | string | yes | Event source type: webhook, cron, or team-output |
spec.source.cron | string | cron only | Standard 5-field cron expression (UTC) |
spec.source.teamOutput.name | string | team-output only | Name of the upstream ArkTeam in the same namespace |
spec.source.teamOutput.onPhase | string | team-output only | Phase that triggers the event: Succeeded, Failed, or * (any terminal phase) |
spec.targets[].team | string | yes (per target) | Name of the ArkTeam to trigger |
Webhook trigger example
apiVersion: arkonis.dev/v1alpha1
kind: ArkEvent
metadata:
name: pipeline-trigger
namespace: ai-team
spec:
source:
type: webhook
targets:
- team: content-pipeline
- team: analytics-pipeline # fan-out to multiple teams
The operator creates a bearer-token secret named {event-name}-webhook-token and writes the full URL to .status.webhookURL.
Cron trigger example
apiVersion: arkonis.dev/v1alpha1
kind: ArkEvent
metadata:
name: daily-report
namespace: ai-team
spec:
source:
type: cron
cron: "0 8 * * *"
targets:
- team: report-team
Team-output trigger example
apiVersion: arkonis.dev/v1alpha1
kind: ArkEvent
metadata:
name: post-research
namespace: ai-team
spec:
source:
type: team-output
teamOutput:
name: research-team
onPhase: Succeeded
targets:
- team: summarize-team
- team: publish-team
Status fields
| Field | Type | Description |
|---|---|---|
status.webhookURL | string | Full webhook URL (webhook type only). Written by the operator after creation. |
status.conditions | []Condition | Standard Kubernetes conditions. Ready=True when the event source is active. |
status:
webhookURL: "http://ark-operator.ai-team.svc.cluster.local:8092/triggers/ai-team/pipeline-trigger/fire"
conditions:
- type: Ready
status: "True"
reason: WebhookReady
message: waiting for webhook POST
Webhook fire URL
POST /triggers/{namespace}/{event-name}/fire
Query parameters:
| Parameter | Description |
|---|---|
mode=sync | Wait for the team run to complete and return the output in the response body |
timeout=120s | Maximum wait time in sync mode (default: 60s) |
See also
- ArkEvent concept — conceptual overview
- Triggering Pipelines guide — all trigger patterns