Documentation
¶
Overview ¶
+k8s:deepcopy-gen=package,register +groupName=hermes.cloudpilot.ai +kubebuilder:object:generate=true
Index ¶
Constants ¶
const GroupName = "hermes.cloudpilot.ai"
Variables ¶
var ( SchemeBuilder runtime.SchemeBuilder AddToScheme = localSchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Types ¶
type HermesImagePhase ¶
type HermesImagePhase string
+kubebuilder:validation:Enum=Building;Ready;Failed
const ( HermesImagePhaseBuilding HermesImagePhase = "Building" HermesImagePhaseReady HermesImagePhase = "Ready" HermesImagePhaseFailed HermesImagePhase = "Failed" )
type HermesImageSelector ¶
type HermesImageSelector struct {
// ImageRegex is matched against the raw image reference from Pod specs.
ImageRegex string `json:"imageRegex"`
}
func (*HermesImageSelector) DeepCopy ¶
func (in *HermesImageSelector) DeepCopy() *HermesImageSelector
func (*HermesImageSelector) DeepCopyInto ¶
func (in *HermesImageSelector) DeepCopyInto(out *HermesImageSelector)
type HermesImageStatus ¶
type HermesImageStatus struct {
ImageDigestRef string `json:"imageDigestRef"`
Platform string `json:"platform"`
Phase HermesImagePhase `json:"phase"`
LastBuildTime metav1.Time `json:"lastBuildTime,omitempty"`
Error string `json:"error,omitempty"`
}
func (*HermesImageStatus) DeepCopy ¶
func (in *HermesImageStatus) DeepCopy() *HermesImageStatus
func (*HermesImageStatus) DeepCopyInto ¶
func (in *HermesImageStatus) DeepCopyInto(out *HermesImageStatus)
type HermesPolicy ¶
type HermesPolicy struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec HermesPolicySpec `json:"spec"`
Status HermesPolicyStatus `json:"status,omitempty"`
}
HermesPolicy controls which observed Pod images Hermes should build SOCI indexes for. +genclient +kubebuilder:object:root=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:shortName=hp,scope=Cluster +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Paused",type="boolean",JSONPath=".spec.paused" +kubebuilder:printcolumn:name="Ready",type="integer",JSONPath=".status.ready" +kubebuilder:printcolumn:name="Failed",type="integer",JSONPath=".status.failed"
func (*HermesPolicy) DeepCopy ¶
func (in *HermesPolicy) DeepCopy() *HermesPolicy
func (*HermesPolicy) DeepCopyInto ¶
func (in *HermesPolicy) DeepCopyInto(out *HermesPolicy)
func (*HermesPolicy) DeepCopyObject ¶
func (in *HermesPolicy) DeepCopyObject() runtime.Object
type HermesPolicyList ¶
type HermesPolicyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []HermesPolicy `json:"items"`
}
HermesPolicyList +kubebuilder:object:root=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*HermesPolicyList) DeepCopy ¶
func (in *HermesPolicyList) DeepCopy() *HermesPolicyList
func (*HermesPolicyList) DeepCopyInto ¶
func (in *HermesPolicyList) DeepCopyInto(out *HermesPolicyList)
func (*HermesPolicyList) DeepCopyObject ¶
func (in *HermesPolicyList) DeepCopyObject() runtime.Object
type HermesPolicySpec ¶
type HermesPolicySpec struct {
// Paused disables new automatic build enqueueing for this policy.
// +optional
Paused bool `json:"paused,omitempty"`
// ImageSelectors matches Pod image references. Selectors are ORed together.
// Only imageRegex is supported intentionally; use regular expressions such
// as ".*vllm.*".
// +optional
ImageSelectors []HermesImageSelector `json:"imageSelectors,omitempty"`
// Platforms lists platforms to build. When empty, the controller default
// platform is used.
// +optional
Platforms []string `json:"platforms,omitempty"`
}
func (*HermesPolicySpec) DeepCopy ¶
func (in *HermesPolicySpec) DeepCopy() *HermesPolicySpec
func (*HermesPolicySpec) DeepCopyInto ¶
func (in *HermesPolicySpec) DeepCopyInto(out *HermesPolicySpec)
type HermesPolicyStatus ¶
type HermesPolicyStatus struct {
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
Ready int32 `json:"ready,omitempty"`
Failed int32 `json:"failed,omitempty"`
Images []HermesImageStatus `json:"images,omitempty"`
}
func (*HermesPolicyStatus) DeepCopy ¶
func (in *HermesPolicyStatus) DeepCopy() *HermesPolicyStatus
func (*HermesPolicyStatus) DeepCopyInto ¶
func (in *HermesPolicyStatus) DeepCopyInto(out *HermesPolicyStatus)