actions / actions/actions-runner-controller

Emit CloudEvents

Open
#2,816 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement needs triage
Dominant language
Go
Stars
6.5k
Forks
1.5k
Avg merge
2d 2h
Merged PRs (30d)
27

Description

What would you like added?

I would like the ARC controller to emit CloudEvents containing Workflow metadata (e.g. job passed, failed, etc) to an endpoint provided by the user.

The inspiration comes from Tekton where the PipelineRun and TaskRun have this capability.

Note: Feature requests to integrate vendor specific cloud tools (e.g. awscli, gcloud-sdk, azure-cli) will likely be rejected as the Runner image aims to be vendor agnostic.

Why is this needed?

With this event, platform developers could then write a layer of automation separated from the Workflow itself that is event driven. For example, sending notifications.

Additional context

For what it's worth, this feature request may fit nicely in with ProcessWorkflowJobEvent

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with ProcessWorkflowJobEvent in pkg/actionsmetrics/event_reader.go and review the CloudEvents specification linked in the issue. Determine how an endpoint can be provided by the user and which Workflow metadata events such as job success or failure should contain. Done means the ARC controller emits the agreed CloudEvents to that endpoint.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, go, kubernetes
Domain
api, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.