- Mar 31, 2022
-
-
priyawadhwa authored
* Specify public key for each inactive shard in config Signed-off-by:
Priya Wadhwa <priya@chainguard.dev> * Updated the integration test Signed-off-by:
Priya Wadhwa <priya@chainguard.dev> * Add debugging to the sharding test Signed-off-by:
Priya Wadhwa <priya@chainguard.dev> * Add debugging Signed-off-by:
Priya Wadhwa <priya@chainguard.dev>
-
- Mar 29, 2022
-
-
Lily Sturmann authored
Signed-off-by:
Lily Sturmann <lsturman@redhat.com>
-
- Mar 26, 2022
-
-
Lily Sturmann authored
tlog_id specifes the active shard and is kept for backwards compatibility. To avoid replicating information, the shard config file is used only to specify inactive shards and must be used in conjunction with a tlog_id flag. Together, these build the logRanges type in the sharding module. Signed-off-by:
Lily Sturmann <lsturman@redhat.com>
-
- Mar 21, 2022
-
-
priyawadhwa authored
* Update loginfo to return info about inactive shards This also updates `rekor-cli` to verify inactive shards if they exist. It also updates the sharding integration test to run loginfo and store state based on TreeID if available. Signed-off-by:
Priya Wadhwa <priya@chainguard.dev> * Fix typo Signed-off-by:
Priya Wadhwa <priya@chainguard.dev> * specify resp code in error Signed-off-by:
Priya Wadhwa <priya@chainguard.dev>
-
- Mar 16, 2022
-
-
priyawadhwa authored
We will need this so we can get proofs for inactive shards. This will be used by `loginfo`. Signed-off-by:
Priya Wadhwa <priya@chainguard.dev>
-
- Mar 11, 2022
-
-
priyawadhwa authored
* Return virtual index when creating and getting a log entry Use the virtual index when signing an entry on creation, and return that to the end user. There shouldn't be any observable difference here at the moment, until we actually shard the log. Signed-off-by:
Priya Wadhwa <priya@chainguard.dev> * Remove pointer to logRanges so value can't be modified Also make all fields private and only accessible via funcition calls Signed-off-by:
Priya Wadhwa <priya@chainguard.dev> * Fix virtual log index bug when getting indicies in inactive shards Signed-off-by:
Priya Wadhwa <priya@chainguard.dev>
-
- Mar 10, 2022
-
-
priyawadhwa authored
Signed-off-by:
Priya Wadhwa <priya@chainguard.dev>
-
- Mar 09, 2022
-
-
priyawadhwa authored
Signed-off-by:
Priya Wadhwa <priya@chainguard.dev>
-
priyawadhwa authored
When printing the TreeID with rekor-cli loginfo, if the output is parsed through jq then the TreeID gets rounded down as an int because it is bigger than JSON allows Numbers to be. This is how jq works and is mentioned in the FAQ: https://github.com/stedolan/jq/wiki/FAQ#numbers Switching this to a string will preserve the actual Tree ID. Signed-off-by:
Priya Wadhwa <priya@chainguard.dev>
-
- Mar 05, 2022
-
-
Lily Sturmann authored
* Add helpers and refactor sharding package - Adds a function to get a TreeID from an ID string - Adds testing for the above - Consolidates validation logic for UUID, TreeID, EntryID - Removes code that attempts to use ActiveIndex() in the sharding package, as this is not accessible due to import cycles - Other small cleanup and typo fixes Signed-off-by:
Lily Sturmann <lsturman@redhat.com> * Change logRanges to work with int64 This is the type used by the trillian TreeID and saves from having to convert in multiple places. Signed-off-by:
Lily Sturmann <lsturman@redhat.com> * Add TreeID to LogInfo API endpoint WARNING: breaks loginfo cmd to current prod server Signed-off-by:
Lily Sturmann <lsturman@redhat.com> * Update API based on logRangesFlag Signed-off-by:
Lily Sturmann <lsturman@redhat.com> * Use API's logRanges to retrieve artifacts Signed-off-by:
Lily Sturmann <lsturman@redhat.com>
-
- Feb 10, 2022
-
-
Scott Nichols authored
Signed-off-by:
Scott Nichols <n3wscott@chainguard.dev>
-
- Jan 25, 2022
-
-
Lily Sturmann authored
* Move range.go into sharding package to avoid import cycles Signed-off-by:
Lily Sturmann <lsturman@redhat.com> * Change name of FullID to EntryID Signed-off-by:
Lily Sturmann <lsturman@redhat.com> * Add unit tests for sharding package Also add a few helper functions and update names. Signed-off-by:
Lily Sturmann <lsturman@redhat.com> * Add logic to GET artifacts via old UUID or new EntryID Signed-off-by:
Lily Sturmann <lsturman@redhat.com> * Add e2e test for longer EntryID Signed-off-by:
Lily Sturmann <lsturman@redhat.com>
-
- Dec 29, 2021
-
-
dlorenc authored
Right now the type itself is defined in the cli package, which means we can't use it without an import cycle. Signed-off-by:
Dan Lorenc <lorenc.d@gmail.com>
-
- Dec 27, 2021
-
-
Morten Linderud authored
* rekor-server: Implement /api/v1/version This implements a version endpoint for rekor. This helps figure out the version the server is currently running. It could later be used to implement version compatibility with CLI utilities. Example: λ rekor main» curl -s localhost:3000/api/v1/version | jq { "builddate": "'2021-12-27T13:20:32Z'", "commit": "12d1a47c", "treestate": "dirty", "version": "v0.4.0-15-g12d1a47-dirty" } This removes some duplication of the build flags and inserts them into /pkg/api which is then reused across the utilities. Signed-off-by:
Morten Linderud <morten@linderud.pw> Signed-off-by:
Morten Linderud <morten@linderud.pw> * Generated files Signed-off-by:
Morten Linderud <morten@linderud.pw>
-
dlorenc authored
This was never actually correct - these are technically "payloadTypes", which are not actually mediaTypes. Some implementations mistakenly sent incorrect media types, so it appeared to work. The GCS storage layer rejected correct implementations that sent the payloadType, because these are not valid mediaTypes. We never used this field anyway, so let's drop it. I verified that the API correctly ignores unknown fields, so removing this will not break clients that send it. Signed-off-by:
Dan Lorenc <lorenc.d@gmail.com>
-
- Dec 20, 2021
-
-
dlorenc authored
We were catching these inside the IndexKeys function calls and logging, this change moves that up to the caller. This is much more standard and simplifies the implementations. Signed-off-by:
Dan Lorenc <lorenc.d@gmail.com>
-
- Dec 16, 2021
-
-
asraa authored
* rename ecosystem to origin Signed-off-by:
Asra Ali <asraa@google.com> * update comments Signed-off-by:
Asra Ali <asraa@google.com>
-
dependabot[bot] authored
* Bump google.golang.org/grpc from 1.42.0 to 1.43.0 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.42.0 to 1.43.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.42.0...v1.43.0 ) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by:
dependabot[bot] <support@github.com> * replace grpc.WithInsecure() with insecure.NewCredentials() Signed-off-by:
Carlos Panato <ctadeu@gmail.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by:
Carlos Panato <ctadeu@gmail.com>
-
- Nov 22, 2021
-
-
dlorenc authored
I had to change a few package imports to deal with upstream refactoring. Signed-off-by:
Dan Lorenc <lorenc.d@gmail.com>
-
- Nov 04, 2021
-
-
Lily Sturmann authored
Signed-off-by:
Lily Sturmann <lsturman@redhat.com>
-
- Oct 06, 2021
-
-
Bob Callaway authored
Each of the supported types has a Canonicalize() method that generates a JSON representation of the entry. If the golang library were to make a change to the order of keys when marshalling an object, it would cause a duplicate entry in the log for a semantically equivalent object. This change simply transforms the JSON into RFC8785-compliant canonicalized JSON protecting against any changes in JSON libraries going forward. Signed-off-by:
Bob Callaway <bob.callaway@gmail.com>
-
- Sep 14, 2021
-
-
dlorenc authored
This is in preparation for supporting multiple logIDs (for sharding). Signed-off-by:
Dan Lorenc <dlorenc@google.com>
-
- Aug 18, 2021
-
-
asraa authored
* Adds rekor TUF type Co-authored-by:
Santiago Torres <santiagotorres@purdue.edu> Co-authored-by:
Trishank Karthik Kuppusamy <trishank.kuppusamy@datadoghq.com> Co-authored-by:
Marina Moore <mnm678@gmail.com> Signed-off-by:
Asra Ali <asraa@google.com> * add type documentation Signed-off-by:
Asra Ali <asraa@google.com> * Address bob comments Signed-off-by:
Asra Ali <asraa@google.com> * run make Signed-off-by:
Asra Ali <asraa@google.com> * wip Signed-off-by:
Asra Ali <asraa@google.com> * Address comments Signed-off-by:
Asra Ali <asraa@google.com> Co-authored-by:
Santiago Torres <santiagotorres@purdue.edu> Co-authored-by:
Trishank Karthik Kuppusamy <trishank.kuppusamy@datadoghq.com> Co-authored-by:
Marina Moore <mnm678@gmail.com>
-
- Jul 30, 2021
-
-
asraa authored
* use an in memory timestamping key Signed-off-by:
Asra Ali <asraa@google.com> * address comments Signed-off-by:
Asra Ali <asraa@google.com>
-
- Jul 20, 2021
-
-
asraa authored
* generalize signed checkpoint Signed-off-by:
Asra Ali <asraa@google.com> * store note as text representation Signed-off-by:
Asra Ali <asraa@google.com> * cleanup diff Signed-off-by:
Asra Ali <asraa@google.com> * simplify Signed-off-by:
Asra Ali <asraa@google.com> * use signer/verifier Signed-off-by:
Asra Ali <asraa@google.com> * address dan comments Signed-off-by:
Asra Ali <asraa@google.com>
-
- Jul 17, 2021
-
-
Bob Callaway authored
Previously we returned an HTTP 500 "error canonicalizing entry" error if Rekor was unable to parse or verify the proposed content of a new log entry. This adds a new error type ValidationError that allows implementers of the Canonicalize method to delineate between internal, transient errors and errors that clients can rectify. With this patch, errors parsing or validating (provided or referenced) artifacts will return an HTTP 400 message to the client with a message about the issue. Fixes: #362 Signed-off-by:
Bob Callaway <bob.callaway@gmail.com>
-
- Jul 14, 2021
-
-
Bob Callaway authored
* Refactor PKI factory and add type checking This allows for more DRY addition of new PKI types, and stricter type checking. This also allows for simpler enumeration of supported PKI formats which will be used in further updates to simplify the CLI codebase. Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * revamp CLI flags; support different versions for upload Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * Add Alpine Package type This adds support for the alpine package format used by Alpine Linux, which is the concatenation of three tgz files (signature, control data, and then the actual package files). Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * use shaFlag for --artifact-hash Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * change arg type to PKIFormat Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * defer type-specific validation logic to type code (instead of in CLI); also use CliLogger throughout CLI Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * refactor factory code Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * review comments Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * Clean up EntryImpl interface Make the interface clearer by removing ambiguity around who and when an entry should have external objects fetched or validated. Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * update pluggable type README Signed-off-by:
Bob Callaway <bob.callaway@gmail.com>
-
Bob Callaway authored
* Refactor PKI factory and add type checking This allows for more DRY addition of new PKI types, and stricter type checking. This also allows for simpler enumeration of supported PKI formats which will be used in further updates to simplify the CLI codebase. Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * revamp CLI flags; support different versions for upload Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * Add Alpine Package type This adds support for the alpine package format used by Alpine Linux, which is the concatenation of three tgz files (signature, control data, and then the actual package files). Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * use shaFlag for --artifact-hash Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * change arg type to PKIFormat Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * defer type-specific validation logic to type code (instead of in CLI); also use CliLogger throughout CLI Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * refactor factory code Signed-off-by:
Bob Callaway <bob.callaway@gmail.com> * review comments Signed-off-by:
Bob Callaway <bob.callaway@gmail.com>
-
- Jul 13, 2021
-
-
dlorenc authored
Signed-off-by:
Dan Lorenc <dlorenc@google.com>
-
- Jul 12, 2021
-
-
dlorenc authored
Signed-off-by:
Dan Lorenc <lorenc.d@gmail.com>
-
- Jul 08, 2021
-
-
Bob Callaway authored
* Adopt new signing/verification APIs from sigstore This uses the new APIs introduced in sigstore/sigstore/pkg/signature and removes most of the calls directly to the golang crypto APIs. Signed-off-by:
Bob Callaway <bob.callaway@gmail.com>
-
- Jun 24, 2021
-
-
asraa authored
Signed-off-by:
Asra Ali <asraa@google.com>
-
- Jun 23, 2021
-
-
asraa authored
* upload all generated timestamps Signed-off-by:
Asra Ali <asraa@google.com> * address bazooka comments Signed-off-by:
Asra Ali <asraa@google.com> * simplify params Signed-off-by:
Asra Ali <asraa@google.com> * address changes Signed-off-by:
Asra Ali <asraa@google.com> * forgot to run swagger Signed-off-by:
Asra Ali <asraa@google.com>
-
- Jun 16, 2021
-
-
asraa authored
Signed-off-by:
Asra Ali <asraa@google.com>
-
- Jun 07, 2021
-
-
Bob Callaway authored
* Convert STH to checkpoint format This switches away from sending the (now deprecated) Trillian LogRootV1 format over to the checkpoint format documented at https://github.com/google/trillian-examples/tree/master/formats/log Fixes: #313 Signed-off-by:
Bob Callaway <bob.callaway@gmail.com>
-
dlorenc authored
This adds an "Attestation" method to the entry interface. Entries can return an attestation that they would like to store. The attestations are currently stored in GCS, but it supports any blob store. The feature is turned off with a flag, and we can set a max size as well. Signed-off-by:
Dan Lorenc <dlorenc@google.com>
-
- May 27, 2021
-
-
dlorenc authored
This saves an if err != nil... check. Signed-off-by:
Dan Lorenc <dlorenc@google.com>
-
- May 24, 2021
-
-
asraa authored
* Add timestamps Signed-off-by:
Asra Ali <asraa@google.com> * change Signed-off-by:
Asra Ali <asraa@google.com> * address comments Signed-off-by:
Asra Ali <asraa@google.com> * address comments Signed-off-by:
Asra Ali <asraa@google.com> * fix binary writer Signed-off-by:
Asra Ali <asraa@google.com> * add tsa Signed-off-by:
Asra Ali <asraa@google.com> * distangle cert chain creation from new signer Signed-off-by:
Asra Ali <asraa@google.com> * revert some now unncessary changes Signed-off-by:
Asra Ali <asraa@google.com> * cert chain 404 Signed-off-by:
Asra Ali <asraa@google.com> * fix Signed-off-by:
Asra Ali <asraa@google.com>
-
- May 06, 2021
-
-
Bob Callaway authored
* Add Log ID to LogEntry field Since the signed entry timestamp (SET) will be able to prove insertion into the log, adding the log ID (aka public key SHA256 hash) makes it easier to know which log the entry came from. Signed-off-by:
Bob Callaway <bob.callaway@gmail.com>
-
- May 05, 2021
-
-
Bob Callaway authored
* GetLogByIndexHandler returns 404 for missing index GRPC return codes have changed after switching the Trillian GRPC calls due to recent changes; therefore we need to adapt for InvalidArgument which should be returned as a 404 Not Found error to callers. Fixes #296 Signed-off-by:
Bob Callaway <bob.callaway@gmail.com>
-