Skip to content

Commit 5606f26

Browse files
authored
Merge pull request #6005 from crazy-max/slsa-v1
provenance slsa v1
2 parents 0972af1 + d36487b commit 5606f26

File tree

34 files changed

+2879
-1118
lines changed

34 files changed

+2879
-1118
lines changed

control/control.go

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import (
3535
"github.com/moby/buildkit/solver/llbsolver"
3636
"github.com/moby/buildkit/solver/llbsolver/cdidevices"
3737
"github.com/moby/buildkit/solver/llbsolver/proc"
38+
provenancetypes "github.com/moby/buildkit/solver/llbsolver/provenance/types"
3839
"github.com/moby/buildkit/solver/pb"
3940
"github.com/moby/buildkit/util/bklog"
4041
"github.com/moby/buildkit/util/db"
@@ -508,7 +509,19 @@ func (c *Controller) Solve(ctx context.Context, req *controlapi.SolveRequest) (*
508509
}
509510

510511
if attrs, ok := attests["provenance"]; ok {
511-
procs = append(procs, proc.ProvenanceProcessor(attrs))
512+
var slsaVersion provenancetypes.ProvenanceSLSA
513+
params := make(map[string]string)
514+
for k, v := range attrs {
515+
if k == "version" {
516+
slsaVersion = provenancetypes.ProvenanceSLSA(v)
517+
if err := slsaVersion.Validate(); err != nil {
518+
return nil, err
519+
}
520+
} else {
521+
params[k] = v
522+
}
523+
}
524+
procs = append(procs, proc.ProvenanceProcessor(slsaVersion, params))
512525
}
513526

514527
resp, err := c.solver.Solve(ctx, req.Ref, req.Session, frontend.SolveRequest{

0 commit comments

Comments
 (0)