Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the api v1beta1 API group +kubebuilder:object:generate=true +groupName=app.fybrik.io
Index ¶
- Variables
- type ApplicationDetails
- type AssetContext
- type AssetDetails
- type AssetState
- type Blueprint
- type BlueprintList
- type BlueprintModule
- type BlueprintSpec
- type BlueprintStatus
- type CapabilityScope
- type ChartSpec
- type Condition
- type ConditionType
- type DataContext
- type DataFlowStep
- type DataRequirements
- type DataStore
- type DatasetDetails
- type Dependency
- type DependencyType
- type Flow
- type FlowRequirements
- type FlowStatus
- type FybrikApplication
- func (in *FybrikApplication) DeepCopy() *FybrikApplication
- func (in *FybrikApplication) DeepCopyInto(out *FybrikApplication)
- func (in *FybrikApplication) DeepCopyObject() runtime.Object
- func (r *FybrikApplication) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *FybrikApplication) ValidateCreate() error
- func (r *FybrikApplication) ValidateDelete() error
- func (r *FybrikApplication) ValidateFybrikApplication(taxonomyFile string) error
- func (r *FybrikApplication) ValidateUpdate(old runtime.Object) error
- type FybrikApplicationList
- type FybrikApplicationSpec
- type FybrikApplicationStatus
- type FybrikModule
- func (in *FybrikModule) DeepCopy() *FybrikModule
- func (in *FybrikModule) DeepCopyInto(out *FybrikModule)
- func (in *FybrikModule) DeepCopyObject() runtime.Object
- func (r *FybrikModule) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *FybrikModule) ValidateCreate() error
- func (r *FybrikModule) ValidateDelete() error
- func (r *FybrikModule) ValidateFybrikModule(taxonomyFile string) error
- func (r *FybrikModule) ValidateUpdate(old runtime.Object) error
- type FybrikModuleList
- type FybrikModuleSpec
- type FybrikModuleStatus
- type FybrikStorageAccount
- type FybrikStorageAccountList
- type FybrikStorageAccountSpec
- type FybrikStorageAccountStatus
- type MetaBlueprint
- type ModuleArguments
- type ModuleCapability
- type ModuleInOut
- type ModuleInfo
- type ModuleSupportedAction
- type ObservedState
- type Plotter
- type PlotterList
- type PlotterSpec
- type PlotterStatus
- type Plugin
- type ResourceReference
- type ResourceStatusIndicator
- type Selector
- type StepArgument
- type StepParameters
- type SubFlow
- type SubFlowTrigger
- type Template
- type Vault
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "app.fybrik.io", 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 ¶
This section is empty.
Types ¶
type ApplicationDetails ¶
type ApplicationDetails struct { // Application selector is used to identify the user workload. // It is obtained from FybrikApplication spec. // +optional WorkloadSelector metav1.LabelSelector `json:"selector,omitempty"` // Application context such as intent, role, etc. // +optional Context taxonomy.AppInfo `json:"context,omitempty"` }
func (*ApplicationDetails) DeepCopy ¶
func (in *ApplicationDetails) DeepCopy() *ApplicationDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationDetails.
func (*ApplicationDetails) DeepCopyInto ¶
func (in *ApplicationDetails) DeepCopyInto(out *ApplicationDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AssetContext ¶
type AssetContext struct { // List of datastores associated with the asset // +optional Arguments []*DataStore `json:"args,omitempty"` // AssetID identifies the asset to be used for accessing the data when it is ready // It is copied from the FybrikApplication resource // +required AssetID string `json:"assetID"` // Transformations are different types of processing that may be done to the data as it is copied. // +optional Transformations []taxonomy.Action `json:"transformations,omitempty"` // Capability of the module // +required Capability taxonomy.Capability `json:"capability"` }
AssetContext defines the input parameters for modules that access an asset
func (*AssetContext) DeepCopy ¶
func (in *AssetContext) DeepCopy() *AssetContext
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssetContext.
func (*AssetContext) DeepCopyInto ¶
func (in *AssetContext) DeepCopyInto(out *AssetContext)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AssetDetails ¶
type AssetDetails struct { // AdvertisedAssetID links this asset to asset from fybrikapplication and is used by user facing services // +optional AdvertisedAssetID string `json:"advertisedAssetId,omitempty"` // +required DataStore DataStore `json:"assetDetails"` }
AssetDetails is a list of assets used in the fybrikapplication. In addition to assets declared in fybrikapplication, AssetDetails list also contains assets that are allocated by the control-plane in order to serve fybrikapplication
func (*AssetDetails) DeepCopy ¶
func (in *AssetDetails) DeepCopy() *AssetDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssetDetails.
func (*AssetDetails) DeepCopyInto ¶
func (in *AssetDetails) DeepCopyInto(out *AssetDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AssetState ¶
type AssetState struct { // Conditions indicate the asset state (Ready, Deny, Error) // +optional Conditions []Condition `json:"conditions,omitempty"` // CatalogedAsset provides a new asset identifier after being registered in the enterprise catalog // +optional CatalogedAsset string `json:"catalogedAsset,omitempty"` // Endpoint provides the endpoint spec from which the asset will be served to the application // +optional Endpoint taxonomy.Connection `json:"endpoint,omitempty"` }
AssetState defines the observed state of an asset
func (*AssetState) DeepCopy ¶
func (in *AssetState) DeepCopy() *AssetState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssetState.
func (*AssetState) DeepCopyInto ¶
func (in *AssetState) DeepCopyInto(out *AssetState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Blueprint ¶
type Blueprint struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +required Spec BlueprintSpec `json:"spec"` Status BlueprintStatus `json:"status,omitempty"` }
Blueprint is the Schema for the blueprints API
func (*Blueprint) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Blueprint.
func (*Blueprint) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Blueprint) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BlueprintList ¶
type BlueprintList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Blueprint `json:"items"` }
BlueprintList contains a list of Blueprint
func (*BlueprintList) DeepCopy ¶
func (in *BlueprintList) DeepCopy() *BlueprintList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlueprintList.
func (*BlueprintList) DeepCopyInto ¶
func (in *BlueprintList) DeepCopyInto(out *BlueprintList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BlueprintList) DeepCopyObject ¶
func (in *BlueprintList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BlueprintModule ¶
type BlueprintModule struct { // Name of the FybrikModule on which this is based // +required Name string `json:"name"` // Chart contains the location of the helm chart with info detailing how to deploy // +required Chart ChartSpec `json:"chart"` // Arguments are the input parameters for a specific instance of a module. // +optional Arguments ModuleArguments `json:"arguments,omitempty"` // assetIDs indicate the assets processed by this module. Included so we can track asset status // as well as module status in the future. // +optional AssetIDs []string `json:"assetIds,omitempty"` }
BlueprintModule is a copy of a FybrikModule Custom Resource. It contains the information necessary to instantiate a datapath component, including the parameters relevant for the particular workload.
func (*BlueprintModule) DeepCopy ¶
func (in *BlueprintModule) DeepCopy() *BlueprintModule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlueprintModule.
func (*BlueprintModule) DeepCopyInto ¶
func (in *BlueprintModule) DeepCopyInto(out *BlueprintModule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BlueprintSpec ¶
type BlueprintSpec struct { // Cluster indicates the cluster on which the Blueprint runs // +required Cluster string `json:"cluster"` // ModulesNamespace is the namespace where modules should be allocated // +required ModulesNamespace string `json:"modulesNamespace"` // Modules is a map which contains modules that indicate the data path components that run in this cluster // The map key is moduleInstanceName which is the unique name for the deployed instance related to this workload // +required Modules map[string]BlueprintModule `json:"modules"` // ApplicationContext is a context of the origin FybrikApplication (labels, properties, etc.) // +optional Application *ApplicationDetails `json:"application,omitempty"` }
BlueprintSpec defines the desired state of Blueprint, which defines the components of the workload's data path that run in a particular cluster. In a single cluster environment there is one blueprint per workload (FybrikApplication). In a multi-cluster environment there is one Blueprint per cluster per workload (FybrikApplication).
func (*BlueprintSpec) DeepCopy ¶
func (in *BlueprintSpec) DeepCopy() *BlueprintSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlueprintSpec.
func (*BlueprintSpec) DeepCopyInto ¶
func (in *BlueprintSpec) DeepCopyInto(out *BlueprintSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BlueprintStatus ¶
type BlueprintStatus struct { // ObservedState includes information to be reported back to the FybrikApplication resource // It includes readiness and error indications, as well as user instructions // +optional ObservedState ObservedState `json:"observedState,omitempty"` // ObservedGeneration is taken from the Blueprint metadata. This is used to determine during reconcile // whether reconcile was called because the desired state changed, or whether status of the allocated resources should be checked. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // ModulesState is a map which holds the status of each module // its key is the moduleInstanceName which is the unique name for the deployed instance related to this workload // +optional ModulesState map[string]ObservedState `json:"modules,omitempty"` // Releases map each release to the observed generation of the blueprint containing this release. // At the end of reconcile, each release should be mapped to the latest blueprint version or be uninstalled. // +optional Releases map[string]int64 `json:"releases,omitempty"` }
BlueprintStatus defines the observed state of Blueprint This includes readiness, error message, and indicators for the Kubernetes resources owned by the Blueprint for cleanup and status monitoring
func (*BlueprintStatus) DeepCopy ¶
func (in *BlueprintStatus) DeepCopy() *BlueprintStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlueprintStatus.
func (*BlueprintStatus) DeepCopyInto ¶
func (in *BlueprintStatus) DeepCopyInto(out *BlueprintStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CapabilityScope ¶
type CapabilityScope string
CapabilityScope indicates the level at which a capability is implemented +kubebuilder:validation:Enum=asset;workload;cluster
const ( // Asset indicates that the capabilities are available for a particular asset, such as a dataset Asset CapabilityScope = "asset" // Workload indicates that the capability is available for all assets in the workload or is independent of assets Workload CapabilityScope = "workload" // Cluster indicates that a capability is available across workloads - i.e. across Fybrikapplication instances Cluster CapabilityScope = "cluster" )
type ChartSpec ¶
type ChartSpec struct { // Name of helm chart // +required Name string `json:"name"` // Name of secret containing helm registry credentials // +optional ChartPullSecret string `json:"chartPullSecret,omitempty"` // Values to pass to helm chart installation // +optional Values map[string]string `json:"values,omitempty"` }
ChartSpec specifies chart name and values
func (*ChartSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartSpec.
func (*ChartSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Condition ¶
type Condition struct { // Type of the condition Type ConditionType `json:"type"` // Status of the condition, one of (`True`, `False`, `Unknown`). // +kubebuilder:validation:Optional // +kubebuilder:validation:Enum=True;False;Unknown // +kubebuilder:default:=Unknown Status corev1.ConditionStatus `json:"status"` // Message contains the details of the current condition // +optional Message string `json:"message,omitempty"` // ObservedGeneration is the version of the resource for which the condition has been evaluated // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` }
Condition describes the state of a FybrikApplication at a certain point.
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionType ¶
type ConditionType string
ConditionType represents a condition type
const ( ErrorCondition ConditionType = "Error" DenyCondition ConditionType = "Deny" ReadyCondition ConditionType = "Ready" ValidCondition ConditionType = "Valid" )
Constants defining condition types
type DataContext ¶
type DataContext struct { // DataSetID is a unique identifier of the dataset chosen from the data catalog. // For data catalogs that support multiple sub-catalogs, it includes the catalog id and the dataset id. // When writing a new dataset it is the name provided by the user or workload generating it. // +required // +kubebuilder:validation:MinLength=1 DataSetID string `json:"dataSetID"` // Flows indicates what is being done with the particular dataset - ex: read, write, copy (ingest), delete // This is optional for the purpose of backward compatibility. // If nothing is provided, read is assumed. // +optional Flow taxonomy.DataFlow `json:"flow,omitempty"` // Requirements from the system // +required Requirements DataRequirements `json:"requirements"` }
DataContext indicates data set being processed by the workload and includes information about the data format and technologies used to access the data.
func (*DataContext) DeepCopy ¶
func (in *DataContext) DeepCopy() *DataContext
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataContext.
func (*DataContext) DeepCopyInto ¶
func (in *DataContext) DeepCopyInto(out *DataContext)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataFlowStep ¶
type DataFlowStep struct { // Name of the step // +required Name string `json:"name"` // Name of the cluster this step is executed on // +required Cluster string `json:"cluster"` // Template is the name of the template to execute the step // The full details of the template can be extracted from Plotter.spec.templates // list field. // +required Template string `json:"template"` // Step parameters // TODO why not flatten the parameters into this data flow step // +optional Parameters *StepParameters `json:"parameters,omitempty"` }
DataFlowStep contains details on a single data flow step
func (*DataFlowStep) DeepCopy ¶
func (in *DataFlowStep) DeepCopy() *DataFlowStep
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataFlowStep.
func (*DataFlowStep) DeepCopyInto ¶
func (in *DataFlowStep) DeepCopyInto(out *DataFlowStep)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataRequirements ¶
type DataRequirements struct { // Interface indicates the protocol and format expected by the data user // +optional Interface *taxonomy.Interface `json:"interface,omitempty"` // FlowParams include the requirements for particular data flows // +optional FlowParams FlowRequirements `json:"flowParams,omitempty"` }
DataRequirements structure contains a list of requirements (interface, need to catalog the dataset, etc.)
func (*DataRequirements) DeepCopy ¶
func (in *DataRequirements) DeepCopy() *DataRequirements
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataRequirements.
func (*DataRequirements) DeepCopyInto ¶
func (in *DataRequirements) DeepCopyInto(out *DataRequirements)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataStore ¶
type DataStore struct { // Holds details for retrieving credentials by the modules from Vault store. // It is a map so that different credentials can be stored for the different DataFlow operations. // +optional Vault map[string]Vault `json:"vault,omitempty"` // Connection has the relevant details for accessing the data (url, table, ssl, etc.) // +required Connection taxonomy.Connection `json:"connection"` // Format represents data format (e.g. parquet) as received from catalog connectors // +optional Format taxonomy.DataFormat `json:"format,omitempty"` }
DataStore contains the details for accessing the data that are sent by catalog connectors Credentials for accessing the data are stored in Vault, in the location represented by Vault property.
func (*DataStore) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataStore.
func (*DataStore) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatasetDetails ¶
type DatasetDetails struct { // deprecated // +optional DatasetRef string `json:"datasetRef,omitempty"` // Reference to a secret where the credentials are stored // +optional SecretRef taxonomy.SecretRef `json:"secretRef,omitempty"` // Dataset information // +optional Details *DataStore `json:"details,omitempty"` // Resource Metadata // +optional ResourceMetadata *datacatalog.ResourceMetadata `json:"resourceMetadata,omitempty"` // Persistent storage (not to be removed after FybrikApplication is deleted) // +optional Persistent bool `json:"persistent,omitempty"` }
DatasetDetails holds details of the provisioned storage
func (*DatasetDetails) DeepCopy ¶
func (in *DatasetDetails) DeepCopy() *DatasetDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatasetDetails.
func (*DatasetDetails) DeepCopyInto ¶
func (in *DatasetDetails) DeepCopyInto(out *DatasetDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Dependency ¶
type Dependency struct { // Type provides information used in determining how to instantiate the component // +required Type DependencyType `json:"type"` // Name is the name of the dependent component // +required Name string `json:"name"` }
Dependency details another component on which this module relies - i.e. a pre-requisit
func (*Dependency) DeepCopy ¶
func (in *Dependency) DeepCopy() *Dependency
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dependency.
func (*Dependency) DeepCopyInto ¶
func (in *Dependency) DeepCopyInto(out *Dependency)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DependencyType ¶
type DependencyType string
DependencyType indicates what type of pre-requisit is required +kubebuilder:validation:Enum=module;connector;feature TODO - Should these be changed???
const ( // Module indicates a reliance on another module Module DependencyType = "module" // Connector - example for connecting to data catalog, policy compiler, external credential manager Connector DependencyType = "connector" // Feature indicates a dependency on an optional control plane capability Feature DependencyType = "feature" )
type Flow ¶
type Flow struct { // Name of the flow // +required Name string `json:"name"` // Type of the flow (e.g. read) // +required FlowType taxonomy.DataFlow `json:"flowType"` // AssetID indicates the data set being used in this data flow // +required AssetID string `json:"assetId"` // +required SubFlows []SubFlow `json:"subFlows"` }
Flows is the list of data flows driven from fybrikapplication: Each element in the list holds the flow of the data requested in fybrikapplication.
func (*Flow) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Flow.
func (*Flow) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlowRequirements ¶
type FlowRequirements struct { // Catalog indicates that the data asset must be cataloged, and in which catalog to register it // +optional Catalog string `json:"catalog,omitempty"` // Storage estimate indicates the estimated amount of storage in MB, GB, TB required when writing new data. // +optional StorageEstimate datasize.ByteSize `json:"storageEstimate,omitempty"` // IsNewDataSet if true indicates that the DataContext.DataSetID is user provided and not a full catalog / dataset ID. // Relevant when writing. // A unique ID from the catalog will be provided in the FybrikApplication Status after a new catalog entry is created. // +optional IsNewDataSet bool `json:"isNewDataSet,omitempty"` // Source asset metadata like asset name, owner, geography, etc // Relevant when writing new asset. // +optional ResourceMetadata *datacatalog.ResourceMetadata `json:"metadata,omitempty"` }
FlowRequirements include the requirements specific to the flow Note: Implicit copies done for data plane optimization by Fybrik do not use these parameters
func (*FlowRequirements) DeepCopy ¶
func (in *FlowRequirements) DeepCopy() *FlowRequirements
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowRequirements.
func (*FlowRequirements) DeepCopyInto ¶
func (in *FlowRequirements) DeepCopyInto(out *FlowRequirements)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlowStatus ¶
type FlowStatus struct { // ObservedState includes information about the current flow // It includes readiness and error indications, as well as user instructions // +optional ObservedState ObservedState `json:"status,omitempty"` // +required SubFlows map[string]ObservedState `json:"subFlows"` }
FlowStatus includes information to be reported back to the FybrikApplication resource It holds the status per data flow
func (*FlowStatus) DeepCopy ¶
func (in *FlowStatus) DeepCopy() *FlowStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowStatus.
func (*FlowStatus) DeepCopyInto ¶
func (in *FlowStatus) DeepCopyInto(out *FlowStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FybrikApplication ¶
type FybrikApplication struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +required Spec FybrikApplicationSpec `json:"spec"` Status FybrikApplicationStatus `json:"status,omitempty"` }
FybrikApplication provides information about the application whose data is being operated on, the nature of the processing, and the data sets chosen for processing by the application. The FybrikApplication controller obtains instructions regarding any governance related changes that must be performed on the data, identifies the modules capable of performing such changes, and finally generates the Plotter which defines the secure runtime environment and all the components in it. This runtime environment provides the application with access to the data requested in a secure manner and without having to provide any credentials for the data sets. The credentials are obtained automatically by the manager from the credential management system. +kubebuilder:object:root=true +kubebuilder:storageversion +kubebuilder:subresource:status
func (*FybrikApplication) DeepCopy ¶
func (in *FybrikApplication) DeepCopy() *FybrikApplication
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FybrikApplication.
func (*FybrikApplication) DeepCopyInto ¶
func (in *FybrikApplication) DeepCopyInto(out *FybrikApplication)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FybrikApplication) DeepCopyObject ¶
func (in *FybrikApplication) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*FybrikApplication) SetupWebhookWithManager ¶
func (r *FybrikApplication) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*FybrikApplication) ValidateCreate ¶
func (r *FybrikApplication) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*FybrikApplication) ValidateDelete ¶
func (r *FybrikApplication) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*FybrikApplication) ValidateFybrikApplication ¶
func (r *FybrikApplication) ValidateFybrikApplication(taxonomyFile string) error
func (*FybrikApplication) ValidateUpdate ¶
func (r *FybrikApplication) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type FybrikApplicationList ¶
type FybrikApplicationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []FybrikApplication `json:"items"` }
FybrikApplicationList contains a list of FybrikApplication
func (*FybrikApplicationList) DeepCopy ¶
func (in *FybrikApplicationList) DeepCopy() *FybrikApplicationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FybrikApplicationList.
func (*FybrikApplicationList) DeepCopyInto ¶
func (in *FybrikApplicationList) DeepCopyInto(out *FybrikApplicationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FybrikApplicationList) DeepCopyObject ¶
func (in *FybrikApplicationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FybrikApplicationSpec ¶
type FybrikApplicationSpec struct { // Selector enables to connect the resource to the application // Application labels should match the labels in the selector. // +optional Selector Selector `json:"selector"` // SecretRef points to the secret that holds credentials for each system the user has been authenticated with. // The secret is deployed in FybrikApplication namespace. // +optional SecretRef string `json:"secretRef,omitempty"` // AppInfo contains information describing the reasons for the processing // that will be done by the application. // +required AppInfo taxonomy.AppInfo `json:"appInfo"` // Data contains the identifiers of the data to be used by the Data Scientist's application, // and the protocol used to access it and the format expected. // +required Data []DataContext `json:"data"` }
FybrikApplicationSpec defines data flows needed by the application, the purpose and other contextual information about the application. +fybrik:validation:object="fybrik_application"
func (*FybrikApplicationSpec) DeepCopy ¶
func (in *FybrikApplicationSpec) DeepCopy() *FybrikApplicationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FybrikApplicationSpec.
func (*FybrikApplicationSpec) DeepCopyInto ¶
func (in *FybrikApplicationSpec) DeepCopyInto(out *FybrikApplicationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FybrikApplicationStatus ¶
type FybrikApplicationStatus struct { // Ready is true if all specified assets are either ready to be used or are denied access. // +optional Ready bool `json:"ready,omitempty"` // ErrorMessage indicates that an error has happened during the reconcile, unrelated to a specific asset // +optional ErrorMessage string `json:"errorMessage,omitempty"` // AssetStates provides a status per asset // +optional AssetStates map[string]AssetState `json:"assetStates,omitempty"` // ObservedGeneration is taken from the FybrikApplication metadata. This is used to determine during reconcile // whether reconcile was called because the desired state changed, or whether the Blueprint status changed. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // ValidatedGeneration is the version of the FyrbikApplication that has been validated with the taxonomy defined. // +optional ValidatedGeneration int64 `json:"validatedGeneration,omitempty"` // ValidApplication indicates whether the FybrikApplication is valid given the defined taxonomy // +optional ValidApplication corev1.ConditionStatus `json:"validApplication,omitempty"` // Generated resource identifier // +optional Generated *ResourceReference `json:"generated,omitempty"` // ProvisionedStorage maps a dataset (identified by AssetID) to the new provisioned bucket. // It allows FybrikApplication controller to manage buckets in case the spec has been modified, an error has occurred, // or a delete event has been received. // ProvisionedStorage has the information required to register the dataset once the owned plotter resource is ready // +optional ProvisionedStorage map[string]DatasetDetails `json:"provisionedStorage,omitempty"` }
FybrikApplicationStatus defines the observed state of FybrikApplication.
func (*FybrikApplicationStatus) DeepCopy ¶
func (in *FybrikApplicationStatus) DeepCopy() *FybrikApplicationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FybrikApplicationStatus.
func (*FybrikApplicationStatus) DeepCopyInto ¶
func (in *FybrikApplicationStatus) DeepCopyInto(out *FybrikApplicationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FybrikModule ¶
type FybrikModule struct { // Metadata should include name, namespace, label, annotations. // annotations should include author, summary, description metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +required Spec FybrikModuleSpec `json:"spec"` Status FybrikModuleStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:storageversion +kubebuilder:subresource:status FybrikModule is a description of an injectable component. the parameters it requires, as well as the specification of how to instantiate such a component. It is used as metadata only. There is no status nor reconciliation.
func (*FybrikModule) DeepCopy ¶
func (in *FybrikModule) DeepCopy() *FybrikModule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FybrikModule.
func (*FybrikModule) DeepCopyInto ¶
func (in *FybrikModule) DeepCopyInto(out *FybrikModule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FybrikModule) DeepCopyObject ¶
func (in *FybrikModule) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*FybrikModule) SetupWebhookWithManager ¶
func (r *FybrikModule) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*FybrikModule) ValidateCreate ¶
func (r *FybrikModule) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*FybrikModule) ValidateDelete ¶
func (r *FybrikModule) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*FybrikModule) ValidateFybrikModule ¶
func (r *FybrikModule) ValidateFybrikModule(taxonomyFile string) error
func (*FybrikModule) ValidateUpdate ¶
func (r *FybrikModule) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type FybrikModuleList ¶
type FybrikModuleList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []FybrikModule `json:"items"` }
FybrikModuleList contains a list of FybrikModule
func (*FybrikModuleList) DeepCopy ¶
func (in *FybrikModuleList) DeepCopy() *FybrikModuleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FybrikModuleList.
func (*FybrikModuleList) DeepCopyInto ¶
func (in *FybrikModuleList) DeepCopyInto(out *FybrikModuleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FybrikModuleList) DeepCopyObject ¶
func (in *FybrikModuleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FybrikModuleSpec ¶
type FybrikModuleSpec struct { // An explanation of what this module does // +optional Description string `json:"description,omitempty"` // May be one of service, config or plugin // Service: Means that the control plane deploys the component that performs the capability // Config: Another pre-installed service performs the capability and the module deployed configures // it for the particular workload or dataset // Plugin: Indicates that this module performs a capability as part of another service or module rather than as a stand-alone module // +required Type string `json:"type"` // Plugin type indicates the plugin technology used to invoke the capabilities // Ex: vault, fybrik-wasm... // Should be provided if type is plugin // +optional PluginType string `json:"pluginType,omitempty"` // Other components that must be installed in order for this module to work // +optional Dependencies []Dependency `json:"dependencies,omitempty"` // Capabilities declares what this module knows how to do and the types of data it knows how to handle // The key to the map is a CapabilityType string // +required Capabilities []ModuleCapability `json:"capabilities"` // Reference to a Helm chart that allows deployment of the resources required for this module // +required Chart ChartSpec `json:"chart"` // StatusIndicators allow to check status of a non-standard resource that can not be computed by helm/kstatus // +optional StatusIndicators []ResourceStatusIndicator `json:"statusIndicators,omitempty"` }
FybrikModuleSpec contains the info common to all modules, which are one of the components that process, load, write, audit, monitor the data used by the data scientist's application. +fybrik:validation:object="fybrik_module"
func (*FybrikModuleSpec) DeepCopy ¶
func (in *FybrikModuleSpec) DeepCopy() *FybrikModuleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FybrikModuleSpec.
func (*FybrikModuleSpec) DeepCopyInto ¶
func (in *FybrikModuleSpec) DeepCopyInto(out *FybrikModuleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FybrikModuleStatus ¶
type FybrikModuleStatus struct { // Conditions indicate the module states with respect to validation Conditions []Condition `json:"conditions,omitempty"` }
FybrikModuleStatus defines the observed state of FybrikModule.
func (*FybrikModuleStatus) DeepCopy ¶
func (in *FybrikModuleStatus) DeepCopy() *FybrikModuleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FybrikModuleStatus.
func (*FybrikModuleStatus) DeepCopyInto ¶
func (in *FybrikModuleStatus) DeepCopyInto(out *FybrikModuleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FybrikStorageAccount ¶
type FybrikStorageAccount struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +required Spec FybrikStorageAccountSpec `json:"spec"` Status FybrikStorageAccountStatus `json:"status,omitempty"` }
FybrikStorageAccount defines a storage account used for copying data. Only S3 based storage is supported. It contains endpoint, region and a reference to the credentials a Owner of the asset is responsible to store the credentials +kubebuilder:object:root=true +kubebuilder:deprecatedversion:warning="v1beta1 version of fybrikstorageaccount is deprecated and will be removed soon, please use v1beta2 version instead"
func (*FybrikStorageAccount) DeepCopy ¶
func (in *FybrikStorageAccount) DeepCopy() *FybrikStorageAccount
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FybrikStorageAccount.
func (*FybrikStorageAccount) DeepCopyInto ¶
func (in *FybrikStorageAccount) DeepCopyInto(out *FybrikStorageAccount)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FybrikStorageAccount) DeepCopyObject ¶
func (in *FybrikStorageAccount) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FybrikStorageAccountList ¶
type FybrikStorageAccountList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []FybrikStorageAccount `json:"items"` }
FybrikStorageAccountList contains a list of FybrikStorageAccount
func (*FybrikStorageAccountList) DeepCopy ¶
func (in *FybrikStorageAccountList) DeepCopy() *FybrikStorageAccountList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FybrikStorageAccountList.
func (*FybrikStorageAccountList) DeepCopyInto ¶
func (in *FybrikStorageAccountList) DeepCopyInto(out *FybrikStorageAccountList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FybrikStorageAccountList) DeepCopyObject ¶
func (in *FybrikStorageAccountList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FybrikStorageAccountSpec ¶
type FybrikStorageAccountSpec struct { // Identification of a storage account // +required ID string `json:"id"` // +required // A name of k8s secret deployed in the control plane. // This secret includes secretKey and accessKey credentials for S3 bucket SecretRef string `json:"secretRef"` // +required // Storage region Region taxonomy.ProcessingLocation `json:"region"` // +required // Endpoint for accessing the data Endpoint string `json:"endpoint"` }
FybrikStorageAccountSpec defines the desired state of FybrikStorageAccount
func (*FybrikStorageAccountSpec) DeepCopy ¶
func (in *FybrikStorageAccountSpec) DeepCopy() *FybrikStorageAccountSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FybrikStorageAccountSpec.
func (*FybrikStorageAccountSpec) DeepCopyInto ¶
func (in *FybrikStorageAccountSpec) DeepCopyInto(out *FybrikStorageAccountSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FybrikStorageAccountStatus ¶
type FybrikStorageAccountStatus struct { }
FybrikStorageAccountStatus defines the observed state of FybrikStorageAccount
func (*FybrikStorageAccountStatus) DeepCopy ¶
func (in *FybrikStorageAccountStatus) DeepCopy() *FybrikStorageAccountStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FybrikStorageAccountStatus.
func (*FybrikStorageAccountStatus) DeepCopyInto ¶
func (in *FybrikStorageAccountStatus) DeepCopyInto(out *FybrikStorageAccountStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetaBlueprint ¶
type MetaBlueprint struct { // +required Name string `json:"name"` // +required Namespace string `json:"namespace"` // +required Status BlueprintStatus `json:"status"` }
MetaBlueprint defines blueprint metadata (name, namespace) and status
func CreateMetaBlueprint ¶
func CreateMetaBlueprint(blueprint *Blueprint) MetaBlueprint
CreateMetaBlueprint creates MetaBlueprint structure of the given blueprint
func CreateMetaBlueprintWithoutState ¶
func CreateMetaBlueprintWithoutState(blueprint *Blueprint) MetaBlueprint
CreateMetaBlueprintWithoutState creates the MetaBlueprint structure with an empty state
func (*MetaBlueprint) DeepCopy ¶
func (in *MetaBlueprint) DeepCopy() *MetaBlueprint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetaBlueprint.
func (*MetaBlueprint) DeepCopyInto ¶
func (in *MetaBlueprint) DeepCopyInto(out *MetaBlueprint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ModuleArguments ¶
type ModuleArguments struct { // Assets define asset related arguments, such as data source, transformations, etc. // +optional Assets []AssetContext `json:"assets,omitempty"` }
ModuleArguments are the parameters passed to a component that runs in the data path
func (*ModuleArguments) DeepCopy ¶
func (in *ModuleArguments) DeepCopy() *ModuleArguments
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModuleArguments.
func (*ModuleArguments) DeepCopyInto ¶
func (in *ModuleArguments) DeepCopyInto(out *ModuleArguments)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ModuleCapability ¶
type ModuleCapability struct { // Capability declares what this module knows how to do - ex: read, write, transform... // +required Capability taxonomy.Capability `json:"capability"` // Scope indicates at what level the capability is used: workload, asset, cluster // If not indicated it is assumed to be asset // +optional Scope CapabilityScope `json:"scope,omitempty"` // Copy should have one or more instances in the list, and its content should have source and sink // Read should have one or more instances in the list, each with source populated // Write should have one or more instances in the list, each with sink populated // This field may not be required if not handling data // +optional SupportedInterfaces []ModuleInOut `json:"supportedInterfaces,omitempty"` // API indicates to the application how to access the capabilities provided by the module // +optional API *datacatalog.ResourceDetails `json:"api,omitempty"` // Actions are the data transformations that the module supports // +optional Actions []ModuleSupportedAction `json:"actions,omitempty"` // Plugins enable the module to add libraries to perform actions rather than implementing them by itself // +optional Plugins []Plugin `json:"plugins,omitempty"` }
Capability declares what this module knows how to do and the types of data it knows how to handle
func (*ModuleCapability) DeepCopy ¶
func (in *ModuleCapability) DeepCopy() *ModuleCapability
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModuleCapability.
func (*ModuleCapability) DeepCopyInto ¶
func (in *ModuleCapability) DeepCopyInto(out *ModuleCapability)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ModuleInOut ¶
type ModuleInOut struct { // Source specifies the input data protocol and format // +optional Source *taxonomy.Interface `json:"source,omitempty"` // Sink specifies the output data protocol and format // +optional Sink *taxonomy.Interface `json:"sink,omitempty"` }
ModuleInOut specifies the protocol and format of the data input and output by the module - if any
func (*ModuleInOut) DeepCopy ¶
func (in *ModuleInOut) DeepCopy() *ModuleInOut
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModuleInOut.
func (*ModuleInOut) DeepCopyInto ¶
func (in *ModuleInOut) DeepCopyInto(out *ModuleInOut)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ModuleInfo ¶
type ModuleInfo struct { // Name of the module // +required Name string `json:"name"` // May be one of service, config or plugin // Service: Means that the control plane deploys the component that performs the capability // Config: Another pre-installed service performs the capability and the module deployed configures // it for the particular workload or dataset // Plugin: Indicates that this module performs a capability as part of another service or module rather than as a stand-alone module // +required Type string `json:"type"` // Chart contains the information needed to use helm to install the capability // +required Chart ChartSpec `json:"chart"` // Scope indicates at what level the capability is used: workload, asset, cluster // If not indicated it is assumed to be asset // +optional Scope CapabilityScope `json:"scope,omitempty"` // Module capability // +required Capability taxonomy.Capability `json:"capability"` }
ModuleInfo is a copy of FybrikModule Custom Resource. It contains information to instantiate resource of type FybrikModule.
func (*ModuleInfo) DeepCopy ¶
func (in *ModuleInfo) DeepCopy() *ModuleInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModuleInfo.
func (*ModuleInfo) DeepCopyInto ¶
func (in *ModuleInfo) DeepCopyInto(out *ModuleInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ModuleSupportedAction ¶
type ModuleSupportedAction struct { // Unique name of an action supported by the module // +required Name taxonomy.ActionName `json:"name"` }
func (*ModuleSupportedAction) DeepCopy ¶
func (in *ModuleSupportedAction) DeepCopy() *ModuleSupportedAction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModuleSupportedAction.
func (*ModuleSupportedAction) DeepCopyInto ¶
func (in *ModuleSupportedAction) DeepCopyInto(out *ModuleSupportedAction)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObservedState ¶
type ObservedState struct { // Ready represents that the modules have been orchestrated successfully and the data is ready for usage Ready bool `json:"ready,omitempty"` // Error indicates that there has been an error to orchestrate the modules and provides the error message Error string `json:"error,omitempty"` }
ObservedState represents a part of the generated Blueprint/Plotter resource status that allows update of FybrikApplication status
func (*ObservedState) DeepCopy ¶
func (in *ObservedState) DeepCopy() *ObservedState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservedState.
func (*ObservedState) DeepCopyInto ¶
func (in *ObservedState) DeepCopyInto(out *ObservedState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Plotter ¶
type Plotter struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +required Spec PlotterSpec `json:"spec"` Status PlotterStatus `json:"status,omitempty"` }
Plotter is the Schema for the plotters API
func (*Plotter) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Plotter.
func (*Plotter) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Plotter) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PlotterList ¶
type PlotterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Plotter `json:"items"` }
PlotterList contains a list of Plotter resources
func (*PlotterList) DeepCopy ¶
func (in *PlotterList) DeepCopy() *PlotterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlotterList.
func (*PlotterList) DeepCopyInto ¶
func (in *PlotterList) DeepCopyInto(out *PlotterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PlotterList) DeepCopyObject ¶
func (in *PlotterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PlotterSpec ¶
type PlotterSpec struct { // Selector enables to connect the resource to the application // Application labels should match the labels in the selector. // For some flows the selector may not be used. // +optional Selector Selector `json:"appSelector,omitempty"` // Application context to be transferred to the modules AppInfo taxonomy.AppInfo `json:"appInfo,omitempty"` // Assets is a map holding information about the assets // The key is the assetID // +required Assets map[string]AssetDetails `json:"assets"` // +required Flows []Flow `json:"flows"` // ModulesNamespace is the namespace where modules should be allocated // +required ModulesNamespace string `json:"modulesNamespace"` // Templates is a map holding the templates used in this plotter steps // The key is the template name // +required Templates map[string]Template `json:"templates"` }
PlotterSpec defines the desired state of Plotter, which is applied in a multi-clustered environment. Plotter declares what needs to be installed and where (as blueprints running on remote clusters) which provides the Data Scientist's application with secure and governed access to the data requested in the FybrikApplication.
func (*PlotterSpec) DeepCopy ¶
func (in *PlotterSpec) DeepCopy() *PlotterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlotterSpec.
func (*PlotterSpec) DeepCopyInto ¶
func (in *PlotterSpec) DeepCopyInto(out *PlotterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PlotterStatus ¶
type PlotterStatus struct { // ObservedState includes information to be reported back to the FybrikApplication resource // It includes readiness and error indications, as well as user instructions // +optional ObservedState ObservedState `json:"observedState,omitempty"` // ObservedGeneration is taken from the Plotter metadata. This is used to determine during reconcile // whether reconcile was called because the desired state changed, or whether status of the allocated blueprints should be checked. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Flows is a map containing the status for each flow // the key is the flow name // +optional Flows map[string]FlowStatus `json:"flows,omitempty"` // Assets is a map containing the status per asset. // The key of this map is assetId // +optional Assets map[string]ObservedState `json:"assets,omitempty"` // +optional Blueprints map[string]MetaBlueprint `json:"blueprints,omitempty"` // Conditions represent the possible error and failure conditions // +optional Conditions []Condition `json:"conditions,omitempty"` // + optional ReadyTimestamp *metav1.Time `json:"readyTimestamp,omitempty"` }
PlotterStatus defines the observed state of Plotter This includes readiness, error message, and indicators received from blueprint resources owned by the Plotter for cleanup and status monitoring
func (*PlotterStatus) DeepCopy ¶
func (in *PlotterStatus) DeepCopy() *PlotterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlotterStatus.
func (*PlotterStatus) DeepCopyInto ¶
func (in *PlotterStatus) DeepCopyInto(out *PlotterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Plugin ¶
type Plugin struct { // PluginType indicates the technology used for the module and the plugin to interact // The values supported should come from the module taxonomy // Examples of such mechanisms are vault plugins, wasm, etc // +required PluginType taxonomy.PluginType `json:"pluginType"` // DataFormat indicates the format of data the plugin knows how to process DataFormat string `json:"dataFormat"` }
func (*Plugin) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Plugin.
func (*Plugin) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceReference ¶
type ResourceReference struct { // Resource namespace Namespace string `json:"namespace"` // Resource name Name string `json:"name"` // Kind of the resource (Blueprint, Plotter) Kind string `json:"kind"` // Version of FybrikApplication that has generated this resource AppVersion int64 `json:"appVersion"` }
ResourceReference contains resource identifier(name, namespace, kind)
func (*ResourceReference) DeepCopy ¶
func (in *ResourceReference) DeepCopy() *ResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceReference.
func (*ResourceReference) DeepCopyInto ¶
func (in *ResourceReference) DeepCopyInto(out *ResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceStatusIndicator ¶
type ResourceStatusIndicator struct { // Kind provides information about the resource kind // +required Kind string `json:"kind"` // SuccessCondition specifies a condition that indicates that the resource is ready // It uses kubernetes label selection syntax (https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) // +required SuccessCondition string `json:"successCondition"` // FailureCondition specifies a condition that indicates the resource failure // It uses kubernetes label selection syntax (https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) // +optional FailureCondition string `json:"failureCondition,omitempty"` // ErrorMessage specifies the resource field to check for an error, e.g. status.errorMsg // +optional ErrorMessage string `json:"errorMessage,omitempty"` }
ResourceStatusIndicator is used to determine the status of an orchestrated resource
func (*ResourceStatusIndicator) DeepCopy ¶
func (in *ResourceStatusIndicator) DeepCopy() *ResourceStatusIndicator
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceStatusIndicator.
func (*ResourceStatusIndicator) DeepCopyInto ¶
func (in *ResourceStatusIndicator) DeepCopyInto(out *ResourceStatusIndicator)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Selector ¶
type Selector struct { // Cluster name // +optional ClusterName string `json:"clusterName"` // WorkloadSelector enables to connect the resource to the application // Application labels should match the labels in the selector. // +required WorkloadSelector metav1.LabelSelector `json:"workloadSelector"` }
Selector is a label query over a set of resources in the specified cluster.
func (*Selector) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Selector.
func (*Selector) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StepArgument ¶
type StepArgument struct { // AssetID identifies the source asset of this step // +optional AssetID string `json:"assetId,omitempty"` // API holds information for accessing a module instance // +optional API *datacatalog.ResourceDetails `json:"api,omitempty"` }
StepArgument describes a step: it could be assetID or an endpoint of another step
func (*StepArgument) DeepCopy ¶
func (in *StepArgument) DeepCopy() *StepArgument
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepArgument.
func (*StepArgument) DeepCopyInto ¶
func (in *StepArgument) DeepCopyInto(out *StepArgument)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StepParameters ¶
type StepParameters struct { // +optional Arguments []*StepArgument `json:"args,omitempty"` // +optional API *datacatalog.ResourceDetails `json:"api,omitempty"` // Actions are the data transformations that the module supports // +optional Actions []taxonomy.Action `json:"action,omitempty"` }
StepParameters holds the parameters to the module that is deployed in this step
func (*StepParameters) DeepCopy ¶
func (in *StepParameters) DeepCopy() *StepParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepParameters.
func (*StepParameters) DeepCopyInto ¶
func (in *StepParameters) DeepCopyInto(out *StepParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubFlow ¶
type SubFlow struct { // Name of the SubFlow // +required Name string `json:"name"` // Type of the flow (e.g. read) // +required FlowType taxonomy.DataFlow `json:"flowType"` // Triggers // +required Triggers []SubFlowTrigger `json:"triggers"` // Steps defines a series of sequential/parallel data flow steps // The first dimension represents parallel data flows. The second sequential components // within the same parallel data flow. // +required Steps [][]DataFlowStep `json:"steps" protobuf:"bytes,11,opt,name=steps"` }
Subflows is a list of data flows which are originated from the same data asset but are triggered differently (e.g., one upon init trigger and one upon workload trigger)
func (*SubFlow) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubFlow.
func (*SubFlow) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubFlowTrigger ¶
type SubFlowTrigger string
SubFlowTrigger indicates the trigger for this subflow +kubebuilder:validation:Enum=workload;init;timer
const ( // Init flow trigger InitTrigger SubFlowTrigger = "init" // Workload flow trigger WorkloadTrigger SubFlowTrigger = "workload" // Timer flow trigger TimerTrigger SubFlowTrigger = "timer" )
TODO: These will come from the taxonomy in the future.
type Template ¶
type Template struct { // Name of the template // +required Name string `json:"name,omitempty"` // Modules is a list of dependent modules. e.g., if a plugin module is used // then the service module is used in should appear first in the modules list of the // same template. If the modules list contains more than one module, the first module in the list // is referred to as the "primary module" of which all the parameters to this template are // sent to. // +required Modules []ModuleInfo `json:"modules"` }
Template contains basic information about the required modules to serve the fybrikapplication e.g., the module helm chart name.
func (*Template) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Template.
func (*Template) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Vault ¶
type Vault struct { // Role is the Vault role used for retrieving the credentials // +required Role string `json:"role"` // SecretPath is the path of the secret holding the Credentials in Vault // +required SecretPath string `json:"secretPath"` // Address is Vault address // +required Address string `json:"address"` // AuthPath is the path to auth method i.e. kubernetes // +required AuthPath string `json:"authPath"` }
Holds details for retrieving credentials from Vault store.
func (*Vault) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Vault.
func (*Vault) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.