gcp-eventarc-explicit-trigger-to-gke

Live Eventarc trigger (state=ACTIVE) routes events to a GKE service endpoint.

explicit gcp emits CanTrigger

match (record)

{ "api": "eventarc.projects.locations.triggers.get", "field": "destination.gke" }

where

trigger.state == ACTIVE trigger.destination.gke.cluster is set

emit

source typeEventRule
target typeCompute
source<Eventarc trigger node (EventRule)>
target<GKE workload / service node (KubernetesWorkload)>
conditionstrigger_exists service_state network_reachability

Narrative

Eventarc trigger {trigger.name} (state=ACTIVE) delivers events to GKE service {destination.gke.service} in cluster {destination.gke.cluster}.

Raw rule rules/explicit/gcp-eventarc.yaml

id: gcp-eventarc-explicit-trigger-to-gke
emits: CanTrigger
description: Live Eventarc trigger (state=ACTIVE) routes events to a GKE service endpoint.
match_record:
  api: eventarc.projects.locations.triggers.get
  field: destination.gke
where:
- trigger.state == ACTIVE
- trigger.destination.gke.cluster is set
emit:
  source_type: EventRule
  target_type: Compute
  source: <Eventarc trigger node (EventRule)>
  target: <GKE workload / service node (KubernetesWorkload)>
  evidence_fields:
  - trigger.name
  - trigger.destination.gke.cluster
  - trigger.destination.gke.namespace
  - trigger.destination.gke.service
  - trigger.state
  conditions:
  - trigger_exists
  - service_state
  - network_reachability
  narrative: Eventarc trigger {trigger.name} (state=ACTIVE) delivers events to GKE service {destination.gke.service}
    in cluster {destination.gke.cluster}.
move · open · esc close