From edde538c5ae4f1274c41ca2b145184cb1cdefd98 Mon Sep 17 00:00:00 2001 From: naveensrinivasan <172697+naveensrinivasan@users.noreply.github.com> Date: Fri, 24 Jun 2022 09:07:27 -0500 Subject: [PATCH] Option to configure rekor server. - Provided an option to configure the rekor server. - Fixes https://github.com/slsa-framework/slsa-github-generator/issues/372 Signed-off-by: naveensrinivasan <172697+naveensrinivasan@users.noreply.github.com> --- internal/builders/go/main.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/internal/builders/go/main.go b/internal/builders/go/main.go index 7441a5555b..1f7dc184ca 100644 --- a/internal/builders/go/main.go +++ b/internal/builders/go/main.go @@ -73,8 +73,13 @@ func runBuild(dry bool, configFile, evalEnvs string) error { return nil } -func runProvenanceGeneration(subject, digest, commands, envs, workingDir string) error { - r := sigstore.NewDefaultRekor() +func runProvenanceGeneration(subject, digest, commands, envs, workingDir, rekor string) error { + var r *sigstore.Rekor + if rekor == "" { + r = sigstore.NewDefaultRekor() + } else { + r = sigstore.NewRekor(rekor) + } s := sigstore.NewDefaultFulcio() attBytes, err := pkg.GenerateProvenance(subject, digest, commands, envs, workingDir, s, r) @@ -83,7 +88,7 @@ func runProvenanceGeneration(subject, digest, commands, envs, workingDir string) } filename := fmt.Sprintf("%s.intoto.jsonl", subject) - err = ioutil.WriteFile(filename, attBytes, 0600) + err = ioutil.WriteFile(filename, attBytes, 0o600) if err != nil { return err } @@ -112,6 +117,7 @@ func main() { provenanceCommand := provenanceCmd.String("command", "", "command used to compile the binary") provenanceEnv := provenanceCmd.String("env", "", "env variables used to compile the binary") provenanceWorkingDir := provenanceCmd.String("workingDir", "", "working directory used to issue compilation commands") + provenanceRekor := provenanceCmd.String("rekor", "", "rekor server to use for provenance") // Expect a sub-command. if len(os.Args) < 2 { @@ -138,7 +144,7 @@ func main() { } err := runProvenanceGeneration(*provenanceName, *provenanceDigest, - *provenanceCommand, *provenanceEnv, *provenanceWorkingDir) + *provenanceCommand, *provenanceEnv, *provenanceWorkingDir, *provenanceRekor) check(err) default: