v1beta1

package
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: Oct 31, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the config v1beta1 API group +kubebuilder:object:generate=true +groupName=config.kubeflow.org

Index

Constants

View Source
const (
	// DefaultExperimentSuggestionName is the default name for the suggestions.
	DefaultExperimentSuggestionName = "default"
	// DefaultMetricsAddr is the default address for the prometheus metrics.
	DefaultMetricsAddr = ":8080"
	// DefaultHealthzAddr is the default address for the health probe.
	DefaultHealthzAddr = ":18080"
	// DefaultLeaderElectionID is the default LeaderElectionID for the controller.
	DefaultLeaderElectionID = "3fbc96e9.katib.kubeflow.org"
	// DefaultContainerSuggestionVolumeMountPath is the default mount path in suggestion container.
	DefaultContainerSuggestionVolumeMountPath = "/opt/katib/data"
	// DefaultSuggestionVolumeAccessMode is the default value for suggestion's volume access mode.
	DefaultSuggestionVolumeAccessMode = corev1.ReadWriteOnce
	// DefaultSuggestionVolumeStorage is the default value for suggestion's volume storage.
	DefaultSuggestionVolumeStorage = "1Gi"
	// DefaultImagePullPolicy is the default value for image pull policy.
	DefaultImagePullPolicy = corev1.PullIfNotPresent
	// DefaultCPULimit is the default value for CPU limit.
	DefaultCPULimit = "500m"
	// DefaultCPURequest is the default value for CPU request.
	DefaultCPURequest = "50m"
	// DefaultMemLimit is the default value for memory limit.
	DefaultMemLimit = "100Mi"
	// DefaultMemRequest is the default value for memory request.
	DefaultMemRequest = "10Mi"
	// DefaultDiskLimit is the default value for disk limit.
	DefaultDiskLimit = "5Gi"
	// DefaultDiskRequest is the default value for disk request.
	DefaultDiskRequest = "500Mi"
	// DefaultWebhookServiceName is the default service name for the admission webhooks.
	DefaultWebhookServiceName = "katib-controller"
	// DefaultWebhookSecretName is the default secret name to save the certs for the admission webhooks.
	DefaultWebhookSecretName = "katib-webhook-cert"
)

Variables

View Source
var (
	// DefaultEnableGRPCProbeInSuggestion is the default value whether enable to gRPC probe in suggestions.
	DefaultEnableGRPCProbeInSuggestion = true
	// DefaultWebhookPort is the default port for the admission webhook.
	DefaultWebhookPort = 8443
	// DefaultTrialResources is the default resource which can be used as a trial template.
	DefaultTrialResources = []string{"Job.v1.batch"}
)
View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "config.kubeflow.org", Version: "v1beta1"}

	// 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

func SetDefaults_KatibConfig

func SetDefaults_KatibConfig(cfg *KatibConfig)

Types

type CertGeneratorConfig

type CertGeneratorConfig struct {
	// Enable indicates the internal cert-generator is enabled.
	// Defaults to 'false'.
	Enable bool `json:"enable,omitempty"`
	// WebhookServiceName indicates which service is used for the admission webhook.
	// If it is set, the cert-generator forcefully is enabled even if the '.init.certGenerator.enable' is false.
	// Defaults to 'katib-controller'.
	WebhookServiceName string `json:"webhookServiceName,omitempty"`
	// WebhookSecretName indicates which secrets is used to save the certs for the admission webhook.
	// If it is set, the cert-generator forcefully is enabled even if the '.init.certGenerator.enable' is false.
	// Defaults to 'katib-webhook-cert'.
	WebhookSecretName string `json:"webhookSecretName,omitempty"`
}

CertGeneratorConfig is the certGenerator structure in Katib config.

func (*CertGeneratorConfig) DeepCopy

func (in *CertGeneratorConfig) DeepCopy() *CertGeneratorConfig

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

func (*CertGeneratorConfig) DeepCopyInto

func (in *CertGeneratorConfig) DeepCopyInto(out *CertGeneratorConfig)

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

type ControllerConfig

type ControllerConfig struct {
	// ExperimentSuggestionName is the implementation of suggestion interface in experiment controller.
	// Defaults to 'default'.
	ExperimentSuggestionName string `json:"experimentSuggestionName,omitempty"`
	// MetricsAddr is the address the metric endpoint binds to.
	// Defaults to ':8080'.
	MetricsAddr string `json:"metricsAddr,omitempty"`
	// HealthzAddr is the address the healthz endpoint binds to.
	// Defaults to ':18080'.
	HealthzAddr string `json:"healthzAddr,omitempty"`
	// InjectSecurityContext indicates whether inject the securityContext of container[0] in the sidecar.
	// Defaults to 'false'.
	InjectSecurityContext bool `json:"injectSecurityContext,omitempty"`
	// EnableGRPCProbeInSuggestion indicates whether enable grpc probe in suggestions.
	// Defaults to 'true'.
	EnableGRPCProbeInSuggestion *bool `json:"enableGRPCProbeInSuggestion,omitempty"`
	// TrialResources is the list of resources that can be used as trial template,
	// in the form: Kind.Version.Group (e.g. TFJob.v1.kubeflow.org)
	// Defaults to 'Job.v1.batch'
	TrialResources []string `json:"trialResources,omitempty"`
	// WebhookPort is the port number to be used for admission webhook server.
	// Defaults to '8443'.
	WebhookPort *int `json:"webhookPort,omitempty"`
	// EnableLeaderElection indicates whether enable leader election for katib-controller.
	// Enabling this will ensure there is only one active katib-controller.
	// Defaults to 'false'.
	EnableLeaderElection bool `json:"enableLeaderElection,omitempty"`
	// LeaderElectionID is the ID for leader election.
	// Defaults to '3fbc96e9.katib.kubeflow.org'.
	LeaderElectionID string `json:"leaderElectionID,omitempty"`
}

ControllerConfig is the controller structure in Katib config.

func (*ControllerConfig) DeepCopy

func (in *ControllerConfig) DeepCopy() *ControllerConfig

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

func (*ControllerConfig) DeepCopyInto

func (in *ControllerConfig) DeepCopyInto(out *ControllerConfig)

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

type EarlyStoppingConfig

type EarlyStoppingConfig struct {
	AlgorithmName   string                      `json:"algorithmName"`
	Image           string                      `json:"image"`
	ImagePullPolicy corev1.PullPolicy           `json:"imagePullPolicy,omitempty"`
	Resource        corev1.ResourceRequirements `json:"resources,omitempty"`
}

EarlyStoppingConfig is the early stopping structure in Katib config.

func (*EarlyStoppingConfig) DeepCopy

func (in *EarlyStoppingConfig) DeepCopy() *EarlyStoppingConfig

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

func (*EarlyStoppingConfig) DeepCopyInto

func (in *EarlyStoppingConfig) DeepCopyInto(out *EarlyStoppingConfig)

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

type InitConfig

type InitConfig struct {
	ControllerConfig    ControllerConfig    `json:"controller,omitempty"`
	CertGeneratorConfig CertGeneratorConfig `json:"certGenerator,omitempty"`
}

InitConfig is the YAML init structure in Katib config.

func (*InitConfig) DeepCopy

func (in *InitConfig) DeepCopy() *InitConfig

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

func (*InitConfig) DeepCopyInto

func (in *InitConfig) DeepCopyInto(out *InitConfig)

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

type KatibConfig

type KatibConfig struct {
	metav1.TypeMeta `json:",inline"`

	RuntimeConfig RuntimeConfig `json:"runtime,omitempty"`
	InitConfig    InitConfig    `json:"init,omitempty"`
}

KatibConfig is the katib-config.yaml structure in Katib config.

func (*KatibConfig) DeepCopy

func (in *KatibConfig) DeepCopy() *KatibConfig

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

func (*KatibConfig) DeepCopyInto

func (in *KatibConfig) DeepCopyInto(out *KatibConfig)

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

func (*KatibConfig) DeepCopyObject

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

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

type MetricsCollectorConfig

type MetricsCollectorConfig struct {
	CollectorKind    string                      `json:"kind"`
	Image            string                      `json:"image"`
	ImagePullPolicy  corev1.PullPolicy           `json:"imagePullPolicy,omitempty"`
	Resource         corev1.ResourceRequirements `json:"resources,omitempty"`
	WaitAllProcesses *bool                       `json:"waitAllProcesses,omitempty"`
}

MetricsCollectorConfig is the metrics collector structure in Katib config.

func (*MetricsCollectorConfig) DeepCopy

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

func (*MetricsCollectorConfig) DeepCopyInto

func (in *MetricsCollectorConfig) DeepCopyInto(out *MetricsCollectorConfig)

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

type RuntimeConfig

type RuntimeConfig struct {
	SuggestionConfigs       []SuggestionConfig       `json:"suggestions,omitempty"`
	EarlyStoppingConfigs    []EarlyStoppingConfig    `json:"earlyStoppings,omitempty"`
	MetricsCollectorConfigs []MetricsCollectorConfig `json:"metricsCollectors,omitempty"`
}

RuntimeConfig is the runtime structure in Katib config.

func (*RuntimeConfig) DeepCopy

func (in *RuntimeConfig) DeepCopy() *RuntimeConfig

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

func (*RuntimeConfig) DeepCopyInto

func (in *RuntimeConfig) DeepCopyInto(out *RuntimeConfig)

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

type SuggestionConfig

type SuggestionConfig struct {
	AlgorithmName             string `json:"algorithmName"`
	corev1.Container          `json:",inline"`
	ServiceAccountName        string                           `json:"serviceAccountName,omitempty"`
	VolumeMountPath           string                           `json:"volumeMountPath,omitempty"`
	PersistentVolumeClaimSpec corev1.PersistentVolumeClaimSpec `json:"persistentVolumeClaimSpec,omitempty"`
	PersistentVolumeSpec      corev1.PersistentVolumeSpec      `json:"persistentVolumeSpec,omitempty"`
	PersistentVolumeLabels    map[string]string                `json:"persistentVolumeLabels,omitempty"`
}

SuggestionConfig is the suggestion structure in Katib config.

func (*SuggestionConfig) DeepCopy

func (in *SuggestionConfig) DeepCopy() *SuggestionConfig

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

func (*SuggestionConfig) DeepCopyInto

func (in *SuggestionConfig) DeepCopyInto(out *SuggestionConfig)

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