v1alpha1

package
v0.0.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 14, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the validation v1alpha1 API group +kubebuilder:object:generate=true +groupName=validation.spectrocloud.labs

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "validation.spectrocloud.labs", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type Artifact

type Artifact struct {
	// Ref is the path to the artifact in the host registry that should be validated.
	// An individual artifact can take any of the following forms:
	// <repository-path>/<artifact-name>
	// <repository-path>/<artifact-name>:<tag>
	// <repository-path>/<artifact-name>@<digest>
	//
	// When no tag or digest are specified, the default tag "latest" is used.
	Ref string `json:"ref" yaml:"ref"`

	// LayerValidation specifies whether deep validation of the artifact layers should be performed.
	// The existence of layers is always validated, but this option allows for the deep validation of the layers.
	// See more details here:
	// https://github.com/google/go-containerregistry/blob/8dadbe76ff8c20d0e509406f04b7eade43baa6c1/pkg/v1/validate/image.go#L105
	LayerValidation bool `json:"layerValidation,omitempty" yaml:"layerValidation,omitempty"`
}

func (*Artifact) DeepCopy

func (in *Artifact) DeepCopy() *Artifact

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Artifact.

func (*Artifact) DeepCopyInto

func (in *Artifact) DeepCopyInto(out *Artifact)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Auth

type Auth struct {
	// SecretName is the name of the Kubernetes Secret that exists in the same namespace as the OciValidator
	// and that contains the credentials used to authenticate to the OCI Registry
	SecretName string `json:"secretName" yaml:"secretName"`
}

func (*Auth) DeepCopy

func (in *Auth) DeepCopy() *Auth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Auth.

func (*Auth) DeepCopyInto

func (in *Auth) DeepCopyInto(out *Auth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OciRegistryRule

type OciRegistryRule struct {
	// Name is the name of the rule
	RuleName string `json:"name" yaml:"name"`

	// Host is a reference to the host URL of an OCI compliant registry
	Host string `json:"host" yaml:"host"`

	// Artifacts is a slice of artifacts in the host registry that should be validated.
	Artifacts []Artifact `json:"artifacts,omitempty" yaml:"artifacts,omitempty"`

	// Auth provides authentication information for the registry
	Auth Auth `json:"auth,omitempty" yaml:"auth,omitempty"`

	// CaCert is the base64 encoded CA Certificate
	CaCert string `json:"caCert,omitempty" yaml:"caCert,omitempty"`

	// SignatureVerification provides the option to verify the signature of the image
	SignatureVerification SignatureVerification `json:"signatureVerification,omitempty" yaml:"signatureVerification,omitempty"`
}

func (*OciRegistryRule) DeepCopy

func (in *OciRegistryRule) DeepCopy() *OciRegistryRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OciRegistryRule.

func (*OciRegistryRule) DeepCopyInto

func (in *OciRegistryRule) DeepCopyInto(out *OciRegistryRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (OciRegistryRule) Name

func (r OciRegistryRule) Name() string

type OciValidator

type OciValidator struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   OciValidatorSpec   `json:"spec,omitempty"`
	Status OciValidatorStatus `json:"status,omitempty"`
}

OciValidator is the Schema for the ocivalidators API

func (*OciValidator) DeepCopy

func (in *OciValidator) DeepCopy() *OciValidator

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OciValidator.

func (*OciValidator) DeepCopyInto

func (in *OciValidator) DeepCopyInto(out *OciValidator)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OciValidator) DeepCopyObject

func (in *OciValidator) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OciValidatorList

type OciValidatorList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []OciValidator `json:"items"`
}

OciValidatorList contains a list of OciValidator

func (*OciValidatorList) DeepCopy

func (in *OciValidatorList) DeepCopy() *OciValidatorList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OciValidatorList.

func (*OciValidatorList) DeepCopyInto

func (in *OciValidatorList) DeepCopyInto(out *OciValidatorList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OciValidatorList) DeepCopyObject

func (in *OciValidatorList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OciValidatorSpec

type OciValidatorSpec struct {
	// +kubebuilder:validation:MaxItems=5
	// +kubebuilder:validation:XValidation:message="OciRegistryRules must have a unique RuleName",rule="self.all(e, size(self.filter(x, x.name == e.name)) == 1)"
	OciRegistryRules []OciRegistryRule `json:"ociRegistryRules,omitempty" yaml:"ociRegistryRules,omitempty"`
}

OciValidatorSpec defines the desired state of OciValidator

func (*OciValidatorSpec) DeepCopy

func (in *OciValidatorSpec) DeepCopy() *OciValidatorSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OciValidatorSpec.

func (*OciValidatorSpec) DeepCopyInto

func (in *OciValidatorSpec) DeepCopyInto(out *OciValidatorSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (OciValidatorSpec) ResultCount

func (s OciValidatorSpec) ResultCount() int

type OciValidatorStatus

type OciValidatorStatus struct{}

OciValidatorStatus defines the observed state of OciValidator

func (*OciValidatorStatus) DeepCopy

func (in *OciValidatorStatus) DeepCopy() *OciValidatorStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OciValidatorStatus.

func (*OciValidatorStatus) DeepCopyInto

func (in *OciValidatorStatus) DeepCopyInto(out *OciValidatorStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SignatureVerification added in v0.0.5

type SignatureVerification struct {
	// Provider specifies the technology used to sign the OCI Artifact
	// +kubebuilder:validation:Enum=cosign
	// +kubebuilder:default:=cosign
	Provider string `json:"provider" yaml:"provider"`

	// SecretName is the name of the Kubernetes Secret that exists in the same namespace as the OciValidator
	// and that contains the trusted public keys used to sign artifacts in the OciRegistryRule
	SecretName string `json:"secretName" yaml:"secretName"`
}

func (*SignatureVerification) DeepCopy added in v0.0.5

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SignatureVerification.

func (*SignatureVerification) DeepCopyInto added in v0.0.5

func (in *SignatureVerification) DeepCopyInto(out *SignatureVerification)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL