Skip to content
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

docs: Create proposal for verifying 'last-n' artifacts only. #1797

Merged
merged 6 commits into from
Oct 22, 2024

Conversation

asafalgawi
Copy link
Contributor

@asafalgawi asafalgawi commented Sep 12, 2024

Description

What this PR does / why we need it:

This PR adds a proposal for filtering artifacts based on their annotations before forwarding them to verification by one of the configured verifiers.]

The PR refers to issue #1772

Type of change

Added document to proposal directory.

@asafalgawi asafalgawi changed the title Create proposal for annotation-based filtering docs: Create proposal for annotation-based filtering Sep 12, 2024
spec:
name: # REQUIRED: [string], the unique type of the verifier (notation, cosign)
artifactType: # REQUIRED: [string], comma seperated list, artifact type this verifier handles
artifactAgeFilter: # Optional: [string], one of the following 'latest' to verify only the last artifact, or all to verify all artifacts. defaults to all.
Copy link
Collaborator

@susanshi susanshi Sep 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if artifactAgeFilter may contain different values based on verifier, should this be moved to "parameters"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added it here because each verifier/namespaced verifier configuration is evaluated as a different "verifier" by ratify.

Since the properties part is parsed by the verifier code itself, and as you said, we wish to filter in the executor, then it would be better to place those fields outside the scope of parameters.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Basically, age-based filtering is just one special case of annotation-based filtering. It would be better to have a uniform param for the overall filtering feature.

@susanshi
Copy link
Collaborator

Hi @asafalgawi , thank you for the proposal. We have discussed this during the community meeting. We agree with the "latest" vulnerability report user scenario, however we need to understand the feasibility and scope of change. @binbin-li brought up good point today, the individual verifier might not have filtering abilities. Major refactoring might be required in executor code path. We still require more time to understand the notary scenarios a bit more, thankyou for your patience.

@asafalgawi
Copy link
Contributor Author

Hi @susanshi, thanks for the reviewing the proposal and for the update :)

Copy link
Collaborator

@yizha1 yizha1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @asafalgawi . I left some comments.

## Problem/Motivation

When configuring a verifier in Ratify, we set the artifact type the verifier should work on. In such case, Ratify will verify all referrers of a given subject that have a matching artifact type using the verifier.
In some cases, this could lead to a wrong behavior. For instance, Vulnerability Artifacts are outdated once a new artifact is written to the repository, as such there is no use for verifying both the new one and the old one. On the other hand, in performing signature verification using Notary, we may wish to attest more than one signature, because there may be multiple signatures attached to a given artifact, but our "tenant" only trusts a subset of them.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
In some cases, this could lead to a wrong behavior. For instance, Vulnerability Artifacts are outdated once a new artifact is written to the repository, as such there is no use for verifying both the new one and the old one. On the other hand, in performing signature verification using Notary, we may wish to attest more than one signature, because there may be multiple signatures attached to a given artifact, but our "tenant" only trusts a subset of them.
In some cases, this could lead to a wrong behavior. For instance, Vulnerability Artifacts are outdated once a new artifact is written to the repository, as such there is no use for verifying both the new one and the old one. On the other hand, in performing Notary Project signature verification, we may wish to attest more than one signature, because there may be multiple signatures attached to a given artifact, but our "tenant" only trusts a subset of them.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current behavior of Notary Project signature verification is:

  • if 1 out of N signatures passes verification, then the overall signature verification succeeds.
  • If all signatures failed validation, then the overall signature verification fails

Copy link
Collaborator

@yizha1 yizha1 Sep 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@binbin-li If I remembered correctly, verifying multiple signatures can be achieved through Rego policies?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both config policy and rego policy can verify multiple signatures but only rego policy engine supports using multiple Notation verifiers validates the same Notation signature.

"digest": "sha256:b5b2b2c507a0944348e0303114d8d93aaaa081732b864",
"signatures": [
{
"mediaType": "applicaiton/vnd.cncf.notary.x509-signature.config.v2",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this media type applicaiton/vnd.cncf.notary.x509-signature.config.v2 correct?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I copied it from their website, perhaps it is not up to date, i'll check again and update the doc.


# Filtration Methods

## Age Based Filtration
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is still annotation-based filtration, and it just uses the annotation org.opencontainers.image.created to achieve the goal. So I think there is only one filtration method, but currently there are two scenarios, one is for filtering out latest artifact, another is for filtering out a subset of artifacts.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is, but the verification process of both is different.
Age based verification requires context, you need to be aware of all the referrers, while annotation based in specific to the artifact that is currently being verified.

While age based has to be implemented in the executor, the annotation filtering can be done even in the skel method of the verifier, it could return a new type of response to show that verification was skipped and the artifact won't be included in the final verification response.

Perhaps we should not bundle both features in the same proposal ?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

^^ I think this is a good point. age based filtering vs generic annotation based filtering operate at different levels of Ratify

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It makes sense to have the overall filtering code in both executor and verifiers in terms of the current Ratify design. I just feel if we need to do some sorting, e.g. latest artifact, it should reside in the corresponding verifier instead of executor since not all verifiers require sorted artifacts and verifier's configuration should not affect executor's behavior.

```

We could define a notation verifier configuration that would require the artifact manifest to contain the annotation `org.opencontainers.image.signature.fingerprint` and that is should have a known fingerprint value. this would enable a scenario where the user configures three notation verifiers, one in each namespace:
* Namepsace A -> Fingerprint should match [X]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you elaborate more about the problem that fingerprint filtering is going to be solved? If it is to distinguish different signers, we can configure Notation Verifier with different trusted identities for different namespaces. For example, images pulled in namespace A are signed by Signer-A, then we can configure the trusted identities that Signer-A used for namespace A.

Or is your scenario to distinguish signatures that are generated by the same Signer (trusted identity)? Then what is the difference in signatures generated by the same Signer? If it is about age, maybe we can use aged-filtering to verify only the latest signature?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. Basically, I referred to a scenario in which I as a namespace owner I require that all certificate chains will contains a specific signer, since the signature chain is part of the artifact annotations, I can verify it before even going through all whole process of verifying the actual signature.

@susanshi
Copy link
Collaborator

susanshi commented Sep 23, 2024

Hi @asafalgawi , thank you for the proposal. We have discussed this during the community meeting. We agree with the "latest" vulnerability report user scenario, however we need to understand the feasibility and scope of change. @binbin-li brought up good point today, the individual verifier might not have filtering abilities. Major refactoring might be required in executor code path. We still require more time to understand the notary scenarios a bit more, thankyou for your patience.

Hi @asafalgawi, reviewing our current executor path below, we want to explore a bit more on the proposed implementation. How will the executor be refactored for filtering? Note we will not be able to change the verifier interfaces to maintain backward compatibility. If the current PR review meeting and community meeting time doesn't work, would you be open to meet and discuss in the once off meeting?

for _, referrerStore := range executor.ReferrerStores {
	for _, reference := range referrersResult.Referrers {  
		for _, verifier := range executor.Verifiers {
                }
        }
}

When configuring a verifier in Ratify, we set the artifact type the verifier should work on. In such case, Ratify will verify all referrers of a given subject that have a matching artifact type using the verifier.
In some cases, this could lead to a wrong behavior. For instance, Vulnerability Artifacts are outdated once a new artifact is written to the repository, as such there is no use for verifying both the new one and the old one. On the other hand, in performing signature verification using Notary, we may wish to attest more than one signature, because there may be multiple signatures attached to a given artifact, but our "tenant" only trusts a subset of them.

The issue with verifying all the matching artifacts could also lead to performance issues, each "verification" process hides within a request to pull the artifcat manifest, and the blobs containing the actual data.
Copy link
Collaborator

@akashsinghal akashsinghal Sep 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The verifier api includes a CanVerify which is invoked by Ratify's executor prior to even invoking the Verify method, although external plugins will need to be considered differently in that the pre-validation filtering will need to exist in the actual plugin implementation. If the verifier defines it's own behavior for annotation filtering here, then there would be no extra registry request overhead nor executor-level logic required. Age baed filtering can also be done at the CanVerify level if only comparing a specific's artifact age in relation to an absolute timestamp. (Must be newer/older than this timestamp). If relative comparison among artifacts is needed then yes, executor level age filtering is needed.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

^^ I think this is a good point.

Copy link
Contributor Author

@asafalgawi asafalgawi Sep 24, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@akashsinghal, I agree, having the annotation based filtering in the CanVerify method would offer a clean solution for that part of the proposal. We could also define how to setup the filtering in a descriptive way in the Verifier configuration to enable external plugin to make use of this. Since the CanVerify method is implemented internally in the VerifierPlugin "verifier" in Ratify.

As for age based, I don't see a way without first pulling all the references and sorting them/placing them in some sort of heap to enable fast access to the latest artifact.


## Age Based Filtration

Assuming artifacts are generated by ORAS, they all have a `org.opencontainers.image.created` annotation, that markes the creation date of the artifact. Based on it, Ratify could filter out stale artifacts and only evaluate the latest image. To achieve this, Ratify would have to read all the referrers, ordering them based on the artifact age, and only pass the latest one to the corresponding verifier.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happens when this annotation does not exist? What would be default behavior here?

What if the user has a custom annotation for time? Will there be a way to specify that?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the default behavior should be regarding the artifact as the oldest.
As for custom annotations, that could be added to the proposal.
But as far as going with custom date time formatting, I think it is best to formally require the date value to be formatted in specific manner.


## Age Based Filtration

Assuming artifacts are generated by ORAS, they all have a `org.opencontainers.image.created` annotation, that markes the creation date of the artifact. Based on it, Ratify could filter out stale artifacts and only evaluate the latest image. To achieve this, Ratify would have to read all the referrers, ordering them based on the artifact age, and only pass the latest one to the corresponding verifier.
Copy link
Collaborator

@akashsinghal akashsinghal Sep 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

off topic but do we know if there are plans (in distribution spec) for registries to allow for annotation filtering?

@asafalgawi asafalgawi changed the title docs: Create proposal for annotation-based filtering docs: Create proposal for verifying 'last-n' artifacts only. Oct 8, 2024
@asafalgawi
Copy link
Contributor Author

@susanshi I've updated the proposal based on our conversation, also added two implementation proposal. a "simple" one which theoretically impacts Ratify's scalability, the second, a bit more complex, which affects Ratify executor design

@susanshi
Copy link
Collaborator

@susanshi I've updated the proposal based on our conversation, also added two implementation proposal. a "simple" one which theoretically impacts Ratify's scalability, the second, a bit more complex, which affects Ratify executor design

thanks for the updates and comparison between the two implementation methods. My understanding option1 is more straight forward, and given a 1k referrer list, there are no perf and memory concerns. Option 2 memory benefits is unclear. Major refactoring in the executor is risky, unless the refactoring improves code readability /allows for easier future maintaince/ aligns with the direction of ratify v2 executor change. @binbin-li , do you see for executor refactoring benefits for ratify v2?

@susanshi
Copy link
Collaborator

susanshi commented Oct 10, 2024

@asafalgawi , just a note, we are not a cncf sandbox project and there is a new requirement on DCO. You might need to squash the current commits and sign a new commit with the -s flag , git commit -s -S -m <commit_message>. see details at https://github.com/ratify-project/ratify/blob/dev/CONTRIBUTING.md#commit :)

Copy link

codecov bot commented Oct 14, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

see 28 files with indirect coverage changes

@binbin-li
Copy link
Collaborator

@susanshi I've updated the proposal based on our conversation, also added two implementation proposal. a "simple" one which theoretically impacts Ratify's scalability, the second, a bit more complex, which affects Ratify executor design

thanks for the updates and comparison between the two implementation methods. My understanding option1 is more straight forward, and given a 1k referrer list, there are no perf and memory concerns. Option 2 memory benefits is unclear. Major refactoring in the executor is risky, unless the refactoring improves code readability /allows for easier future maintaince/ aligns with the direction of ratify v2 executor change. @binbin-li , do you see for executor refactoring benefits for ratify v2?

For this feature, I'd like to keep executor untouched. For v2 design, I plan to make executor just handle the core coordination among different components(policy, verifier, store). The last-n feature and possibly more filtering options sound more like a verifier feature, therefore executor is not a good place to handle it.

@akashsinghal
Copy link
Collaborator

@asafalgawi I agree with Susan and I think Option 1 seems like a better approach for now. If larger than 1k referrers becomes a user ask, we can revisit this.

@asafalgawi
Copy link
Contributor Author

asafalgawi commented Oct 16, 2024 via email

Copy link
Collaborator

@susanshi susanshi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approved in PR meeting

@susanshi susanshi merged commit cc80ff8 into ratify-project:dev Oct 22, 2024
15 of 16 checks passed
junczhu pushed a commit to junczhu/ratify that referenced this pull request Dec 10, 2024
…-project#1876)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump github.com/prometheus/client_golang from 1.20.4 to 1.20.5 (ratify-project#1877)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump vscode/devcontainers/go from `bdecb4c` to `46f85d1` in /.devcontainer (ratify-project#1879)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

feat: crl cache

Signed-off-by: Juncheng Zhu <[email protected]>

feat: crl cache 2

Signed-off-by: Juncheng Zhu <[email protected]>

feat: crl provider

Signed-off-by: Juncheng Zhu <[email protected]>

feat: added interfaces

Signed-off-by: Juncheng Zhu <[email protected]>

feat: crl refactor

Signed-off-by: Juncheng Zhu <[email protected]>

feat: crl refactor

Signed-off-by: Juncheng Zhu <[email protected]>

feat: crl refactor

Signed-off-by: Juncheng Zhu <[email protected]>

feat: crl refactor

Signed-off-by: Juncheng Zhu <[email protected]>

feat: integrate crl to verifier

Signed-off-by: Juncheng Zhu <[email protected]>

feat: kmp revocationfactory refactor

Signed-off-by: Juncheng Zhu <[email protected]>

chore: bump up go version to 1.22.8 (ratify-project#1880)

Signed-off-by: Binbin Li <[email protected]>
Signed-off-by: Binbin Li <[email protected]>

chore: Bump github.com/sigstore/sigstore from 1.8.9 to 1.8.10 (ratify-project#1878)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

docs: design proposal for tag and digest co-existing [ISSUE 1657] (ratify-project#1793)

docs: add CRL Design (ratify-project#1789)

Signed-off-by: Juncheng Zhu <[email protected]>

docs: Create proposal for verifying 'last-n' artifacts only. (ratify-project#1797)

Signed-off-by: Susan Shi <[email protected]>

docs: nVersionCount support for KMP design doc (ratify-project#1831)

Signed-off-by: Joshua Duffney <[email protected]>

ci: retry trivy db update upon failure (ratify-project#1881)

Signed-off-by: Binbin Li <[email protected]>

chore: Bump anchore/sbom-action from 0.17.4 to 0.17.5 (ratify-project#1882)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

ci: fix tagging in publish-ghcr workflow (ratify-project#1884)

Signed-off-by: Binbin Li <[email protected]>

ci: retry trivy download-db on failure (ratify-project#1883)

Signed-off-by: Binbin Li <[email protected]>

chore: migrate azure-sdk-for-go/containerregistry to the latest release (ratify-project#1829)

Signed-off-by: Shahram Kalantari <[email protected]>

chore: Bump github/codeql-action from 3.26.13 to 3.27.0 (ratify-project#1887)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

feat: crl fetcher

Signed-off-by: Juncheng Zhu <[email protected]>

feat: crl fetcher

Signed-off-by: Juncheng Zhu <[email protected]>

feat: update bytesFetcher

Signed-off-by: Juncheng Zhu <[email protected]>

feat: crl provider

Signed-off-by: Juncheng Zhu <[email protected]>

feat: refactor the interface

Signed-off-by: Juncheng Zhu <[email protected]>

feat: integrate crl to verifier 2

Signed-off-by: Juncheng Zhu <[email protected]>

feat: integrate crl to verifier 2

Signed-off-by: Juncheng Zhu <[email protected]>

chore: update charts (ratify-project#1892)

Signed-off-by: Juncheng Zhu <[email protected]>

chore: Bump actions/checkout from 4.2.1 to 4.2.2 (ratify-project#1893)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump actions/setup-go from 5.0.2 to 5.1.0 (ratify-project#1894)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump k8s.io/apimachinery from 0.28.14 to 0.28.15 (ratify-project#1896)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump distroless/static from `26f9b99` to `3a03fc0` in /httpserver (ratify-project#1899)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump k8s.io/client-go from 0.28.14 to 0.28.15 (ratify-project#1897)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump anchore/sbom-action from 0.17.5 to 0.17.6 (ratify-project#1903)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

feat: allow service account annotations (ratify-project#1907)

Signed-off-by: Maneesh Singh <[email protected]>

feat: add interface for testing

Signed-off-by: Juncheng Zhu <[email protected]>

feat: implemented interface

Signed-off-by: Juncheng Zhu <[email protected]>

feat: implemented interface

Signed-off-by: Juncheng Zhu <[email protected]>

test: working on test cases

Signed-off-by: Juncheng Zhu <[email protected]>

test: working on test cases 2

Signed-off-by: Juncheng Zhu <[email protected]>

test: working on test cases 3

Signed-off-by: Juncheng Zhu <[email protected]>

refactor: add cache constructor into fetcher constructor

Signed-off-by: Juncheng Zhu <[email protected]>

refactor: add cache constructor into fetcher constructor 2

Signed-off-by: Juncheng Zhu <[email protected]>

refactor: add cache constructor into fetcher constructor 3

Signed-off-by: Juncheng Zhu <[email protected]>

test: add cache constructor into fetcher constructor

Signed-off-by: Juncheng Zhu <[email protected]>

test: add cache constructor into fetcher constructor 2

Signed-off-by: Juncheng Zhu <[email protected]>
junczhu pushed a commit to junczhu/ratify that referenced this pull request Dec 10, 2024
…-project#1876)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump github.com/prometheus/client_golang from 1.20.4 to 1.20.5 (ratify-project#1877)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump vscode/devcontainers/go from `bdecb4c` to `46f85d1` in /.devcontainer (ratify-project#1879)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

feat: crl cache

Signed-off-by: Juncheng Zhu <[email protected]>

feat: crl cache 2

Signed-off-by: Juncheng Zhu <[email protected]>

feat: crl provider

Signed-off-by: Juncheng Zhu <[email protected]>

feat: added interfaces

Signed-off-by: Juncheng Zhu <[email protected]>

feat: crl refactor

Signed-off-by: Juncheng Zhu <[email protected]>

feat: crl refactor

Signed-off-by: Juncheng Zhu <[email protected]>

feat: crl refactor

Signed-off-by: Juncheng Zhu <[email protected]>

feat: crl refactor

Signed-off-by: Juncheng Zhu <[email protected]>

feat: integrate crl to verifier

Signed-off-by: Juncheng Zhu <[email protected]>

feat: kmp revocationfactory refactor

Signed-off-by: Juncheng Zhu <[email protected]>

chore: bump up go version to 1.22.8 (ratify-project#1880)

Signed-off-by: Binbin Li <[email protected]>
Signed-off-by: Binbin Li <[email protected]>

chore: Bump github.com/sigstore/sigstore from 1.8.9 to 1.8.10 (ratify-project#1878)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

docs: design proposal for tag and digest co-existing [ISSUE 1657] (ratify-project#1793)

docs: add CRL Design (ratify-project#1789)

Signed-off-by: Juncheng Zhu <[email protected]>

docs: Create proposal for verifying 'last-n' artifacts only. (ratify-project#1797)

Signed-off-by: Susan Shi <[email protected]>

docs: nVersionCount support for KMP design doc (ratify-project#1831)

Signed-off-by: Joshua Duffney <[email protected]>

ci: retry trivy db update upon failure (ratify-project#1881)

Signed-off-by: Binbin Li <[email protected]>

chore: Bump anchore/sbom-action from 0.17.4 to 0.17.5 (ratify-project#1882)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

ci: fix tagging in publish-ghcr workflow (ratify-project#1884)

Signed-off-by: Binbin Li <[email protected]>

ci: retry trivy download-db on failure (ratify-project#1883)

Signed-off-by: Binbin Li <[email protected]>

chore: migrate azure-sdk-for-go/containerregistry to the latest release (ratify-project#1829)

Signed-off-by: Shahram Kalantari <[email protected]>

chore: Bump github/codeql-action from 3.26.13 to 3.27.0 (ratify-project#1887)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

feat: crl fetcher

Signed-off-by: Juncheng Zhu <[email protected]>

feat: crl fetcher

Signed-off-by: Juncheng Zhu <[email protected]>

feat: update bytesFetcher

Signed-off-by: Juncheng Zhu <[email protected]>

feat: crl provider

Signed-off-by: Juncheng Zhu <[email protected]>

feat: refactor the interface

Signed-off-by: Juncheng Zhu <[email protected]>

feat: integrate crl to verifier 2

Signed-off-by: Juncheng Zhu <[email protected]>

feat: integrate crl to verifier 2

Signed-off-by: Juncheng Zhu <[email protected]>

chore: update charts (ratify-project#1892)

Signed-off-by: Juncheng Zhu <[email protected]>

chore: Bump actions/checkout from 4.2.1 to 4.2.2 (ratify-project#1893)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump actions/setup-go from 5.0.2 to 5.1.0 (ratify-project#1894)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump k8s.io/apimachinery from 0.28.14 to 0.28.15 (ratify-project#1896)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump distroless/static from `26f9b99` to `3a03fc0` in /httpserver (ratify-project#1899)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump k8s.io/client-go from 0.28.14 to 0.28.15 (ratify-project#1897)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump anchore/sbom-action from 0.17.5 to 0.17.6 (ratify-project#1903)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

feat: allow service account annotations (ratify-project#1907)

Signed-off-by: Maneesh Singh <[email protected]>

feat: add interface for testing

Signed-off-by: Juncheng Zhu <[email protected]>

feat: implemented interface

Signed-off-by: Juncheng Zhu <[email protected]>

feat: implemented interface

Signed-off-by: Juncheng Zhu <[email protected]>

test: working on test cases

Signed-off-by: Juncheng Zhu <[email protected]>

test: working on test cases 2

Signed-off-by: Juncheng Zhu <[email protected]>

test: working on test cases 3

Signed-off-by: Juncheng Zhu <[email protected]>

refactor: add cache constructor into fetcher constructor

Signed-off-by: Juncheng Zhu <[email protected]>

refactor: add cache constructor into fetcher constructor 2

Signed-off-by: Juncheng Zhu <[email protected]>

refactor: add cache constructor into fetcher constructor 3

Signed-off-by: Juncheng Zhu <[email protected]>

test: add cache constructor into fetcher constructor

Signed-off-by: Juncheng Zhu <[email protected]>

test: add cache constructor into fetcher constructor 2

Signed-off-by: Juncheng Zhu <[email protected]>

feat: kmprevocationfactory impl 1

Signed-off-by: Juncheng Zhu <[email protected]>

chore: Bump github.com/aws/aws-sdk-go-v2 from 1.32.2 to 1.32.3 (ratify-project#1912)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump github.com/aws/aws-sdk-go-v2/credentials from 1.17.41 to 1.17.42 (ratify-project#1911)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump github.com/AzureAD/microsoft-authentication-library-for-go from 1.2.2 to 1.2.3 (ratify-project#1910)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump anchore/sbom-action from 0.17.6 to 0.17.7 (ratify-project#1915)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 (ratify-project#1916)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

feat: support enabled status for kmp keys/certs (ratify-project#1874)

Signed-off-by: Joshua Duffney <[email protected]>

ci: add cron job to cache trivy db (ratify-project#1918)

Signed-off-by: Binbin Li <[email protected]>

fix: fix the conditional check on update-trivy-cache job (ratify-project#1919)

Signed-off-by: Binbin Li <[email protected]>

feat: add support for crl basic functionality with built-in cache (ratify-project#1890)

Signed-off-by: Juncheng Zhu <[email protected]>
Co-authored-by: Binbin Li <[email protected]>

chore: Bump goreleaser/goreleaser-action from 6.0.0 to 6.1.0 (ratify-project#1920)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump github/codeql-action from 3.27.0 to 3.27.1 (ratify-project#1922)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump github.com/aws/aws-sdk-go-v2/credentials from 1.17.42 to 1.17.44 (ratify-project#1923)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump golang from `0ca97f4` to `4cfe4a9` in /httpserver (ratify-project#1925)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump github/codeql-action from 3.27.1 to 3.27.3 (ratify-project#1926)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

feat: support alibaba cloud rrsa store auth provider  (ratify-project#1909)

Signed-off-by: dahu.kdh <[email protected]>

feat: kmprevocationfactory impl 3

Signed-off-by: Juncheng Zhu <[email protected]>

feat: kmprevocationfactory impl

Signed-off-by: Juncheng Zhu <[email protected]>

feat: kmprevocationfactory impl 2

Signed-off-by: Juncheng Zhu <[email protected]>

feat: kmprevocationfactory impl 3

Signed-off-by: Juncheng Zhu <[email protected]>

feat: kmprevocationfactory impl 4

Signed-off-by: Juncheng Zhu <[email protected]>

feat: kmprevocationfactory impl 5

Signed-off-by: Juncheng Zhu <[email protected]>

chore: kmprevocationfactory reform

Signed-off-by: Juncheng Zhu <[email protected]>

feat: update implementations

Signed-off-by: Juncheng Zhu <[email protected]>

feat: update implementations 2

Signed-off-by: Juncheng Zhu <[email protected]>

feat: update implementations 3

Signed-off-by: Juncheng Zhu <[email protected]>

feat: update implementations 4

Signed-off-by: Juncheng Zhu <[email protected]>

feat: update implementations 5

Signed-off-by: Juncheng Zhu <[email protected]>

feat: update implementations 6

Signed-off-by: Juncheng Zhu <[email protected]>

feat: update implementations 7

Signed-off-by: Juncheng Zhu <[email protected]>

feat: update implementations 8

Signed-off-by: Juncheng Zhu <[email protected]>

chore: Bump github/codeql-action from 3.27.3 to 3.27.4 (ratify-project#1929)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump alpine from `beefdbd` to `1e42bbe` (ratify-project#1937)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump golang from `4cfe4a9` to `147f428` in /httpserver (ratify-project#1936)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump distroless/static from `3a03fc0` to `d71f4b2` in /httpserver (ratify-project#1935)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump github.com/aliyun/credentials-go from 1.3.10 to 1.3.11 (ratify-project#1934)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump github.com/aws/aws-sdk-go-v2/credentials from 1.17.44 to 1.17.45 (ratify-project#1933)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump codecov/codecov-action from 4.6.0 to 5.0.2 (ratify-project#1932)

Signed-off-by: dependabot[bot] <[email protected]>

chore: Replace deprecated autorest SDK with azidentity (ratify-project#1904)

Signed-off-by: Shahram Kalantari <[email protected]>

chore: Bump step-security/harden-runner from 2.10.1 to 2.10.2 (ratify-project#1938)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump codecov/codecov-action from 5.0.2 to 5.0.4 (ratify-project#1939)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump codecov/codecov-action from 5.0.4 to 5.0.7 (ratify-project#1946)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump github/codeql-action from 3.27.4 to 3.27.5 (ratify-project#1945)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump anchore/sbom-action from 0.17.7 to 0.17.8 (ratify-project#1948)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump github.com/aws/aws-sdk-go-v2/credentials from 1.17.45 to 1.17.46 (ratify-project#1953)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

fix: add missing pod annotations and labels to deployment spec (ratify-project#1949)

Signed-off-by: akashsinghal <[email protected]>

chore: revert changes in AKV KMP provider

Signed-off-by: Juncheng Zhu <[email protected]>

chore: add more comments

Signed-off-by: Juncheng Zhu <[email protected]>

chore: add more comments and fix

Signed-off-by: Juncheng Zhu <[email protected]>

chore: update logging

Signed-off-by: Juncheng Zhu <[email protected]>

chore: update test

Signed-off-by: Juncheng Zhu <[email protected]>

chore: update test 2

Signed-off-by: Juncheng Zhu <[email protected]>

chore: limited changes 3

Signed-off-by: Juncheng Zhu <[email protected]>

chore: more changes applied

Signed-off-by: Juncheng Zhu <[email protected]>

chore: Bump github.com/sigstore/rekor from 1.3.6 to 1.3.7 (ratify-project#1952)

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Susan Shi <[email protected]>
Signed-off-by: Binbin Li <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: bump up golangci-lint version (ratify-project#1961)

Signed-off-by: Binbin Li <[email protected]>

fix(tls): allowing TLS when crd-manager disabled (ratify-project#1954)

Signed-off-by: Jordan Langue <[email protected]>

chore: Bump github.com/aws/aws-sdk-go-v2/config from 1.28.3 to 1.28.6 (ratify-project#1957)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: Bump distroless/static from `d71f4b2` to `6cd937e` in /httpserver (ratify-project#1960)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: fix go-lint

Signed-off-by: Juncheng Zhu <[email protected]>

chore: improve codecov

Signed-off-by: Juncheng Zhu <[email protected]>

chore: fix golint

Signed-off-by: Juncheng Zhu <[email protected]>

chore: remove the CRL Cache in truststore

Signed-off-by: Juncheng Zhu <[email protected]>

chore: renaming func

Signed-off-by: Juncheng Zhu <[email protected]>

chore: fix 1

Signed-off-by: Juncheng Zhu <[email protected]>

chore: fix 2

Signed-off-by: Juncheng Zhu <[email protected]>

chore: Bump github/codeql-action from 3.27.5 to 3.27.6 (ratify-project#1963)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore: add more test case

Signed-off-by: Juncheng Zhu <[email protected]>

chore: fix golint

Signed-off-by: Juncheng Zhu <[email protected]>

chore: fix codecov

Signed-off-by: Juncheng Zhu <[email protected]>

chore: fix context reference

Signed-off-by: Juncheng Zhu <[email protected]>

chore: fix golint

Signed-off-by: Juncheng Zhu <[email protected]>

build: add image signing for all release images (ratify-project#1947)

Signed-off-by: Akash Singhal <[email protected]>

chore: Bump golang from `73f06be` to `574185e` in /httpserver (ratify-project#1973)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants