-
Notifications
You must be signed in to change notification settings - Fork 590
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(events): add step to emit events to GCP #4901
Conversation
* add gcp token handling * add initial step * publish events * add test cases * fix test case --------- Co-authored-by: Jordi van Liempt <[email protected]>
* test setup for generation of jwt token * oidc token generator * push new step files * formatted code * removed toolchain and jose * removed toolchain:go 1.22.2 --------- Co-authored-by: jliempt <> Co-authored-by: D071696 <[email protected]> Co-authored-by: d071696 <[email protected]>
* add gcp token handling * add initial step * publish events * add test cases * fix test case * move files * add possible values * handle start and end event * add sap events * dependencies --------- Co-authored-by: Jordi van Liempt <[email protected]>
|
||
// type EventType string | ||
|
||
type EventData struct { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can be removed, right?
It seems like it is not possible to provide any publishing options:
From my understanding at least the ordering key is required - this is also possible via rest: |
/go-it |
/it-go |
/it-go |
Quality Gate passedIssues Measures |
* feat(gcp): add step to send events to GCP (SAP#4896) * add gcp token handling * add initial step * publish events * add test cases * fix test case --------- Co-authored-by: Jordi van Liempt <[email protected]> * feat(gcp): Generate and validate the GCP OIDC token (SAP#4899) * test setup for generation of jwt token * oidc token generator * push new step files * formatted code * removed toolchain and jose * removed toolchain:go 1.22.2 --------- Co-authored-by: jliempt <> Co-authored-by: D071696 <[email protected]> Co-authored-by: d071696 <[email protected]> * feat(events): add pipeline start and end event (SAP#4900) * add gcp token handling * add initial step * publish events * add test cases * fix test case * move files * add possible values * handle start and end event * add sap events * dependencies --------- Co-authored-by: Jordi van Liempt <[email protected]> * log successful event publish * remove dummy step * prevent step from failing * improve event creation * improve event creation * simplify eventing * remove detailed events * update parameter scope * update go.sum * fix test case * add missing method * refactor OIDC part * add oidc.go to vault pkg * mock OIDC token retrieval * mock GCP functions * update OIDC function name in Vault mocks * get event data from CPE * don't encode data payload in b64 * remove vault related changes * remove vault changes from step code * remove commented out code * documentation/steps/gcpPublishEvent.md * documentation/steps/gcpPublishEvent.md * remove hardcoded eventData * update roleID * go generate * add ordering key for pubsub event --------- Co-authored-by: Jordi van Liempt <[email protected]> Co-authored-by: D071696 <[email protected]> Co-authored-by: d071696 <[email protected]> Co-authored-by: jliempt <>
This adds functionality to emit events to GCP and exposes it as a pipeline step.
It makes use of the trust between Vault and GCP to send messages with a federated token. The messages contain data that follows the CloudEvents specification adapted to the SAP ecosystem and makes use of the cloudevents/sdk-go.
It currently implements
pipelinerunStarted
andpipelinerunFinished
events.