Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the kuik v1alpha1 API group. +kubebuilder:object:generate=true +groupName=kuik.enix.io
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "kuik.enix.io", 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 )
View Source
var RepositoryLabelName = "kuik.enix.io/repository"
Functions ¶
func CachedImageNameFromSourceImage ¶ added in v1.12.0
Types ¶
type CachedImage ¶
type CachedImage struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CachedImageSpec `json:"spec,omitempty"` Status CachedImageStatus `json:"status,omitempty"` }
CachedImage is the Schema for the cachedimages API.
func (*CachedImage) GetPullSecrets ¶
func (*CachedImage) Repository ¶
func (r *CachedImage) Repository() (reference.Named, error)
func (*CachedImage) Upstream ¶ added in v1.12.0
func (r *CachedImage) Upstream() (string, error)
type CachedImageList ¶
type CachedImageList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []CachedImage `json:"items"` }
CachedImageList contains a list of CachedImage.
type CachedImageSpec ¶
type CachedImageSpec struct { // SourceImage is the path of the image to cache SourceImage string `json:"sourceImage"` // ExpiresAt is the time when the image should be deleted from cache if not in use (unset when the image is used again) // +optional ExpiresAt *metav1.Time `json:"expiresAt,omitempty"` // Retain defines if the image should be retained in cache even when not used (will prevent ExpiresAt to be populated) // +optional Retain bool `json:"retain,omitempty"` }
CachedImageSpec defines the desired state of CachedImage.
type CachedImageStatus ¶
type CachedImageStatus struct { // IsCached indicate whether the image is already cached or not IsCached bool `json:"isCached,omitempty"` // Phase is the current phase of the image Phase string `json:"phase,omitempty"` // UsedBy is the list of pods using this image UsedBy UsedBy `json:"usedBy,omitempty"` // Digest is the digest of the cached image Digest string `json:"digest,omitempty"` // UpstreamDigest is the upstream image digest UpstreamDigest string `json:"upstreamDigest,omitempty"` // UpToDate indicate whether if the cached image is up to date with the upstream one or not UpToDate bool `json:"upToDate,omitempty"` // LastSync is the last time the remote image digest has been checked LastSync metav1.Time `json:"lastSync,omitempty"` // LastSuccessfulPull is the last time the upstream image has been successfully cached LastSuccessfulPull metav1.Time `json:"lastSuccessfulPull,omitempty"` // AvailableUpstream indicate whether if the referenced image is available upstream or not AvailableUpstream bool `json:"availableUpstream,omitempty"` // LastSeenUpstream is the last time the referenced image has been seen upstream LastSeenUpstream metav1.Time `json:"lastSeenUpstream,omitempty"` }
CachedImageStatus defines the observed state of CachedImage.
type PodReference ¶
type PodReference struct { // NamespacedName is the namespaced name of a pod (namespace/name) NamespacedName string `json:"namespacedName,omitempty"` }
type Repository ¶
type Repository struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RepositorySpec `json:"spec,omitempty"` Status RepositoryStatus `json:"status,omitempty"` }
Repository is the Schema for the repositories API.
func (*Repository) CompileUpdateFilters ¶
func (r *Repository) CompileUpdateFilters() ([]regexp.Regexp, error)
func (*Repository) GetPullSecrets ¶ added in v1.9.2
type RepositoryList ¶
type RepositoryList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Repository `json:"items"` }
RepositoryList contains a list of Repository.
type RepositorySpec ¶
type RepositorySpec struct { // Name is the path of the repository (for instance enix/kube-image-keeper) Name string `json:"name"` // PullSecretNames is the names of pull secret to use to pull CachedImages of this Repository PullSecretNames []string `json:"pullSecretNames,omitempty"` // PullSecretsNamespace is the namespace where pull secrets can be found for CachedImages of this Repository PullSecretsNamespace string `json:"pullSecretsNamespace,omitempty"` // UpdateInterval is the interval in human readable format (1m, 1h...) at which matched CachedImages from this Repository are updated (see spec.UpdateFilters) UpdateInterval *metav1.Duration `json:"updateInterval,omitempty"` // UpdateFilters is a list of regexps that need to match (at least one of them) the .spec.SourceImage of a CachedImage from this Repository to update it at regular interval UpdateFilters []string `json:"updateFilters,omitempty"` }
RepositorySpec defines the desired state of Repository.
type RepositoryStatus ¶
type RepositoryStatus struct { // Images is the count of CachedImages that come from this repository Images int `json:"images,omitempty"` // Phase is the current phase of this repository Phase string `json:"phase,omitempty"` // LastUpdate is the last time images of this repository has been updated LastUpdate metav1.Time `json:"lastUpdate,omitempty"` //+listType=map //+listMapKey=type //+patchStrategy=merge //+patchMergeKey=type //+optional Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` }
RepositoryStatus defines the observed state of Repository.
type UsedBy ¶
type UsedBy struct { // Pods is a list of reference to pods using this CachedImage Pods []PodReference `json:"pods,omitempty" patchStrategy:"merge" patchMergeKey:"namespacedName"` // Count is the number of pods using this image // // jsonpath function .length() is not implemented, so the count field is required to display pods count in additionalPrinterColumns // see https://github.com/kubernetes-sigs/controller-tools/issues/447 Count int `json:"count,omitempty"` }
Click to show internal directories.
Click to hide internal directories.