CDEvents Implementation Working Group - Meeting Notes

hackmd-github-sync-badge

This document contains the notes from the CDEvents Tools and Architecture Working Group.

GitHub Repository

Meeting Details

Schedule

  • Meetings are held every other Tuesday at 3pm UTC during summer time and at 4pm UTC during winter time).

Topics for coming meetings

Template

Participants:

  • Name / affiliation / TZ
  • Ben Powell, Apple, CST
  • David Bernard, -, UTC+2

Agenda:

  • New attendees (Introductions)
  • Modeling language updates:
    • AsyncAPI has been decided on
    • What breaking changes are considered okay?
      • Can we keep the models the same?
        • Type field in context causes issues
    • Ask to move spec SIG to half an hour later for David
  • <addme>

April 1st, 2025

Participants:

  • Ben Powell, Apple, CST
  • Vibhav Bobade, Red Hat, IST
  • Name / affiliation / TZ

Agenda:

  • Vibhav Bobade
  • Action Items
    • branch.initialCommit for feature/project/etc (DORA) GH issue
      • How is this event emitted?
        • pre|post-commit hooks

        • Having metadata inside of the commit message

          ​​​​​​​​​​​​​​​​feature: Add new API /hello
          ​​​​​​​​​​​​​​​​
          ​​​​​​​​​​​​​​​​---
          ​​​​​​​​​​​​​​​​cdevents:
          ​​​​​​​​​​​​​​​​    event-type: initialCommit
          

          Can also utilize git notes to add metadata Add a special git command, /usr/local/bin/git-cdevent, git cdevent <>

          Issues with git notes and git commands is high level tools may be problematic

      • Who sends the events?
        • User could send the event, but not a good approach due to authentication/authorization
        • Leaning more towards the SCM service or some webhook adapter that is integrated with the service
      • For the next-ish spec SIG we need to standardize on this metadata format
    • AsyncAPI updates
      • No progress, but more question
      • How does custom events works in this modeling language in SDKs?
        • To research the rust language (Ben)
    • SDK feature parity (circle back in May 1st-ish)
      • Need to create a doc to define the scope fo the SDKs
  • <addme>

March 4th 2025

Participants:

  • Name / affiliation / TZ

Agenda:

  • New attendees (Introductions)
  • Action Items
  • <addme>

February 18th 2025

Participants:

  • Name / affiliation / TZ
  • Ben Powell, Apple, CST
  • Andrea Frittoli, IBM, UTC
  • David Bernard, -, UTC+2

Agenda:

  • New attendees (Introductions)
  • Modeling language choice
    • Smithy updates
      • Wire format/protocol is handled via plugins
        • Just not clear what it looks like over the wire
      • Issues with running Smithy samples
        • Language specific generation issues: Go and Python
          • Rust is mixed into the AWS SDK repository
    • Decided on AsyncAPI
    • Need a document on best practices for schema
      • e.g. subject needs to be modeled as a component as well as predicates
        • This allows for duplication across subject to be contained within the subject model
  • <addme>

February 4th 2025

Participants:

  • Name / affiliation / TZ
  • Ben Powell, Apple, CST

Agenda:

  • New attendees (Introductions)
  • Updates on modeling languages
    • Today: Tools are difficult to work with
    • Goal is to start with PKL to rewrite comformance tests (Ben)
    • Modeling the schema is still to be determined
      • OpenAPI - Has limitations on what can be expressed
        • Specifically polyphormism
        • Issue is more on the side of the tools as opposed to the spec
          • The reason for this is the spec has a lot of knobs and tools may not support all features that OpenAPI | AsyncAPI provides
      • AsynAPI may be a better approach
      • Smithy - Should research this modeling language
  • Updates on naming conventions
    • Goal is to have this in PR by Friday (Ben)
  • Updates on CloudEvents verifiability
    • Proposal has been shipped off to internal security
    • CloudEvents has been very receptive of our decisions thus far
    • Once merged into CloudEvents and implemented in the CloudEvents SDKs, CDEvent SDks will need to have ways to enable verifiability
  • <addme>

January 21 2025

Participants:

  • Name / affiliation / TZ
  • Andrea Frittoli, IBM, UTC
  • David Bernard
  • Steve Taylor

Agenda:

  • New attendees (Introductions)
  • Action Items
  • <addme>
  • Message Service Requirements PR
    • To be discussed next meeting
  • Modeling:
    • OpenAPI and PKL as possible paths
    • PKL: meta description to generate what we have today (jsonschemas, examples)
    • OpenAPI/AsyncAPI/else?: use existing toolset to generate SDKs (or part) and documentation
    • AsyncAPI
      • Smaller community
      • More focused toolset
    • David experiment repo: https://github.com/davidB/sandbox_cdevents_spec
    • Goal is to have one schema for all events
      • This might require a migration path to be define
      • Alternatively we could do a breaking change
    • Toolsets for generation of SDKs would not support multiple versions
    • Vector Remap Language

January 07 2025

Participants:

  • Ben Powell, Apple, CST
  • Name / affiliation / TZ

Agenda:

  • New attendees (Introductions)
  • Modeling considerations choices:
    • Considerations (Ben):
      • We can opt to use both openAPI and PKL to their strengths
      • PKL is good for generating tests, configurations, etc
      • openAPI is good for generating models for the SDKs
        • Middleware for massaging to generate non-breaking changes models, but can mark them deprecated, and eventually move completely away from the middleware layer.
        • Generate both deprecated models and non-middleware models
        • Goal should be to do away with deprecated models in a few point releases!
        • GitHub issues to illustrate plan
          • Issue for PKL
          • Issue for openAPI
          • Issue for divergence in openAPI generation versus what we have today
  • <addme>

26 November 2024

Participants:

  • Name / affiliation / TZ
  • Andrea Frittoli, IBM, UTC
  • Steve Taylor, DeployHub/Ortelius, MST
  • David Bernard, -, UTC+1

Agenda:

29 October 2024

Participants:

  • Ben Powell, Apple, CST
  • Steve Taylor, DeployHub/Ortelius, MST
  • Andrea Frittoli, IBM, UTC
  • David Bernard, -, UTC+1

Agenda:

  • New attendees (Introductions)
  • Modeling language(s) for SDKs:
    • PKL may not be well suited for SDKs
      • PKL can generate JSON schema in a more readable fashion
      • Small demo to show how JSON schema can be generated as well as potentially seeing how it fits into code generation for the SDKs
        • Next implementation is going to be a PKL demo for generating JSON schema.
      • Forces consistency across JSON schema
    • Investigated JSON schema (David)
      • 1 context class as opposed to many
      • Breaking change
      • Polymorphism - Not working properly for Rust
        • External and internal references
    • OpenAPI investigation (David)
      • Use our own templates to generate from
      • Only use what is limited in each standard library in each language
      • Currently we have 2 usages of the models: tests and generation
      • We could potentially generate parts of the SDKs
      • Demo on this
      • ?? Reduce to using one version instead of two (Andrea)
        • Two versions were decided is it felt easier to adopt (Andrea)
        • Not saying we should not have one version (Andrea)
      • Potentially massive breaking change !!
  • Message bus proposal
  • (Andrea) Consolidating CDF SIGs / WG

  • <addme>

15 October 2024

Participants:

  • Ben Powell, Apple, CST
  • David Bernard, - , UTC+2
  • Name / affiliation / TZ

Agenda:

  • New attendees (Introductions)
  • Generation
    • Tools - We will split the tooling for investigation
      • json-schema (today)
      • model from openapi (json-schema + polymorphism + )
      • message from asyncapi (Ben)
      • JSON TypeDef: Schemas for JSON optimized for code generation (David)
      • protobuf IDL (Ben)
      • smithy (Ben/David)
      • apache avro
      • apache parquet
      • apache arrow
      • cuelang (David)
      • pkl (Ben)
      • hcl
      • dhall
  • Action Items
  • <addme>

01 October 2024

Participants:

  • Ben Powell, Apple, CST
  • Steve Taylor, Deployhub/ Ortelius, MST

Agenda:

  • New attendees (Introductions)
  • Reviewers needed for message broker
    • Need consistent semantic naming: What do we call our message broker?
    • Will add github issue for semantic naming and we can vote on the appropriate names (Ben)
    • Should not block PR and could always be updated later
    • What are the next steps once the broken proposal is merged?
      • How do we go about implementation?
      • What technologies (existing brokers)?
      • Language choices? Etc.
      • Start with a closed approach first
  • Modeling language for SDKs
  • Solutions for systems/companies to start using CDEvents
    • Active Solution - Company, like GH, fully implements a CDEvents producer
    • Middleground - Webhook adapter
    • Passive solution - Some polling system that creates CDEvents
    • Will add this talking point in the spec SIG to stir the pot
  • <addme>

20 August 2024

Participants:

  • Ben Powell, Apple, CST
  • Steve Taylor, DeployHub/Ortelius, MST
  • Jalander Ramagiri, Ericsson Software Technology, UTC+1
  • Adam Kenihan, Ericsson Software Technology, UTC+1

Agenda:

6 August 2024

Participants:

  • Name / affiliation / TZ
  • Andrea Frittoli, IBM, UTC+1
  • Steve Taylor, DeployHub/Ortelius, MST
  • Jalander Ramagiri, Ericsson Software Technology, UTC+1
  • Ben Powell, Apple, CST
  • David Bernard, Wefox/Vector8, UTC+2

Agenda:

  • New attendees (Introductions)

  • Action Items

  • <addme>

  • (Steve) Draft Messaging Requirements: CDEvents Message Service Requirements

    • Steve to accept minor comments
    • Review major comments in the next meeting
    • Should signing of events be included here?
      • Ben: working on signing of events at CloudEvents level to make the event verifiable
  • (Andrea) Use Case document

    • https://github.com/cdevents/implementation-wg/pull/3
    • ok to merge and iterate?
    • Steve to review, ok to merge now and we can iterate
    • David: ok to merge now and iterate, there are many open points
    • Some overlap with the project David is working on, which is focused more on the visualization side of things
  • (Andrea) Go SDK

    • OK to make a release? There's some follow-up to be discussed
      • Parts of the API need to be more idiomatic
      • Changes would be backward compatible - additive changes
  • (Andrea) GitHub Webhook Adapter

    • https://github.com/cdevents/webhook-adapter/issues/2
    • Hergy is interested in contributing to this
    • Tentative Plan:
      • Identify events and mappings:
        • Ben: we should have proposal document
      • Create a new repo for the plugin
      • Implement the plugin
    • It would be interesting as a follow up to investigate running the webhook adapter as the backend side of a GitHub app
      • If the translation layer can be reused ~SDK like, we could reuse it in a GitHub app
      • Ben to prepare a proposal about this
      • David: there is a similar component cdviz-collector in the cdviz project
  • (Andrea) Yousuf Jawwad, founder of Quantm.io, reached out to me and then on slack

    • The CDEvents idea resonates with them and they are interested in contributing to CDEvents
    • They'd be interested in a GitHub adapter as first step
    • Yousuf also asked about the possibility of being sponsored to contribute
    • I asked Henry to sync with them about the GitHub adapter
    • Share the proposal document - we need the GitHub alias
  • Andrea on holidays 8/8 till 28/8

  • (David) Would like to make a release of the Rust SDK v0.4.1

    • David to make the first publishing of the SDK
    • SDK tested against examples and schemas, for each version
  • (Ben) Verifiability proposal still ongoing

    • Ben working on the proposal

23 July 2024 Cancelled!

9 July 2024

Participants:

  • Name / affiliation / TZ
  • Andrea Frittoli, IBM, UTC+1
  • Ben Powell, Apple, CST
  • Steve Taylor, DeployHub/Ortelius, MST

Agenda:

  • New attendees (Introductions)

  • Action Items

  • (Action) Andrea: setup a root document, like table of content for other docs, with intro, architecture and link to the component specific docs

  • (Andrea) What do we want to achieve in the upcoming meetings?

    • Proposal - could map that to a GitHub project
      • Identify a use case we want to solve via CDEvents
        • Include specific requirements
      • Draw the technical architecture we want to use to achieve that
        • Perform gap analysis: what's missing
        • What we should focus on implementing
        • Who's doing what
        • Mermaid for diagram
      • Start implementation
        • Setup infra (Terraform, Ansible?)
        • Add components as they are implemented
          • Live instance in some team playground?
      • Iterate
        • Experiment, see what's missing, prioritize work
  • (Andrea) SDK work

    • Golang SDK and custom events demo
    • Examples: we should align examples across languages
      • Java, Rust, Python?
      • (Andrea) Reach out to Jalander and David about this
  • (Steve) Is there an OpenAPI like spec for pub/sub or CloudEvents

  • (Ben) Review Java SDK (In Progress)

  • (Ben) Review Jira Translator RFC (In Progress)

  • (Ben) Writing Links issuein the implementations WG repo (In Progress)

  • <addme>

  • Next meeting Steve on PTO

25 June 2024

Participants:

  • Name / affiliation / TZ
  • Steve Taylor, DeployHub/Ortelius, MST
  • Tracy Ragan, DeployHub/Ortelius, MST
  • Andrea Frittoli, IBM, UTC+1
  • Ben Powell, Apple, CST
  • Jalander Ramagiri, Ericsson Software Technology, UTC+1

Agenda:

  • New attendees (Introductions)

  • Action Items

  • Facilitators Rota

    • Ben
    • Andrea
  • Communication & Tools

    • Use existing Slack channels - keep larger audience
    • No new communication channels for now
  • Working Group Name and Mission

    • Draft WG Mission
    • Reviewed the document, comments added directly to google doc
    • (Action) Create the initial repo for documentation - Andrea
  • (Andrea) CDEvents Playground (Create GitHub issue)

    • GitHub app
    • Ability to chain message brokers. Idempotency?
  • (Andrea) How do we get more people involved?

    • Ben: identify companies already considering CDEvents implementation
    • Companies
      • Fidelity
      • JP Morgan
      • SAS?
      • OpenSSF
        • They are having trouble getting the security tools adopted
        • CDEvents can help with it
      • FinOS
    • Tracy:
      • Fine to start with a small group
      • Let's define initial use cases and architecture to make it interesting for people to contribute
  • <addme>

Select a repo