Skip to content

Commit 57b3fef

Browse files
asraadlorenc
andauthored
Adds hashed rekord type (sigstore#501)
* WIP: new hashed type Signed-off-by: Dan Lorenc <lorenc.d@gmail.com> * wip add signature verification Signed-off-by: Asra Ali <asraa@google.com> * address bobs comments Signed-off-by: Asra Ali <asraa@google.com> Co-authored-by: Dan Lorenc <lorenc.d@gmail.com>
1 parent 09070aa commit 57b3fef

File tree

24 files changed

+1860
-18
lines changed

24 files changed

+1860
-18
lines changed

cmd/rekor-cli/app/pflag_groups.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,11 @@ func validateArtifactPFlags(uuidValid, indexValid bool) error {
109109
}
110110

111111
// if neither --entry or --artifact were given, then a reference to a uuid or index is needed
112-
if viper.GetString("entry") == "" && viper.GetString("artifact") == "" {
112+
if viper.GetString("entry") == "" && viper.GetString("artifact") == "" && viper.GetString("artifact-hash") == "" {
113113
if (uuidGiven && uuidValid) || (indexGiven && indexValid) {
114114
return nil
115115
}
116-
return errors.New("either 'entry' or 'artifact' must be specified")
116+
return errors.New("either 'entry' or 'artifact' or 'artifact-hash' must be specified")
117117
}
118118

119119
return nil

cmd/rekor-cli/app/root.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import (
2929

3030
// these imports are to call the packages' init methods
3131
_ "github.com/sigstore/rekor/pkg/types/alpine/v0.0.1"
32+
_ "github.com/sigstore/rekor/pkg/types/hashedrekord/v0.0.1"
3233
_ "github.com/sigstore/rekor/pkg/types/helm/v0.0.1"
3334
_ "github.com/sigstore/rekor/pkg/types/intoto/v0.0.1"
3435
_ "github.com/sigstore/rekor/pkg/types/jar/v0.0.1"

cmd/rekor-server/app/serve.go

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ import (
3030
"github.com/sigstore/rekor/pkg/log"
3131
"github.com/sigstore/rekor/pkg/types/alpine"
3232
alpine_v001 "github.com/sigstore/rekor/pkg/types/alpine/v0.0.1"
33+
hashedrekord "github.com/sigstore/rekor/pkg/types/hashedrekord"
34+
hashedrekord_v001 "github.com/sigstore/rekor/pkg/types/hashedrekord/v0.0.1"
3335
"github.com/sigstore/rekor/pkg/types/helm"
3436
helm_v001 "github.com/sigstore/rekor/pkg/types/helm/v0.0.1"
3537
"github.com/sigstore/rekor/pkg/types/intoto"
@@ -80,14 +82,15 @@ var serveCmd = &cobra.Command{
8082

8183
// these trigger loading of package and therefore init() methods to run
8284
pluggableTypeMap := map[string]string{
83-
rekord.KIND: rekord_v001.APIVERSION,
84-
rpm.KIND: rpm_v001.APIVERSION,
85-
jar.KIND: jar_v001.APIVERSION,
86-
intoto.KIND: intoto_v001.APIVERSION,
87-
rfc3161.KIND: rfc3161_v001.APIVERSION,
88-
alpine.KIND: alpine_v001.APIVERSION,
89-
helm.KIND: helm_v001.APIVERSION,
90-
tuf.KIND: tuf_v001.APIVERSION,
85+
rekord.KIND: rekord_v001.APIVERSION,
86+
rpm.KIND: rpm_v001.APIVERSION,
87+
jar.KIND: jar_v001.APIVERSION,
88+
intoto.KIND: intoto_v001.APIVERSION,
89+
rfc3161.KIND: rfc3161_v001.APIVERSION,
90+
alpine.KIND: alpine_v001.APIVERSION,
91+
helm.KIND: helm_v001.APIVERSION,
92+
tuf.KIND: tuf_v001.APIVERSION,
93+
hashedrekord.KIND: hashedrekord_v001.APIVERSION,
9194
}
9295

9396
for k, v := range pluggableTypeMap {

openapi.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,23 @@ definitions:
312312
- spec
313313
additionalProperties: false
314314

315+
hashedrekord:
316+
type: object
317+
description: Hashed Rekord object
318+
allOf:
319+
- $ref: '#/definitions/ProposedEntry'
320+
- properties:
321+
apiVersion:
322+
type: string
323+
pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
324+
spec:
325+
type: object
326+
$ref: 'pkg/types/hashedrekord/hashedrekord_schema.json'
327+
required:
328+
- apiVersion
329+
- spec
330+
additionalProperties: false
331+
315332
rpm:
316333
type: object
317334
description: RPM package

pkg/generated/models/hashedrekord.go

Lines changed: 210 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/generated/models/hashedrekord_schema.go

Lines changed: 29 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)