Description
This issue is the proposal to extend verify-resource subcommand to allow the following features.
verify-resource subcommand allows user to inspect resources according to the sigstore signing.
k8s manifest file is used to to deploy resources onto cluster by using kubectl. Many k8s apps are using this installation pattern today.
k8s manifest file is uploaded as bundle image to OCI registry, and signed by using cosign sign.
Later, user want to verify if the current state of resources are not tampered (unchanged from the state defined in the signed k8s manifest file).
In this verification, signed manifest is specified in metadata annotation of each resources, or command option explicitly.
If the resource is not changed from the signed manifest, it is reported as valid.
Two usage patterns of this sub-command.
A user specifies the resources by command options and checks if they are not changed from signed manifest. (signed manifest specified in metadata annotation is used in this case.)
[x] allow user to specify resources by bundle image
[x] support both keyless and keyed signing
[x] output format (pretty, json, yaml)
[x] allow to specify configuration to skip check
Expected
Usage:
kubectl sigstore verify-resource (RESOURCE/NAME | -f FILENAME | -i IMAGE) [options]
Flags:
-c, --config string path to verification config YAML file (for advanced verification)
-f, --filename string manifest filename
-i, --image string a comma-separated list of signed image names that contains YAML manifests
-k, --key string path to your signing key (if empty, do key-less signing)
-n, --namespace string If present, the namespace scope for this CLI request
-o, --output string output format string, either "json" or "yaml" (if empty, a result is shown as a table)
Description This issue is the proposal to extend verify-resource subcommand to allow the following features.
verify-resource subcommand allows user to inspect resources according to the sigstore signing.
In this verification, signed manifest is specified in metadata annotation of each resources, or command option explicitly. If the resource is not changed from the signed manifest, it is reported as
valid
.Two usage patterns of this sub-command.
A user specifies the resources by command options and checks if they are not changed from signed manifest. (signed manifest specified in metadata annotation is used in this case.)
Resources can be specified by manifest.
A user specifies the signed manifest and verifies if the resources deployed from the manifest is not changed from the signed state
Features to be extended
Expected