-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add ability to distribute artifacts through archivista #188
Conversation
internal/server/server.go
Outdated
if cfg.EnableWitnessDistro { | ||
r.HandleFunc("/v1/witness/", s.WitnessAllVersionsHandler) | ||
r.HandleFunc("/v1/witness/{version}", s.WitnessVersionHandler) | ||
r.HandleFunc("/v1/witness/{version}/{distribution}", s.DownloadWitnessHandler) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably not needed for now but, we should consider how to upload/update for new versions of Witness. Depending on where Archivista is running, it could be difficult to access it's storage to update config files or add witness binaries. Also, updating config file will require a file system watcher or a restart of archivista.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, this is very true on all accounts
|
||
// verifyManifest ensures that each file exists on disk and that the sha256sum of the | ||
// files on disk match those of the manifest | ||
func verifyManifest(wds WitnessDistroStore) error { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Other than the obvious desire to have the binaries distributed with TUF metadata, I wonder if there could be value of an added a check against the go binary metadata?
For example:
go version -m /usr/local/bin/witness | grep build
build -buildmode=exe
build -compiler=gc
build -trimpath=true
build CGO_ENABLED=0
build GOARCH=arm64
build GOOS=darwin
build vcs=git
build vcs.revision=aa35c1f4b1d41c87e139c2d333f09117fd0daf4f
build vcs.time=2023-08-10T14:25:28Z
build vcs.modified=true
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I think in the future we probably want to expand the checks we can do here
3256509
to
4c90d90
Compare
This should be good for final review now. Tests are added and docs are updated. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like this approach of providing a mechanism for distributing witness in archivista, a dev can provide a config and what versions they want and the distro will make sure it gets the versions, checks the checksums, then expose them through API
I like this! This would also be a great pattern to distribute other artifacts like a tar of the admission controller image, or witness plugins |
As long as @kairoaraujo gives it a 👍 I think we're good to merge. |
I had a chat with @mikhailswift, and I will summarize what we discussed
The changes are to achieve a more generic endpoint to avoid breaking compatibility in the future. The futureAs shared in the future, we can use TUF to protect downloads of anything that goes on Archivista (attestations, policies, and artifacts) I will file an issue about all my suggestions to protect the users and enable more features such as updating witness and archivistactl safety. |
We should probably have some bounds on this. |
The idea of having |
4c90d90
to
005dfc0
Compare
@kairoaraujo i can real quick adjust the download handler to be in line with your comment versus what I have here. i did |
internal/server/server.go
Outdated
r.HandleFunc("/v1/artifacts", s.AllArtifactsHandler) | ||
r.HandleFunc("/v1/artifacts/{name}", s.ArtifactAllVersionsHandler) | ||
r.HandleFunc("/v1/artifacts/{version}", s.ArtifactVersionHandler) | ||
r.HandleFunc("/v1/download/artifacts/{name}/{distribution}", s.DownloadArtifactHandler) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing {version} parameter
/v1/download/artifacts/....
or just
/v1/download/.... ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have a strong opinion; both work well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A minor fix for the API doc, splitting it into specific tags.
It requires make docs
after adding.
Support use case of private archivista deployments where getting witness may be difficult. Also support use case of folks having custom builds of witness to distribute. Extended to be a more generic artifact store for additional tools. Signed-off-by: Mikhail Swift <[email protected]>
005dfc0
to
eeaba99
Compare
Signed-off-by: Mikhail Swift <[email protected]>
b973192
to
8686c6d
Compare
…vista Signed-off-by: Mikhail Swift <[email protected]>
…h archivista Signed-off-by: Mikhail Swift <[email protected]>
8fbc70b1 chore: bump github.com/aws/aws-sdk-go from 1.50.30 to 1.50.38 (in-toto#196) 289e9b23 chore: bump k8s.io/apimachinery from 0.29.2 to 0.29.3 (in-toto#195) 5429db56 chore: bump cloud.google.com/go/kms from 1.15.7 to 1.15.8 (in-toto#194) 7f6ea51e chore: bump github.com/aws/aws-sdk-go-v2/config from 1.27.8 to 1.27.9 (in-toto#193) 53610c1b chore: bump actions/dependency-review-action from 4.1.3 to 4.2.4 (in-toto#192) 29296244 chore: bump softprops/action-gh-release from 2.0.3 to 2.0.4 (in-toto#191) ed8ae371 chore: bump github/codeql-action from 3.24.8 to 3.24.9 (in-toto#190) fe836545 chore: bump github.com/aws/aws-sdk-go-v2/config from 1.27.4 to 1.27.8 (in-toto#189) 27a5a540 chore: bump actions/checkout from 4.1.1 to 4.1.2 (in-toto#188) e12f3e75 chore: bump github/codeql-action from 3.24.6 to 3.24.8 (in-toto#187) 981d0fbd chore: bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (in-toto#186) 629e83ac chore: bump github.com/aws/aws-sdk-go-v2/service/kms from 1.29.1 to 1.29.2 (in-toto#183) 22975635 chore: bump google.golang.org/grpc from 1.62.0 to 1.62.1 (in-toto#182) c479bdb4 chore: bump softprops/action-gh-release from 1 to 2 (in-toto#181) af6cb4b7 chore: bump gopkg.in/go-jose/go-jose.v2 from 2.6.2 to 2.6.3 (in-toto#179) f0cd5b11 chore: bump github.com/go-jose/go-jose/v3 from 3.0.2 to 3.0.3 (in-toto#180) 31febef5 chore: bump github.com/aws/aws-sdk-go from 1.50.27 to 1.50.30 (in-toto#177) 61776d68 chore: bump github.com/sigstore/sigstore from 1.8.1 to 1.8.2 (in-toto#178) 2aac8f3f chore: bump actions/download-artifact from 4.1.2 to 4.1.4 (in-toto#176) 73f387a9 chore: bump github/codeql-action from 3.24.5 to 3.24.6 (in-toto#175) 2604d61e 168 support all fulcio cert extensions (in-toto#174) b6f3a568 fix: reset verifier each iteration while loading pub keys from policy (in-toto#173) 0d420e02 chore: bump google.golang.org/grpc from 1.61.0 to 1.61.1 (in-toto#171) a7362f41 chore: bump actions/dependency-review-action from 4.1.1 to 4.1.3 (in-toto#170) f0456d7c chore: bump github/codeql-action from 3.24.3 to 3.24.5 (in-toto#169) 98357187 chore: bump github/codeql-action from 3.24.0 to 3.24.3 (in-toto#162) ac085845 chore: bump k8s.io/apimachinery from 0.26.13 to 0.26.14 (in-toto#161) c2607968 chore: bump github.com/aws/aws-sdk-go-v2/config from 1.18.14 to 1.18.45 (in-toto#160) 7dbbdbdb chore: bump cloud.google.com/go/kms from 1.15.2 to 1.15.7 (in-toto#158) 8278d008 chore: bump github.com/aws/aws-sdk-go-v2/service/kms from 1.20.4 to 1.20.12 (in-toto#157) 856f1a04 chore: bump actions/download-artifact from 4.1.1 to 4.1.2 (in-toto#163) 7732ec53 chore: bump fossas/fossa-action from 1.3.1 to 1.3.3 (in-toto#164) 4dcce5ec chore: bump actions/dependency-review-action from 4.0.0 to 4.1.1 (in-toto#165) 5e54141d chore: bump testifysec/witness-run-action from 0.1.3 to 0.1.5 (in-toto#166) 57ca28ab Add Tom as an official maintainer (in-toto#156) f7a1037f KMS Support (in-toto#120) c5816df0 fix: vault warnings are an array, not a string (in-toto#153) 94153c72 chore: bump actions/checkout from 3.6.0 to 4.1.1 (in-toto#151) 5fe9d92f chore: bump step-security/harden-runner from 2.6.1 to 2.7.0 (in-toto#152) ed3767b5 chore: bump actions/upload-artifact from 4.3.0 to 4.3.1 (in-toto#154) 94717f0e chore: bump golangci/golangci-lint-action from 3.7.0 to 4.0.0 (in-toto#155) 95cf785f chore: bump github/codeql-action from 3.23.2 to 3.24.0 (in-toto#150) f07f03c9 [StepSecurity] ci: Harden GitHub Actions (in-toto#148) 86f50965 Checking policy signature against cert constraints (in-toto#144) 3ce1385b Adding workaround due to failing workflows (in-toto#145) 4f2a630a RunAttestors refactor (in-toto#131) be75142a fixing error in github actions workflow (in-toto#147) 77a9f42e Adding job to auto cut releases (in-toto#141) fa5d2caa chore: bump github/codeql-action from 3.23.1 to 3.23.2 (in-toto#143) b8734c70 chore: bump actions/upload-artifact from 4.2.0 to 4.3.0 (in-toto#142) 027b47d0 refactor: move gitoid code to cyrptoutil, use digestvalue everywhere (in-toto#139) 2cb096b7 Adding policy intermediates option to verify function (in-toto#138) 33998ffe Improved the search to be concurrent (in-toto#62) cfcb7cc5 Moving the timestamper interfaces to the timestamp directory (in-toto#132) dd59a2ba chore: bump actions/dependency-review-action from 3.1.5 to 4.0.0 (in-toto#137) 45992877 chore: bump github/codeql-action from 3.23.0 to 3.23.1 (in-toto#136) 6c44e5b1 chore: bump actions/upload-artifact from 4.1.0 to 4.2.0 (in-toto#135) 884637a8 chore: bump k8s.io/apimachinery from 0.26.12 to 0.26.13 (in-toto#134) acaefcf0 chore: bump github.com/spiffe/go-spiffe/v2 from 2.1.6 to 2.1.7 (in-toto#133) 07128d24 Included tests for GitHub attestations (in-toto#61) 3e7ddccb Included Tests for memory.go LoadEnvelope and Search (in-toto#59) git-subtree-dir: subtrees/go-witness git-subtree-split: 8fbc70b1d7db128d88f2aba60e16c97ff267d583
* Initial commit * chore: Configure SAST in `.gitlab-ci.yml`, creating this file if it does not already exist * chore: initial commit of judge monorepo core projects * chore: Set up our new home for product and development planning (in-toto#7) chore: Set up our new home for product development and onboarding Fixes #1 Fixes in-toto#2 removed spire k8s * fix(web): friendly errors fixes in-toto#19 * chore: Added issue templates for additional issue types closes in-toto#16 a bit further, had some idle time * chore: Added issue templates for epic and feature * chore: update Judge monorepo with latest judge-api change delta * story: As a user I want a simple and intuitive sign-in flow fixes in-toto#20 Now when the user registers with their github, they are automatically signed in * docs(web): added todo to move sorting logic that shouldn't be in frontend * fix(web): the dashboard attestation results should belong to the repo they are associated with fixes in-toto#18 * chore(web): remove of .old web ui * fix(web): tests all pass fixes in-toto#31 * chore: implemented prepush-if-changed so that we can only run tests for things on push if we actually changed them * chore: implemented prepush test githooks for all go subprojectsg * docs: wrote docs for our githooks * chore: sorted our root package.json scripts * feat: add proxies to production services for netlify deployments (in-toto#34) Sets up proxies to archivista, judge-api, kratos, and login from netlify deployments to our production instances of these. Eventually we may need to break these out to short lived versions of the back end services. Fixes in-toto#33 * fix: adds missing wildcards to netlify redirects Netlify was only doing redirects for exact matches of `/archivista` or `/login`, where we want all paths to be redirected to those services. Fixes in-toto#33 * fix: tell kratos to return us to our current judge web instance * chore: implemented conventioanal-commits with commitlint * docs: updated githooks documentation for conventional commits * chore: implemented git-conventional-commits this helps enable generating our versions and changelog from our git tree helps close in-toto#9 * fix: githooks should be frictionless subtasks: fix: prepush-if-changed shouldn't run node tests if node files aren't touched chore: update commitlint to allow for bypassing with 'wip' fix: prepushrc for node and go prepush test hook chore: updates to commitlint for longer messages fixes in-toto#40 if a ops developer contributed code but had not run `npm run start:web` on the web project to produce the graphql cache, then linting would fail. Rather than ask ops devs to make sure they start the web app every now and then, we have addressed this by making the graphql cache optional. * chore: updated subtree scripts * Squashed 'subtrees/witness/' content from commit cc2478e git-subtree-dir: subtrees/witness git-subtree-split: cc2478e854c6dd91cc6b20ed3baa6ba47dbadb3f * Squashed 'subtrees/archivista/' content from commit 21ab99d git-subtree-dir: subtrees/archivista git-subtree-split: 21ab99d * Squashed 'subtrees/go-witness/' content from commit 31e6790 git-subtree-dir: subtrees/go-witness git-subtree-split: 31e67909220f336fd5771b6f5c2916c799da2496 * chore: move subtrees to subtrees/ subfolder closes in-toto#27 updated dev environment and githooks to work with new subtrees subfolder updated docs on subtrees * chore: upgrade kratos to v13.0 (in-toto#55) chore: upgrade kratos * fix: tests fail if you run npm build instead of npm start before testing fixes in-toto#56 * chore(web): implement node workflow to github workflows closes in-toto#60 allows us to build and test our web project from the monorepo as on changes to our trunk (`main`) Signed-off-by: Kris Coleman <[email protected]> * feat: implemented metadata webhook in kratos for updating tenant metadata closes in-toto#28 * feat: upgrade kratos ui * Squashed 'subtrees/witness-run-action/' content from commit bdd8272 git-subtree-dir: subtrees/witness-run-action git-subtree-split: bdd82729b316d071606007cc9eecae326429caaf * chore: updated conventional-commit to support subtree type * subtree(witness-run-action): onboarded the witness-run-action to the monorepo closes in-toto#70 * chore: updated download-compress-witness.sh to support macos * chore: updated how we push subtrees to a smarter approach now we don't push directly to main... we should just make a new branch off our trunk before we push using the provided scripts. this will push a clean branch of just the subtree changes to the subtree. * chore(web): update the yo generators to work with monorepo OOTB also improved cli wordage * feat(web): implemented RepoCard RepoCard provides a reusable component for showing a repo with a Card view * feat(web): implemented CommitLink component provides a reusable commit for displaying a Commit * story: as a user, anytime I click on a git sha, I want to copy it the clipboard * ops(go): implement go ci workflow to github workflows closes in-toto#62 * chore: dogfood the witness-run-action on the monorepo closes in-toto#22 * subtree(witness-run-action): updated docs to help users with generating attestations in monorepos * subtree(witness): updated `run` docs to help users with generating attestations in monorepos * subtree(witness): updated `run` docs to help users with generating attestations with npm * ops: renamed web.yaml to node.yml * chore(judge-api): use logrus directly * chore(archivista): use logrus directly * fix(archivista): update archivista's usage of updated go-witness function * feat(monorepo): add go workspace file to monorepo * chore(judge-api): rename go module * chore(archivista): use logrus directly * fix(monorepo): update witness-run-action version used * fix(archivista): update archivista's usage of updated go-witness function * chore(deps): bump yaml in /subtrees/witness-run-action Bumps [yaml](https://github.com/eemeli/yaml) from 2.2.1 to 2.2.2. - [Release notes](https://github.com/eemeli/yaml/releases) - [Commits](eemeli/yaml@v2.2.1...v2.2.2) --- updated-dependencies: - dependency-name: yaml dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> * chore(judge-api): support multiple database providers * fix(witness): witness should not error on an empty git repo with no commits Fixes in-toto#121 * chore: make skaffold config modular * chore: add skaffold README * chore(policy): implemented struct representing a decision on a policy * feat(policy): judge-api has a endpoint for submitting witness verify results and stores them * refactor(witness): use generic registry for attestor options * refactor(go-witness): use generic registry for attestor options * feat(go-witness): add signer provider registry * refactor: add SetOptions helper to registry, fix return values in some signer's option funcs * feat(witness): use signer registry to setup signers for CLI flags * docs(witness): regenerate docs for new cli flags * fix: use go mod download in install scripts for go modules * feat(go-witness): add time.Duration option for registries * feat(go-witness): add vault pki signer provider * refactor(witness): create helper function to add options from registries * docs(witness): regenerate docs for new cli flags * fix(witness): re-enable verify tests As part of the signer registry refactor I commented these tests out to work on some other tests. Turns out I forgot to uncomment and fix these before merging the refactor... Ooops. * chore: update go.work.sum * fix: fix remotes:add:all script * Squashed 'subtrees/go-witness/' changes from 31e6790..6e5c872 6e5c872 fix: update github actions to use new fulcio url 7332f62 fix: use witness-run-action instead of testifysec-run-action git-subtree-dir: subtrees/go-witness git-subtree-split: 6e5c872cb5f282059bc01bda200b0354f88bacd9 * Squashed 'subtrees/witness/' changes from cc2478e..8a53d68 8a53d68 fix: update github actions to use new fulcio url 2dc9401 fix: update goreleaser action to use go 1.20.x 9bac7df chore(deps): bump github.com/cloudflare/circl from 1.3.2 to 1.3.3 57b29fd feat: publish ko built images to ghcr bde414e fix: use witness-run-action instead of testifysec-run-action 58b3f59 fix: update scorecard version to fix invalid key error git-subtree-dir: subtrees/witness git-subtree-split: 8a53d681de06d9a447210841c1e96e03b6c2edfb * Squashed 'subtrees/go-witness/' changes from 6e5c872..cd0c222 cd0c222 feat(signer): add vault pki signer provider 47e1475 feat(registry): add time.Duration option for registries 6e4df6c refactor(registry): add SetOptions helper to registry, fix return values in some signer's option funcs ce479bf feat(signer): add signer provider registry 8f0f4b9 refactor(attestor): use generic registry for attestor options 2357401 fix(witness): witness should not error on an empty git repo with no commits Fixes in-toto#121 git-subtree-dir: subtrees/go-witness git-subtree-split: cd0c222058a8830a8e190b840e466098b25a3c41 * Squashed 'subtrees/witness/' changes from 8a53d68..be20100 be20100 fix: dev/Dockerfile.go-builder to reduce vulnerabilities aa35c1f fix: update changed signer flags in tests f7d7e96 fix: use the pflag.FlagSet.Set function to set values from config files 03ab65f fix: re-enable verify tests 5bf31d7 docs: regenerate docs for new cli flags d713711 refactor: create helper function to add options from registries 88a8d93 docs: regenerate docs for new cli flags 4a41144 feat: use signer registry to setup signers for CLI flags 0c7a4e5 refactor: use generic registry for attestor options git-subtree-dir: subtrees/witness git-subtree-split: be20100af602c780deeef50c54f5338662ce917c * Squashed 'subtrees/go-witness/' changes from cd0c222..0b28c0f 0b28c0f Adding support for using timestamp authority and CA certificates for verifying policy (in-toto#124) 43a586f Adding support for supplying POM on Maven Attestor (in-toto#129) 61576e0 Adding function to add a single attestor (in-toto#128) 404b654 chore: bump actions/download-artifact from 4.1.0 to 4.1.1 (in-toto#127) 8937af7 chore: bump actions/upload-artifact from 4.0.0 to 4.1.0 (in-toto#126) a54b4c0 fix: added oidc redirect url option for fulcio (in-toto#76) 0aaf29b chore: bump github/codeql-action from 3.22.12 to 3.23.0 (in-toto#122) 4354822 chore: bump actions/dependency-review-action from 3.1.4 to 3.1.5 (in-toto#123) 90c26c3 chore: bump github.com/cloudflare/circl from 1.3.3 to 1.3.7 (in-toto#121) 9875fcc Update SECURITY-INSIGHTS.yml with additional information (in-toto#108) 3088442 chore: bump k8s.io/apimachinery from 0.26.11 to 0.26.12 (in-toto#116) 6ab0399 chore: bump actions/download-artifact from 4.0.0 to 4.1.0 (in-toto#117) c5246d4 chore: bump github/codeql-action from 3.22.11 to 3.22.12 (in-toto#118) a39d484 chore: bump github.com/go-git/go-git/v5 from 5.5.2 to 5.11.0 (in-toto#119) c28d93f chore: bump golang.org/x/crypto from 0.14.0 to 0.17.0 (in-toto#115) 603cfa9 chore: bump actions/upload-artifact from 3.1.3 to 4.0.0 (in-toto#111) 84bdf2a chore: bump actions/download-artifact from 3.0.2 to 4.0.0 (in-toto#112) 9465ff4 chore: bump github/codeql-action from 2.22.9 to 3.22.11 (in-toto#110) cfee7c9 Create SECURITY.md (in-toto#107) 6094e21 Point to v0.2.0 of archivista (in-toto#105) 00081b0 Fixing bug introduced in logs - warning and debug logs not printing (in-toto#103) 5b5647c WIP: Migrating Go module to in-toto (in-toto#101) c555ac6 Adding go test command to Makefile (in-toto#96) 737eed8 Updating README (in-toto#97) 70efbcf Improving `--signer-fulcio-token` flag to accept both path and raw token string (in-toto#82) b11e25f chore: bump github/codeql-action from 2.22.8 to 2.22.9 (in-toto#90) 1ec7071 chore: bump actions/dependency-review-action from 2.5.1 to 3.1.4 (in-toto#91) 765aa2b chore: bump actions/checkout from 3.6.0 to 4.1.1 (in-toto#92) 9243257 chore: bump actions/setup-go from 4.1.0 to 5.0.0 (in-toto#93) 19d2725 chore: bump ossf/scorecard-action from 2.0.6 to 2.3.1 (in-toto#89) a10252c Don't run FOSSA Scan on PR from fork (in-toto#95) bec608e Changes to improve CLOMonitor Score (in-toto#88) 3328596 Fix pre-commit violations (in-toto#87) eac781c [StepSecurity] Apply security best practices (in-toto#86) 1d30fe2 Refactoring error messages to use %w formatting directive and fix logging issue (in-toto#85) 7ec4004 Update README.md 2bdd1c6 chore: bump github.com/go-jose/go-jose/v3 from 3.0.0 to 3.0.1 3e86283 chore: bump github.com/open-policy-agent/opa from 0.49.1 to 0.49.2 86c8967 chore: bump github.com/mattn/go-isatty from 0.0.17 to 0.0.20 5f74d75 chore: bump k8s.io/apimachinery from 0.26.10 to 0.26.11 9a2cff0 chore: bump github.com/stretchr/testify from 1.8.2 to 1.8.4 40c7ed5 chore: bump github.com/sigstore/sigstore from 1.5.1 to 1.5.2 4ddd1b4 chore: bump k8s.io/apimachinery from 0.26.1 to 0.26.10 e927252 chore: bump go.step.sm/crypto from 0.25.0 to 0.25.2 4273fcf chore: bump github.com/spiffe/go-spiffe/v2 from 2.1.2 to 2.1.6 c5bac1b chore: bump github.com/aws/aws-sdk-go from 1.44.207 to 1.44.334 044ab95 chore: bump actions/setup-go from 2 to 4 46ff412 chore: bump actions/checkout from 2 to 4 78ca945 Improve DigestSet logic and JSON marshalling c487391 Changed to pointer receiver when both were mixed 08d1c37 Add dependabot config, reusable witness workflow, and update pipeline 5c92286 Add maintainers file (in-toto#64) 69cb3ee chore(deps): bump google.golang.org/grpc from 1.53.0 to 1.56.3 (in-toto#60) 5e567f0 chore(deps): bump golang.org/x/net from 0.7.0 to 0.17.0 (in-toto#54) 03cf3f0 chore(deps): bump github.com/cloudflare/circl from 1.3.2 to 1.3.3 (in-toto#44) 4f01b96 Add support for controller-gen deepcopy of policy package structs. This will be required for archivista data provider controllers (in-toto#53) git-subtree-dir: subtrees/go-witness git-subtree-split: 0b28c0f52c40cdac5e3a15151ca360d965929086 * Squashed 'subtrees/witness/' changes from be20100..06031da 06031da Checking attestors for duplicates (in-toto#361) 1a9b5a2 Initial attempt at PR and Issue templates (in-toto#351) 83ca942 chore: bump actions/download-artifact from 4.1.0 to 4.1.1 (in-toto#358) 63cc5d8 chore: bump github/codeql-action from 3.22.12 to 3.23.0 (in-toto#357) 70e0b09 chore: bump actions/upload-artifact from 4.0.0 to 4.1.0 (in-toto#356) d2471e6 chore: bump actions/cache from 3.3.2 to 3.3.3 (in-toto#355) f2e2a6f Update cloudflare/circl due to dependabot failure (in-toto#352) abce18b Add cosign install 15d9014 Add signing to goreleaser and Best Practices badge to readme. 93768db Pin dependencies and restrict permissions 494d44a Add Security MD files an add FOSSA scan badge b9e38d5 Add FOSSA license scanning 617e15a chore: bump actions/dependency-review-action from 3.1.4 to 3.1.5 (in-toto#349) 2c590bb Update go-git to resolve vulnerability (in-toto#346) 88881fa chore: bump actions/download-artifact from 4.0.0 to 4.1.0 (in-toto#342) ea67d31 chore: bump github/codeql-action from 3.22.11 to 3.22.12 (in-toto#343) b8f36d6 chore: bump actions/upload-artifact from 3.1.3 to 4.0.0 (in-toto#337) 34563ab chore: bump github/codeql-action from 2.22.9 to 3.22.11 (in-toto#336) 46b168d chore: bump actions/download-artifact from 3.0.2 to 4.0.0 (in-toto#335) b36c96d Bumping Go version for goreleaser (in-toto#333) c06555d Migrating to the use of in-toto/go-witness module (in-toto#331) c0f5843 Migrating go module (in-toto#328) 937eab8 Adding the contributing.md from archivista (in-toto#327) f0c8f43 Adding help to Makefile and updating `make test` target (in-toto#325) 71856fd chore: bump actions/dependency-review-action from 2.5.1 to 3.1.4 (in-toto#324) 709ad35 chore: bump github/codeql-action from 2.22.8 to 2.22.9 (in-toto#323) 684fd6a chore: bump actions/setup-go from 4.1.0 to 5.0.0 (in-toto#322) a823f58 chore: bump actions/checkout from 3.6.0 to 4.1.1 (in-toto#321) 862d8c4 chore: bump actions/upload-artifact from 3.0.0 to 3.1.3 (in-toto#320) b19afc8 Fix initial pre-commit violations (in-toto#319) a56715e Refactoring error messages to use `%w` formatting directive and fix logging issue (in-toto#314) 0bca967 feat: add algo hash list for digest calc in config (in-toto#292) 81bdfce Improve gha (in-toto#318) f65b232 [StepSecurity] Apply security best practices (in-toto#316) bcf7ecf Update README.md - fixing quickstart url 8dde14c docs: correct sign policy file command in README.md 752b9e0 chore: bump github/codeql-action from 2.22.7 to 2.22.8 15bec9e chore: bump github.com/go-jose/go-jose/v3 from 3.0.0 to 3.0.1 0363ee3 chore: bump actions/setup-go from 2 to 4 a412c18 chore: bump actions/cache from 2 to 3 e7a6f44 chore: bump github/codeql-action from 2.22.6 to 2.22.7 932ff1e chore: bump actions/checkout from 2 to 4 (in-toto#301) 5e56558 chore: bump github.com/stretchr/testify from 1.8.1 to 1.8.4 (in-toto#305) f49ff8e chore: bump github.com/sirupsen/logrus from 1.9.0 to 1.9.3 (in-toto#304) 873f55c chore: bump golangci/golangci-lint-action from 2 to 3 (in-toto#303) 1880baa chore: bump ossf/scorecard-action from 2.1.3 to 2.3.1 (in-toto#302) 9380cbe chore: bump github/codeql-action from 1.0.26 to 2.22.6 (in-toto#300) 21cb944 chore: bump docker/login-action from 2 to 3 (in-toto#299) 2219a76 fix: updating urls to `in-toto` from `testifysec` and `-L` to the curl for version (in-toto#297) b3d7207 Add dependabot config and add reusable workflow for calling witness (in-toto#298) 5beb113 Add maintainers file 602dc48 chore(deps): bump google.golang.org/grpc from 1.53.0 to 1.56.3 edef808 docs: Update key to signer-file-key-path in getting starter .witness.yaml 8e9d798 fix: dev/Dockerfile.go-builder to reduce vulnerabilities 27f68b9 chore(deps): bump golang.org/x/net from 0.7.0 to 0.17.0 git-subtree-dir: subtrees/witness git-subtree-split: 06031da4459ee4aea13ee83c59f9dee8171133ff * chore(archivista): archivista client struct - created `httpclient` package for HTTP client structure with methods attached. - created `httpclient_test` for HTTP client structure. * Squashed 'subtrees/go-witness/' changes from 0b28c0f5..8fbc70b1 8fbc70b1 chore: bump github.com/aws/aws-sdk-go from 1.50.30 to 1.50.38 (in-toto#196) 289e9b23 chore: bump k8s.io/apimachinery from 0.29.2 to 0.29.3 (in-toto#195) 5429db56 chore: bump cloud.google.com/go/kms from 1.15.7 to 1.15.8 (in-toto#194) 7f6ea51e chore: bump github.com/aws/aws-sdk-go-v2/config from 1.27.8 to 1.27.9 (in-toto#193) 53610c1b chore: bump actions/dependency-review-action from 4.1.3 to 4.2.4 (in-toto#192) 29296244 chore: bump softprops/action-gh-release from 2.0.3 to 2.0.4 (in-toto#191) ed8ae371 chore: bump github/codeql-action from 3.24.8 to 3.24.9 (in-toto#190) fe836545 chore: bump github.com/aws/aws-sdk-go-v2/config from 1.27.4 to 1.27.8 (in-toto#189) 27a5a540 chore: bump actions/checkout from 4.1.1 to 4.1.2 (in-toto#188) e12f3e75 chore: bump github/codeql-action from 3.24.6 to 3.24.8 (in-toto#187) 981d0fbd chore: bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (in-toto#186) 629e83ac chore: bump github.com/aws/aws-sdk-go-v2/service/kms from 1.29.1 to 1.29.2 (in-toto#183) 22975635 chore: bump google.golang.org/grpc from 1.62.0 to 1.62.1 (in-toto#182) c479bdb4 chore: bump softprops/action-gh-release from 1 to 2 (in-toto#181) af6cb4b7 chore: bump gopkg.in/go-jose/go-jose.v2 from 2.6.2 to 2.6.3 (in-toto#179) f0cd5b11 chore: bump github.com/go-jose/go-jose/v3 from 3.0.2 to 3.0.3 (in-toto#180) 31febef5 chore: bump github.com/aws/aws-sdk-go from 1.50.27 to 1.50.30 (in-toto#177) 61776d68 chore: bump github.com/sigstore/sigstore from 1.8.1 to 1.8.2 (in-toto#178) 2aac8f3f chore: bump actions/download-artifact from 4.1.2 to 4.1.4 (in-toto#176) 73f387a9 chore: bump github/codeql-action from 3.24.5 to 3.24.6 (in-toto#175) 2604d61e 168 support all fulcio cert extensions (in-toto#174) b6f3a568 fix: reset verifier each iteration while loading pub keys from policy (in-toto#173) 0d420e02 chore: bump google.golang.org/grpc from 1.61.0 to 1.61.1 (in-toto#171) a7362f41 chore: bump actions/dependency-review-action from 4.1.1 to 4.1.3 (in-toto#170) f0456d7c chore: bump github/codeql-action from 3.24.3 to 3.24.5 (in-toto#169) 98357187 chore: bump github/codeql-action from 3.24.0 to 3.24.3 (in-toto#162) ac085845 chore: bump k8s.io/apimachinery from 0.26.13 to 0.26.14 (in-toto#161) c2607968 chore: bump github.com/aws/aws-sdk-go-v2/config from 1.18.14 to 1.18.45 (in-toto#160) 7dbbdbdb chore: bump cloud.google.com/go/kms from 1.15.2 to 1.15.7 (in-toto#158) 8278d008 chore: bump github.com/aws/aws-sdk-go-v2/service/kms from 1.20.4 to 1.20.12 (in-toto#157) 856f1a04 chore: bump actions/download-artifact from 4.1.1 to 4.1.2 (in-toto#163) 7732ec53 chore: bump fossas/fossa-action from 1.3.1 to 1.3.3 (in-toto#164) 4dcce5ec chore: bump actions/dependency-review-action from 4.0.0 to 4.1.1 (in-toto#165) 5e54141d chore: bump testifysec/witness-run-action from 0.1.3 to 0.1.5 (in-toto#166) 57ca28ab Add Tom as an official maintainer (in-toto#156) f7a1037f KMS Support (in-toto#120) c5816df0 fix: vault warnings are an array, not a string (in-toto#153) 94153c72 chore: bump actions/checkout from 3.6.0 to 4.1.1 (in-toto#151) 5fe9d92f chore: bump step-security/harden-runner from 2.6.1 to 2.7.0 (in-toto#152) ed3767b5 chore: bump actions/upload-artifact from 4.3.0 to 4.3.1 (in-toto#154) 94717f0e chore: bump golangci/golangci-lint-action from 3.7.0 to 4.0.0 (in-toto#155) 95cf785f chore: bump github/codeql-action from 3.23.2 to 3.24.0 (in-toto#150) f07f03c9 [StepSecurity] ci: Harden GitHub Actions (in-toto#148) 86f50965 Checking policy signature against cert constraints (in-toto#144) 3ce1385b Adding workaround due to failing workflows (in-toto#145) 4f2a630a RunAttestors refactor (in-toto#131) be75142a fixing error in github actions workflow (in-toto#147) 77a9f42e Adding job to auto cut releases (in-toto#141) fa5d2caa chore: bump github/codeql-action from 3.23.1 to 3.23.2 (in-toto#143) b8734c70 chore: bump actions/upload-artifact from 4.2.0 to 4.3.0 (in-toto#142) 027b47d0 refactor: move gitoid code to cyrptoutil, use digestvalue everywhere (in-toto#139) 2cb096b7 Adding policy intermediates option to verify function (in-toto#138) 33998ffe Improved the search to be concurrent (in-toto#62) cfcb7cc5 Moving the timestamper interfaces to the timestamp directory (in-toto#132) dd59a2ba chore: bump actions/dependency-review-action from 3.1.5 to 4.0.0 (in-toto#137) 45992877 chore: bump github/codeql-action from 3.23.0 to 3.23.1 (in-toto#136) 6c44e5b1 chore: bump actions/upload-artifact from 4.1.0 to 4.2.0 (in-toto#135) 884637a8 chore: bump k8s.io/apimachinery from 0.26.12 to 0.26.13 (in-toto#134) acaefcf0 chore: bump github.com/spiffe/go-spiffe/v2 from 2.1.6 to 2.1.7 (in-toto#133) 07128d24 Included tests for GitHub attestations (in-toto#61) 3e7ddccb Included Tests for memory.go LoadEnvelope and Search (in-toto#59) git-subtree-dir: subtrees/go-witness git-subtree-split: 8fbc70b1d7db128d88f2aba60e16c97ff267d583 * Squashed 'subtrees/witness/' changes from 06031da4..74f6c3dc 74f6c3dc chore: bump the all-go-mod group with 1 update (in-toto#425) bed18639 Update GHA triggers to fine tune for code changes vs other updates (in-toto#406) 6f7d4a80 Adding ability to list attestors (in-toto#384) 1fbdaa9b chore: bump the all-gha group with 1 update (in-toto#426) 90cb5acb Update dependabot.yml (in-toto#405) c86b46dc small typo fix (in-toto#424) f5deef58 chore: bump express from 4.18.3 to 4.19.2 in /docs-website (in-toto#423) 6bec1817 chore: bump actions/cache from 4.0.1 to 4.0.2 (in-toto#421) 78f1a7b6 chore: bump actions/dependency-review-action from 4.1.3 to 4.2.4 (in-toto#420) 2b4213f1 chore: bump github/codeql-action from 3.24.8 to 3.24.9 (in-toto#419) fe61acd7 chore: bump webpack-dev-middleware from 5.3.3 to 5.3.4 in /docs-website (in-toto#417) 917e13b5 chore: bump docker/login-action from 3.0.0 to 3.1.0 (in-toto#413) b1ee6814 chore: bump github/codeql-action from 3.24.6 to 3.24.8 (in-toto#415) 10f895d4 chore: bump actions/checkout from 4.1.1 to 4.1.2 (in-toto#412) 1844b269 chore: bump k8s.io/apimachinery from 0.29.2 to 0.29.3 (in-toto#411) 7528df2d chore: bump follow-redirects from 1.15.5 to 1.15.6 in /docs-website (in-toto#410) 3fc10e4e chore: bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (in-toto#409) bb8b3c07 chore: bump the go_modules group group with 2 updates (in-toto#408) 910d630e Witness website netlify (in-toto#394) a4c40293 doc: fix example in signers kms doc (in-toto#403) 09f8cbb2 fix: run e2e test script as part of workflows (in-toto#397) e54d8be3 chore: bump actions/download-artifact from 4.1.2 to 4.1.4 (in-toto#399) feac3aa7 chore: bump github/codeql-action from 3.24.5 to 3.24.6 (in-toto#400) 3c8d14d6 chore: bump actions/cache from 4.0.0 to 4.0.1 (in-toto#401) 997af3b5 Bump to go-witness v0.3.1 (in-toto#398) dcac011c chore: bump github/codeql-action from 3.24.3 to 3.24.5 (in-toto#396) c211bfee chore: bump actions/dependency-review-action from 4.1.1 to 4.1.3 (in-toto#395) 0df242bb chore: bump actions/dependency-review-action from 4.0.0 to 4.1.1 (in-toto#392) db7a2664 chore: bump github/codeql-action from 3.24.0 to 3.24.3 (in-toto#391) 161286db chore: bump fossas/fossa-action from 1.3.1 to 1.3.3 (in-toto#390) f772f2db chore: bump golangci/golangci-lint-action from 3.7.0 to 4.0.0 (in-toto#387) 001a113b chore: bump k8s.io/apimachinery from 0.26.13 to 0.26.14 (in-toto#386) e438568f chore: bump testifysec/witness-run-action from 0.1.3 to 0.1.5 (in-toto#389) 17bdb4ed Add Tom as a Witness maintainer (in-toto#385) c27a4f56 KMS Support (in-toto#376) be37eeee chore: bump actions/upload-artifact from 4.3.0 to 4.3.1 (in-toto#383) 58fe0939 chore: bump actions/download-artifact from 4.1.1 to 4.1.2 (in-toto#382) 1144fa56 chore: bump sigstore/cosign-installer from 3.3.0 to 3.4.0 (in-toto#380) 3195add2 chore: bump step-security/harden-runner from 2.6.1 to 2.7.0 (in-toto#379) 2923f967 chore: bump github/codeql-action from 3.23.2 to 3.24.0 (in-toto#378) 0e7dda92 Add back license scanning badge (in-toto#377) dfd64fe7 Updated witness to use changes made to `cryptoutil.DigestValue` implemented in go-witness (in-toto#371) 58d5516f chore: bump github/codeql-action from 3.23.1 to 3.23.2 (in-toto#370) cd18d5eb chore: bump actions/upload-artifact from 4.2.0 to 4.3.0 (in-toto#369) 1bbd0e84 Updating timestamper (in-toto#367) df179e2e Fixing mistakes in the readme (in-toto#368) b90f41ba README and docs restructure (in-toto#362) 2b872a34 chore: bump actions/dependency-review-action from 3.1.5 to 4.0.0 (in-toto#366) 9247c817 chore: bump github/codeql-action from 3.23.0 to 3.23.1 (in-toto#365) 55418b54 chore: bump actions/upload-artifact from 4.1.0 to 4.2.0 (in-toto#363) 272e492b chore: bump actions/cache from 3.3.3 to 4.0.0 (in-toto#364) git-subtree-dir: subtrees/witness git-subtree-split: 74f6c3dcb07ad6b6c2e67eede125bca3ef302793 * chore: merge-conflict with Archivista 0.4.0 * chore(go-witness): update go-witness to use new store with http client methods --------- Signed-off-by: Kris Coleman <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Mikhail Swift <[email protected]> Co-authored-by: Mikhail Swift <[email protected]> Co-authored-by: David Lake <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cole <[email protected]> Co-authored-by: Nick Kane <[email protected]>
What this PR does / why we need it
Support use case of private archivista deployments where getting witness
may be difficult. Also support use case of folks having custom builds of
witness to distribute. Extended to be a more generic artifact store for
additional tools.
Which issue(s) this PR fixes (optional)
(optional, using
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when the PR gets merged)*Fixes #
Acceptance Criteria Met
Special notes for your reviewer: