Skip to content
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

Extend service dataflow support #194

Merged
merged 3 commits into from
Apr 19, 2023
Merged

Conversation

stevespringett
Copy link
Member

Expanded service dataflow support. Closes #191

Signed-off-by: Steve Springett <steve@springett.us>
@stevespringett stevespringett added this to the 1.5 milestone Mar 19, 2023
@stevespringett stevespringett self-assigned this Mar 19, 2023
@stevespringett stevespringett linked an issue Mar 19, 2023 that may be closed by this pull request
@stevespringett stevespringett changed the title Expanded service dataflow support Expand service dataflow support Mar 19, 2023
@stevespringett stevespringett changed the title Expand service dataflow support Extend service dataflow support Mar 19, 2023
@stevespringett stevespringett added request for comment RFC notice sent A public RFC notice was distributed to the CycloneDX mailing list for consideration labels Mar 19, 2023
Copy link
Member

@jkowalleck jkowalleck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What i see:

  • JSON had a braking change: renamed /definitions/dataFlow -> /definitions/dataFlowDirection
  • XML had no breaking change, but got a new optional element structure, while the old one was deprecated
  • the ProtoBuff just got a documentation added.

This inconsistency is strange. Why not have drastic changes for everyone target? Or non-breaking JSON?

if you wanted those JSON changes less breaking:

  1. rename the element
  2. create a new element with the exact old name,
    which has a $ref to the renamed element,
    and a documentation that articulates that this definition is deprecated in favor of the new name

schema/bom-1.5.xsd Outdated Show resolved Hide resolved
schema/bom-1.5.proto Outdated Show resolved Hide resolved
@stevespringett
Copy link
Member Author

JSON had a braking change: renamed /definitions/dataFlow -> /definitions/dataFlowDirection

While the definition was renamed, the change is NOT breaking in that all of the service tests from v1.4 validate with v1.5. I tested against valid-service-1.4.json

…ated all examples to include name/description.

Signed-off-by: Steve Springett <steve@springett.us>
Signed-off-by: Steve Springett <steve@springett.us>
@johnandersen777
Copy link

johnandersen777 commented Mar 26, 2023

Ping @laurentsimon @expede I’m wondering of there’s opportunity for alignment across this, the scorecard probe work, and ipvm-wg/spec#8

Also related: in-toto/attestation#165

"endpoints": [
"https://ms-1.example.com"
],
"authenticated": true,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if this might be a place where the https://identity.foundation/presentation-exchange/ spec could be used to specify the requirements around authentication. We could imagine a world where scorecard probes are hosted as microservices executed as an IPVM affect.

Copy link

@johnandersen777 johnandersen777 Mar 26, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just spitballin here. In our hypothetical example we’d be looking at a CycloneDX dataflow of scorecard itself, attempting to execute the probes via IPVM.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like your thinking @pdxjohnny. 😄 We've wanted to be able to document authentication requirements in CycloneDX for a while now, but as you know, it's not a simple task. We haven't had an opportunity to research existing specs yet, but the presentation exchange format looks interesting and may just work. Historically, we've supported links out to other schemas/files via CycloneDX external references. We're doubling the number of external references supported in the upcoming v1.5 release. Most of the new external references for v1.5 are here. Integration could be as simple as adding a new one for authentication requirements, or we may choose a more integrated approach. Regardless, I'd recommend creating a new ticket to discuss this, as this ticket is specific to dataflow enhancements.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds great :D will do! Thank you for your response

@jkowalleck
Copy link
Member

re: #194 (review)
I discussed this, and came to the conlusion: all good.
Old schema untouched, forward compatibility was never intended, no breaking changes exist.

@stevespringett stevespringett merged commit 68ee653 into v1.5-dev Apr 19, 2023
@stevespringett stevespringett deleted the v1.5-dev-service-dataflows branch April 19, 2023 02:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
proposed core enhancement request for comment RFC notice sent A public RFC notice was distributed to the CycloneDX mailing list for consideration RFC vote accepted
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Expand support for service dataflows
4 participants