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


Apache 2.0 · ARKONIS