v1beta1

package
v3.0.0-...-b53bbfd Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2021 License: Apache-2.0 Imports: 13 Imported by: 5

README

KfDef defines an interface for controlling Kubeflow resources

In the following sections we explain what fields in KfDefSpec means.

KfDefSpec.Applications

This is the list of applications that Kubeflow cluster will be installed.

  • Name: Name identifier of the application.
  • KustomizeConfig: Configurations for Kustomize to find the manifests and additional information to apply to.
KustomizeConfig
  • RepoRef:
    • Name: Name of the repo Kustomize will be looking into. The repo must be on the list of KfDefSpec.Repos.
    • Path: Relative path in the repo to find the manifests.
  • Overlays: A list of names to be applied as overlays.
  • Parameters: Name/value pair of parameters to override the parameters defined in manifests. Example: link

KfDefSpec.Plugins

This is the list of plugins that Kubeflow will be run on top of. For example, platforms like GCP/AWS are part of plugins.

KfDefSpec.Secrets

This is a set of secrets Kubeflow needs during installation.

  • LiteralSource: User provides the secret information as literal string into KfDef yaml file. This is not recommended and we are planning to deprecate it.
  • EnvSource: User provides the name of ENV var and we will use the value for create the secret.

KfDefSpec.Repos

This is a list of GIT repositories that we will cache and use as reference during installations.

  • Name: The name identifier of the repository cached.
  • URI: The URI to download the repository.

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the kfdef v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/kubeflow/kfctl/v3/pkg/apis/apps/kfdef +k8s:defaulter-gen=TypeMeta +groupName=kfdef.apps.kubeflow.org

Index

Constants

This section is empty.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "kfdef.apps.kubeflow.org", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)

	// AddToScheme is required by pkg/kfdef/...
	AddToScheme = localSchemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource is required by pkg/kfdef/listers/...

Types

type Application

type Application struct {
	Name            string           `json:"name,omitempty"`
	KustomizeConfig *KustomizeConfig `json:"kustomizeConfig,omitempty"`
}

Application defines an application to install

func (*Application) DeepCopy

func (in *Application) DeepCopy() *Application

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

func (*Application) DeepCopyInto

func (in *Application) DeepCopyInto(out *Application)

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

type EnvSource

type EnvSource struct {
	Name string `json:"name,omitempty"`
}

func (*EnvSource) DeepCopy

func (in *EnvSource) DeepCopy() *EnvSource

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

func (*EnvSource) DeepCopyInto

func (in *EnvSource) DeepCopyInto(out *EnvSource)

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

type KfDef

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

	Spec   KfDefSpec   `json:"spec,omitempty"`
	Status KfDefStatus `json:"status,omitempty"`
}

KfDef is the Schema for the applications API +k8s:openapi-gen=true

func (*KfDef) DeepCopy

func (in *KfDef) DeepCopy() *KfDef

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

func (*KfDef) DeepCopyInto

func (in *KfDef) DeepCopyInto(out *KfDef)

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

func (*KfDef) DeepCopyObject

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

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

func (*KfDef) DeleteApplication

func (d *KfDef) DeleteApplication(appName string)

func (*KfDef) GetPluginSpec

func (d *KfDef) GetPluginSpec(pluginKind string, s interface{}) error

GetPluginSpec will try to unmarshal the spec for the specified plugin to the supplied interface. Returns an error if the plugin isn't defined or if there is a problem unmarshaling it.

func (*KfDef) GetSecret

func (d *KfDef) GetSecret(name string) (string, error)

GetSecret returns the specified secret or an error if the secret isn't specified.

func (*KfDef) IsValid

func (d *KfDef) IsValid() (bool, string)

IsValid returns true if the spec is a valid and complete spec. If false it will also return a string providing a message about why its invalid.

func (*KfDef) SetPluginSpec

func (d *KfDef) SetPluginSpec(pluginKind string, spec interface{}) error

SetPluginSpec sets the requested parameter: add the plugin if it doesn't already exist, or replace existing plugin.

func (*KfDef) SetSecret

func (d *KfDef) SetSecret(newSecret Secret)

SetSecret sets the specified secret; if a secret with the given name already exists it is overwritten.

type KfDefCondition

type KfDefCondition struct {
	// Type of deployment condition.
	Type KfDefConditionType `json:"type"`
	// Status of the condition, one of True, False, Unknown.
	Status v1.ConditionStatus `json:"status"`
	// The last time this condition was updated.
	LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty"`
	// A human readable message indicating details about the transition.
	Message string `json:"message,omitempty"`
}

func (*KfDefCondition) DeepCopy

func (in *KfDefCondition) DeepCopy() *KfDefCondition

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

func (*KfDefCondition) DeepCopyInto

func (in *KfDefCondition) DeepCopyInto(out *KfDefCondition)

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

type KfDefConditionType

type KfDefConditionType string
const (
	// KfAvailable means Kubeflow is serving.
	KfAvailable KfDefConditionType = "Available"

	// KfDegraded means one or more Kubeflow services are not healthy.
	KfDegraded KfDefConditionType = "Degraded"

	// Pending means Kubeflow services is being updated.
	Pending KfDefConditionType = "Pending"
)

type KfDefList

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

KfDefList contains a list of KfDef

func (*KfDefList) DeepCopy

func (in *KfDefList) DeepCopy() *KfDefList

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

func (*KfDefList) DeepCopyInto

func (in *KfDefList) DeepCopyInto(out *KfDefList)

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

func (*KfDefList) DeepCopyObject

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

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

type KfDefSpec

type KfDefSpec struct {
	Version      string        `json:"version,omitempty"`
	Applications []Application `json:"applications,omitempty"`
	Plugins      []Plugin      `json:"plugins,omitempty"`
	Secrets      []Secret      `json:"secrets,omitempty"`
	Repos        []Repo        `json:"repos,omitempty"`
}

func (*KfDefSpec) DeepCopy

func (in *KfDefSpec) DeepCopy() *KfDefSpec

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

func (*KfDefSpec) DeepCopyInto

func (in *KfDefSpec) DeepCopyInto(out *KfDefSpec)

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

type KfDefStatus

type KfDefStatus struct {
	Conditions []KfDefCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
	// ReposCache is used to cache information about local caching of the URIs.
	ReposCache []RepoCache `json:"reposCache,omitempty"`
}

KfDefStatus defines the observed state of KfDef

func (*KfDefStatus) DeepCopy

func (in *KfDefStatus) DeepCopy() *KfDefStatus

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

func (*KfDefStatus) DeepCopyInto

func (in *KfDefStatus) DeepCopyInto(out *KfDefStatus)

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

type KustomizeConfig

type KustomizeConfig struct {
	RepoRef    *RepoRef    `json:"repoRef,omitempty"`
	Overlays   []string    `json:"overlays,omitempty"`
	Parameters []NameValue `json:"parameters,omitempty"`
}

func (*KustomizeConfig) DeepCopy

func (in *KustomizeConfig) DeepCopy() *KustomizeConfig

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

func (*KustomizeConfig) DeepCopyInto

func (in *KustomizeConfig) DeepCopyInto(out *KustomizeConfig)

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

type LiteralSource

type LiteralSource struct {
	Value string `json:"value,omitempty"`
}

func (*LiteralSource) DeepCopy

func (in *LiteralSource) DeepCopy() *LiteralSource

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

func (*LiteralSource) DeepCopyInto

func (in *LiteralSource) DeepCopyInto(out *LiteralSource)

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

type NameValue

type NameValue struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

func (*NameValue) DeepCopy

func (in *NameValue) DeepCopy() *NameValue

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

func (*NameValue) DeepCopyInto

func (in *NameValue) DeepCopyInto(out *NameValue)

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

type Plugin

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

	Spec *runtime.RawExtension `json:"spec,omitempty"`
}

Plugin can be used to customize the generation and deployment of Kubeflow

func (*Plugin) DeepCopy

func (in *Plugin) DeepCopy() *Plugin

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

func (*Plugin) DeepCopyInto

func (in *Plugin) DeepCopyInto(out *Plugin)

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

type Repo

type Repo struct {
	// Name is a name to identify the repository.
	Name string `json:"name,omitempty"`
	// URI where repository can be obtained.
	// Can use any URI understood by go-getter:
	// https://github.com/hashicorp/go-getter/blob/master/README.md#installation-and-usage
	URI string `json:"uri,omitempty"`
}

Repo provides information about a repository providing config (e.g. kustomize packages, Deployment manager configs, etc...)

func (*Repo) DeepCopy

func (in *Repo) DeepCopy() *Repo

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

func (*Repo) DeepCopyInto

func (in *Repo) DeepCopyInto(out *Repo)

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

type RepoCache

type RepoCache struct {
	Name      string `json:"name,omitempty"`
	LocalPath string `json:"localPath,string"`
}

func (*RepoCache) DeepCopy

func (in *RepoCache) DeepCopy() *RepoCache

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

func (*RepoCache) DeepCopyInto

func (in *RepoCache) DeepCopyInto(out *RepoCache)

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

type RepoRef

type RepoRef struct {
	Name string `json:"name,omitempty"`
	Path string `json:"path,omitempty"`
}

func (*RepoRef) DeepCopy

func (in *RepoRef) DeepCopy() *RepoRef

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

func (*RepoRef) DeepCopyInto

func (in *RepoRef) DeepCopyInto(out *RepoRef)

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

type Secret

type Secret struct {
	Name         string        `json:"name,omitempty"`
	SecretSource *SecretSource `json:"secretSource,omitempty"`
}

Secret provides information about secrets needed to configure Kubeflow. Secrets can be provided via references.

func (*Secret) DeepCopy

func (in *Secret) DeepCopy() *Secret

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

func (*Secret) DeepCopyInto

func (in *Secret) DeepCopyInto(out *Secret)

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

type SecretRef

type SecretRef struct {
	// Name of the secret
	Name string `json:"name,omitempty"`
}

SecretRef is a reference to a secret

func (*SecretRef) DeepCopy

func (in *SecretRef) DeepCopy() *SecretRef

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

func (*SecretRef) DeepCopyInto

func (in *SecretRef) DeepCopyInto(out *SecretRef)

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

type SecretSource

type SecretSource struct {
	LiteralSource *LiteralSource `json:"literalSource,omitempty"`
	EnvSource     *EnvSource     `json:"envSource,omitempty"`
}

func (*SecretSource) DeepCopy

func (in *SecretSource) DeepCopy() *SecretSource

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

func (*SecretSource) DeepCopyInto

func (in *SecretSource) DeepCopyInto(out *SecretSource)

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