Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetAndVerifyImageSignatureMetadata ¶
func GetAndVerifyImageSignatureMetadata(ctx context.Context, artifactClient artifacts.ArtifactsClient, configProvider common.ConfigurationProvider, compartmentId string, compartmentIdInSubtree bool, repositoryName string, imageDigest string, trustedKeys []string) (bool, error)
GetAndVerifyImageSignatureMetadata calls OCIR to list all the signatures satisfying the user provided criterion then calls KMS to verify the returned signatures
Description: Fetch a container image signature metadata and verity the signature Response: Boolean to indicate if any of the signatures of the container image is verified Parameters: - compartmentId: description: The OCID of the compartment in which the container repository exists. eg) ocid1.compartment.oc1..exampleuniqueID maxLength: 100 minLength: 1 - compartmentIdInSubtree: description: When set to true, the hierarchy of compartments is traversed - repositoryName: description: The repository name in which the container image exists eg) busybox - imageDigest: description: The sha256 digest of the docker image. eg) sha256:12345 - trustedKeys: description: List of OCIDs of the kmsKeyId used to sign the container image.
func SignAndUploadContainerImageSignatureMetadata ¶
func SignAndUploadContainerImageSignatureMetadata(ctx context.Context, artifactClient artifacts.ArtifactsClient, configProvider common.ConfigurationProvider, kmsKeyId string, kmsKeyVersionId string, signingAlgorithm string, compartmentId string, imageId string, description string, metadata string) (*artifacts.ContainerImageSignature, error)
SignAndUploadContainerImageSignatureMetadata calls KMS to sign the message then calls OCIR to upload the returned signature
Description: Sign a container image and upload the signature to the image Response: The signed container image signature metadata. Parameters: - kmsKeyId: description: The OCID of the kmsKeyId used to sign the container image. eg) ocid1.key.oc1..exampleuniqueID maxLength: 255 minLength: 1 - kmsKeyVersionId: description: The OCID of the kmsKeyVersionId used to sign the container image. eg) ocid1.keyversion.oc1..exampleuniqueID maxLength: 255 minLength: 1 - signingAlgorithm: - description: The algorithm to be used for signing. These are the only supported signing algorithms for container images. - SHA_224_RSA_PKCS_PSS - SHA_256_RSA_PKCS_PSS - SHA_384_RSA_PKCS_PSS - SHA_512_RSA_PKCS_PSS - compartmentId: description: The OCID of the compartment in which the container repository exists. eg) ocid1.compartment.oc1..exampleuniqueID maxLength: 100 minLength: 1 - imageId: description: The OCID of the container image. eg) ocid1.containerimage.oc1..exampleuniqueID maxLength: 255 minLength: 1 - repoPath: description The docker repository path. eg) odx-registry/busybox - imageDigest: description: The sha256 digest of the docker image. eg) sha256:12345 - description: description: An user inputted message. - metadata: description: An user defined information about the container image in JSON format eg) {"buildNumber":"123"} restriction: - should only contains alphanumeric key strings. - should be alphabetically sorted. - should not have whitespaces or escape characters.
Types ¶
type Message ¶
type Message struct { Description string `mandatory:"true" json:"description"` ImageDigest string `mandatory:"true" json:"imageDigest"` KmsKeyId string `mandatory:"true" json:"kmsKeyId"` KmsKeyVersionId string `mandatory:"true" json:"kmsKeyVersionId"` Metadata string `mandatory:"true" json:"metadata"` Region string `mandatory:"true" json:"region"` RepositoryName string `mandatory:"true" json:"repositoryName"` SigningAlgorithm string `mandatory:"true" json:"signingAlgorithm"` }
Message defines the struct of container image signature payload
Click to show internal directories.
Click to hide internal directories.