The recipe field is supposed to indicate how to build the project overall, not just what generated the provenance.
For config-as-code, I would expect the following:
recipe.type is some URI representing "Azure DevOps Pipeline YAML"
materials[recipe.definedInMaterial] is a git repo containing the YAML config
recipe.entryPoint is the path to the YAML file
Example
"recipe": {
"type": "https://dev.azure.com/Attestations/YamlRecipe@v1",
"definedInMaterial": 0,
"entryPoint": "azure-pipelines.yml"
},
"materials": [
{
"uri": "git+https://github.com/HariSekhon/DevOps-Bash-tools",
"digest": {
"sha1": "5b250c0a12ae03da737d31d7a85a637db8509f96"
}
}
]
For non-config-as-code, we'll need to figure out how to represent the uri and digest of the configuration. Note that we have the exact same problem for Google Cloud Build. @msuozzo @loosebazooka FYI.
The
recipefield is supposed to indicate how to build the project overall, not just what generated the provenance.For config-as-code, I would expect the following:
recipe.typeis some URI representing "Azure DevOps Pipeline YAML"materials[recipe.definedInMaterial]is a git repo containing the YAML configrecipe.entryPointis the path to the YAML fileExample
For non-config-as-code, we'll need to figure out how to represent the
urianddigestof the configuration. Note that we have the exact same problem for Google Cloud Build. @msuozzo @loosebazooka FYI.