Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the appstudio.redhat.com v1alpha1 API group +kubebuilder:object:generate=true +groupName=appstudio.redhat.com
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "appstudio.redhat.com", 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 )
var Schema string
Functions ¶
This section is empty.
Types ¶
type EnterpriseContractPolicy ¶
type EnterpriseContractPolicy struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec EnterpriseContractPolicySpec `json:"spec,omitempty"`
Status EnterpriseContractPolicyStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:resource:categories={all},shortName={ecp} +kubebuilder:subresource:status EnterpriseContractPolicy is the Schema for the enterprisecontractpolicies API
func (*EnterpriseContractPolicy) DeepCopy ¶
func (in *EnterpriseContractPolicy) DeepCopy() *EnterpriseContractPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnterpriseContractPolicy.
func (*EnterpriseContractPolicy) DeepCopyInto ¶
func (in *EnterpriseContractPolicy) DeepCopyInto(out *EnterpriseContractPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnterpriseContractPolicy) DeepCopyObject ¶
func (in *EnterpriseContractPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EnterpriseContractPolicyConfiguration ¶
type EnterpriseContractPolicyConfiguration struct {
// Exclude set of policy exclusions that, in case of failure, do not block
// the success of the outcome.
// +optional
// +listType:=set
Exclude []string `json:"exclude,omitempty"`
// Include set of policy inclusions that are added to the policy evaluation.
// These override excluded rules.
// +optional
// +listType:=set
Include []string `json:"include,omitempty"`
// Collections set of predefined rules. DEPRECATED: Collections can be listed in include
// with the "@" prefix.
// +optional
// +listType:=set
Collections []string `json:"collections,omitempty"`
}
EnterpriseContractPolicyConfiguration configuration of modifications to policy evaluation. DEPRECATED: Use the config for a policy source instead.
func (*EnterpriseContractPolicyConfiguration) DeepCopy ¶
func (in *EnterpriseContractPolicyConfiguration) DeepCopy() *EnterpriseContractPolicyConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnterpriseContractPolicyConfiguration.
func (*EnterpriseContractPolicyConfiguration) DeepCopyInto ¶
func (in *EnterpriseContractPolicyConfiguration) DeepCopyInto(out *EnterpriseContractPolicyConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnterpriseContractPolicyList ¶
type EnterpriseContractPolicyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []EnterpriseContractPolicy `json:"items"`
}
EnterpriseContractPolicyList contains a list of EnterpriseContractPolicy
func (*EnterpriseContractPolicyList) DeepCopy ¶
func (in *EnterpriseContractPolicyList) DeepCopy() *EnterpriseContractPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnterpriseContractPolicyList.
func (*EnterpriseContractPolicyList) DeepCopyInto ¶
func (in *EnterpriseContractPolicyList) DeepCopyInto(out *EnterpriseContractPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnterpriseContractPolicyList) DeepCopyObject ¶
func (in *EnterpriseContractPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EnterpriseContractPolicySpec ¶
type EnterpriseContractPolicySpec struct {
// Optional name of the policy
// +optional
Name string `json:"name,omitempty"`
// Description of the policy or its intended use
// +optional
Description string `json:"description,omitempty"`
// One or more groups of policy rules
// +kubebuilder:validation:MinItems:=1
Sources []Source `json:"sources,omitempty"`
// Configuration handles policy modification configuration (exclusions and inclusions)
// +optional
Configuration *EnterpriseContractPolicyConfiguration `json:"configuration,omitempty"`
// URL of the Rekor instance. Empty string disables Rekor integration
// +optional
RekorUrl string `json:"rekorUrl,omitempty"`
// Public key used to validate the signature of images and attestations
// +optional
PublicKey string `json:"publicKey,omitempty"`
// Identity to be used for keyless verification. This is an experimental feature.
// +optional
Identity *Identity `json:"identity,omitempty"`
}
EnterpriseContractPolicySpec is used to configure the Enterprise Contract Policy
func (*EnterpriseContractPolicySpec) DeepCopy ¶
func (in *EnterpriseContractPolicySpec) DeepCopy() *EnterpriseContractPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnterpriseContractPolicySpec.
func (*EnterpriseContractPolicySpec) DeepCopyInto ¶
func (in *EnterpriseContractPolicySpec) DeepCopyInto(out *EnterpriseContractPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnterpriseContractPolicyStatus ¶
type EnterpriseContractPolicyStatus struct {
}
EnterpriseContractPolicyStatus defines the observed state of EnterpriseContractPolicy
func (*EnterpriseContractPolicyStatus) DeepCopy ¶
func (in *EnterpriseContractPolicyStatus) DeepCopy() *EnterpriseContractPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnterpriseContractPolicyStatus.
func (*EnterpriseContractPolicyStatus) DeepCopyInto ¶
func (in *EnterpriseContractPolicyStatus) DeepCopyInto(out *EnterpriseContractPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Identity ¶
type Identity struct {
// Subject is the URL of the certificate identity for keyless verification.
// +optional
Subject string `json:"subject,omitempty"`
// SubjectRegExp is a regular expression to match the URL of the certificate identity for
// keyless verification.
// +optional
SubjectRegExp string `json:"subjectRegExp,omitempty"`
// Issuer is the URL of the certificate OIDC issuer for keyless verification.
// +optional
Issuer string `json:"issuer,omitempty"`
// IssuerRegExp is a regular expression to match the URL of the certificate OIDC issuer for
// keyless verification.
// +optional
IssuerRegExp string `json:"issuerRegExp,omitempty"`
}
Identity defines the allowed identity for keyless signing.
func (*Identity) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Identity.
func (*Identity) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Source ¶
type Source struct {
// Optional name for the source
// +optional
Name string `json:"name,omitempty"`
// List of go-getter style policy source urls
// +kubebuilder:validation:MinItems:=1
Policy []string `json:"policy,omitempty"`
// List of go-getter style policy data source urls
// +optional
Data []string `json:"data,omitempty"`
// Arbitrary rule data that will be visible to policy rules
// +optional
// +kubebuilder:validation:Type:=object
RuleData *extv1.JSON `json:"ruleData,omitempty"`
// Config specifies which policy rules are included, or excluded, from the
// provided policy source urls.
// +optional
// +kubebuilder:validation:Type:=object
Config *SourceConfig `json:"config,omitempty"`
// Specifies volatile configuration that can include or exclude policy rules
// based on effective time.
// +optional
// +kubebuilder:validation:Type:=object
VolatileConfig *VolatileSourceConfig `json:"volatileConfig,omitempty"`
}
Source defines policies and data that are evaluated together
func (*Source) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Source.
func (*Source) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SourceConfig ¶
type SourceConfig struct {
// Exclude is a set of policy exclusions that, in case of failure, do not block
// the success of the outcome.
// +optional
// +listType:=set
Exclude []string `json:"exclude,omitempty"`
// Include is a set of policy inclusions that are added to the policy evaluation.
// These take precedence over policy exclusions.
// +optional
// +listType:=set
Include []string `json:"include,omitempty"`
}
SourceConfig specifies config options for a policy source.
func (*SourceConfig) DeepCopy ¶
func (in *SourceConfig) DeepCopy() *SourceConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceConfig.
func (*SourceConfig) DeepCopyInto ¶
func (in *SourceConfig) DeepCopyInto(out *SourceConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolatileCriteria ¶
type VolatileCriteria struct {
Value string `json:"value"`
// +optional
// +kubebuilder:validation:Format:=date-time
EffectiveOn string `json:"effectiveOn,omitempty"`
// +optional
// +kubebuilder:validation:Format:=date-time
EffectiveUntil string `json:"effectiveUntil,omitempty"`
// DEPRECATED: Use ImageDigest instead
// ImageRef is used to specify an image by its digest.
// +optional
// +kubebuilder:validation:Pattern=`^sha256:[a-fA-F0-9]{64}$`
ImageRef string `json:"imageRef,omitempty"`
// ImageDigest is used to specify an image by its digest.
// +optional
// +kubebuilder:validation:Pattern=`^sha256:[a-fA-F0-9]{64}$`
ImageDigest string `json:"imageDigest,omitempty"`
// ImageUrl is used to specify an image by its URL without a tag.
// +optional
// +kubebuilder:validation:Pattern=`^[a-z0-9][a-z0-9.-]*[a-z0-9](?:\/[a-z0-9][a-z0-9-]*[a-z0-9]){2,}$`
ImageUrl string `json:"imageUrl,omitempty"`
// ComponentNames is used to specify component names from
// ApplicationSnapshot. This allows filtering in scenarios where
// multiple components share the same image repository.
// +optional
// +listType=set
ComponentNames []ComponentName `json:"componentNames,omitempty"`
// Reference is used to include a link to related information such as a Jira issue URL.
// +optional
Reference string `json:"reference,omitempty"`
}
VolatileCriteria includes or excludes a policy rule with effective dates as an option. +kubebuilder:validation:XValidation:rule="(has(self.imageUrl) ? 1 : 0) + (has(self.imageDigest) ? 1 : 0) + (has(self.imageRef) ? 1 : 0) + (has(self.componentNames) ? 1 : 0) <= 1",message="only one of imageUrl, imageDigest, imageRef, or componentNames may be set"
func (*VolatileCriteria) DeepCopy ¶
func (in *VolatileCriteria) DeepCopy() *VolatileCriteria
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolatileCriteria.
func (*VolatileCriteria) DeepCopyInto ¶
func (in *VolatileCriteria) DeepCopyInto(out *VolatileCriteria)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolatileSourceConfig ¶
type VolatileSourceConfig struct {
// Exclude is a set of policy exclusions that, in case of failure, do not block
// the success of the outcome.
// +optional
Exclude []VolatileCriteria `json:"exclude,omitempty"`
// Include is a set of policy inclusions that are added to the policy evaluation.
// These take precedence over policy exclusions.
// +optional
Include []VolatileCriteria `json:"include,omitempty"`
}
VolatileSourceConfig specifies volatile configuration for a policy source.
func (*VolatileSourceConfig) DeepCopy ¶
func (in *VolatileSourceConfig) DeepCopy() *VolatileSourceConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolatileSourceConfig.
func (*VolatileSourceConfig) DeepCopyInto ¶
func (in *VolatileSourceConfig) DeepCopyInto(out *VolatileSourceConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.