You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Flux currently supports cosign as a verification method to check HelmCharts and OCIRepositories are signed by the source author. This proposal is to start the conversation around introducing notation as another method for validating signed artifacts.
Current Setup (Cosign)
Currently, to verify OCIRepository and HelmChart using cosign (using known public keys) you'd deploy something like this:
If you use the keyless option you'd omit spec.verify.secretRef from your configuration.
Notation Integration Proposal
Notation requires 2 components to function correctly. A pubic .pem key and a trust store/policy. There are two ways I can think of moving forward and they are:
Option 1 - Reusing the Existing Secret Reference
Just like with cosign, the trust store + trust policy could be included as part of the secret reference along with the public keys. Something like so:
Note: I have implemented this approach as part of my POC as at the time I felt it was the path of least resistance.
Option 2 - Creating a CRD for Notation Public Key and Trust Store
This option would require a new CRD just for the sake of notation. I'm thinking something a long the lines of how Ratify has implemented the trust store. Something like this:
I vote for Option 1. I would not want to maintain a dedicated CRD for Notation in Flux, as this would mean creating CRDs for cosign, openpgp, gitsign, sshsign, etc.
We can make it easy for Notation users to generate the secret with the Flux CLI by adding a new subcommand to flux create secret e.g. flux create secret notation --trust-store --trust-policy.
Flux currently supports cosign as a verification method to check
HelmCharts
andOCIRepositories
are signed by the source author. This proposal is to start the conversation around introducing notation as another method for validating signed artifacts.Current Setup (Cosign)
Currently, to verify
OCIRepository
andHelmChart
using cosign (using known public keys) you'd deploy something like this:With
spec.verify.secretRef.name
secret structured like so:If you use the keyless option you'd omit
spec.verify.secretRef
from your configuration.Notation Integration Proposal
Notation requires 2 components to function correctly. A pubic
.pem
key and a trust store/policy. There are two ways I can think of moving forward and they are:Option 1 - Reusing the Existing Secret Reference
Just like with cosign, the trust store + trust policy could be included as part of the secret reference along with the public keys. Something like so:
Benefit:
Note: I have implemented this approach as part of my POC as at the time I felt it was the path of least resistance.
Option 2 - Creating a CRD for Notation Public Key and Trust Store
This option would require a new CRD just for the sake of notation. I'm thinking something a long the lines of how Ratify has implemented the trust store. Something like this:
Your secret reference could look something like this:
And you would reference the verifier like so:
Benefit:
The text was updated successfully, but these errors were encountered: