Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the api v1alpha1 API group +kubebuilder:object:generate=true +groupName=app.fybrik.io
Index ¶
- Constants
- Variables
- type ApplicationDetails
- type AssetDetails
- type AssetState
- type Blueprint
- type BlueprintList
- type BlueprintModule
- type BlueprintSpec
- type BlueprintStatus
- type CapabilityScope
- type CapabilityType
- type CatalogRequirements
- type ChartSpec
- type Condition
- type ConditionType
- type CopyModuleArgs
- type CopyRequirements
- type DataContext
- type DataFlow
- type DataFlowStep
- type DataRequirements
- type DataStore
- type DatasetDetails
- type Dependency
- type DependencyType
- type EndpointSpec
- type Flow
- 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
- type FybrikModuleList
- type FybrikModuleSpec
- type FybrikStorageAccount
- type FybrikStorageAccountList
- type FybrikStorageAccountSpec
- type FybrikStorageAccountStatus
- type InterfaceDetails
- type MetaBlueprint
- type ModuleAPI
- type ModuleArguments
- type ModuleCapability
- type ModuleInOut
- type ModuleInfo
- type ObservedState
- type Plotter
- type PlotterList
- type PlotterSpec
- type PlotterStatus
- type Plugin
- type ReadModuleArgs
- type ResourceReference
- type ResourceStatusIndicator
- type Selector
- type Service
- type StepParameters
- type StepSink
- type StepSource
- type SubFlow
- type SubFlowTrigger
- type SupportedAction
- type Template
- type Vault
- type WriteModuleArgs
Constants ¶
const ( BlueprintNamespaceLabel = "app.fybrik.io/blueprintNamespace" BlueprintNameLabel = "app.fybrik.io/blueprintName" )
const ( InvalidAssetID string = "the asset does not exist" ReadAccessDenied string = "governance policies forbid access to the data" CopyNotAllowed string = "copy of the data is required but can not be done according to the governance policies" WriteNotAllowed string = "governance policies forbid writing of the data" ModuleNotFound string = "no module has been registered" InsufficientStorage string = "no bucket was provisioned for implicit copy" InvalidClusterConfiguration string = "cluster configuration does not support the requirements" InvalidAssetDataStore string = "the asset data store is not supported" )
ErrorMessages that are reported to the user
const ( ReadyConditionIndex int64 = 0 DenyConditionIndex int64 = 1 ErrorConditionIndex int64 = 2 )
Condition indices are static. Conditions always present in the status.
const ( ApplicationClusterLabel = "app.fybrik.io/appCluster" ApplicationNamespaceLabel = "app.fybrik.io/appNamespace" ApplicationNameLabel = "app.fybrik.io/appName" )
const ( S3 string = "s3" Kafka string = "kafka" JdbcDb2 string = "jdbc-db2" ArrowFlight string = "fybrik-arrow-flight" Arrow string = "arrow" Parquet string = "parquet" Table string = "table" )
Values used in tests and for grpc connection with connectors.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "app.fybrik.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type ApplicationDetails ¶
ApplicationDetails provides information about the Data Scientist's application, which is deployed separately. The information provided is used to determine if the data should be altered in any way prior to its use, based on policies and rules defined in an external data policy manager.
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 AssetDetails ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *AssetDetails) DeepCopy() *AssetDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssetDetails.
func (*AssetDetails) DeepCopyInto ¶ added in v0.5.0
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 ¶ added in v0.5.0
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 EndpointSpec `json:"endpoint,omitempty"` }
AssetState defines the observed state of an asset
func (*AssetState) DeepCopy ¶ added in v0.5.0
func (in *AssetState) DeepCopy() *AssetState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssetState.
func (*AssetState) DeepCopyInto ¶ added in v0.5.0
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"` Spec BlueprintSpec `json:"spec,omitempty"` 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 ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *BlueprintModule) DeepCopy() *BlueprintModule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlueprintModule.
func (*BlueprintModule) DeepCopyInto ¶ added in v0.5.0
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"` // Modules is a map which contains modules that indicate the data path components that run in this cluster // The map key is InstanceName which is the unique name for the deployed instance related to this workload // +required Modules map[string]BlueprintModule `json:"modules"` }
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. 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 instance name which is the unique name for the deployed instance related to this workload // +required ModulesState map[string]ObservedState `json:"modules"` // 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 forthe 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 ¶ added in v0.5.0
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 CapabilityType ¶ added in v0.5.0
type CapabilityType string
ModuleCapability indicates at a high level what is being performed - often on a datset, but potentially other things as well +kubebuilder:validation:Enum=copy;read;write;transform
const ( // Copy moves data from one location to another - i.e implicit copy Copy CapabilityType = "copy" // Write is accessed from within an application, typically through an SDK Write CapabilityType = "write" // Read is accessed from within an application, typically through an SDK Read CapabilityType = "read" // Transform processes and changes data Transform CapabilityType = "transform" )
TODO - Should these come from the taxonomy?
type CatalogRequirements ¶
type CatalogRequirements struct { // CatalogService specifies the datacatalog service that will be used for catalogging the data into. // +optional CatalogService string `json:"service,omitempty"` // CatalogID specifies the catalog where the data will be cataloged. // +optional CatalogID string `json:"catalogID,omitempty"` }
CatalogRequirements contain the specifics for catalogging the data asset
func (*CatalogRequirements) DeepCopy ¶
func (in *CatalogRequirements) DeepCopy() *CatalogRequirements
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CatalogRequirements.
func (*CatalogRequirements) DeepCopyInto ¶
func (in *CatalogRequirements) DeepCopyInto(out *CatalogRequirements)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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: true or false Status corev1.ConditionStatus `json:"status"` // Message contains the details of the current condition // +optional Message string `json:"message,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 means that an error was encountered during blueprint construction ErrorCondition ConditionType = "Error" // DenyCondition means that access to a dataset is denied DenyCondition ConditionType = "Deny" // ReadyCondition means that access to a dataset is granted ReadyCondition ConditionType = "Ready" )
type CopyModuleArgs ¶
type CopyModuleArgs struct { // Source is the where the data currently resides // +required Source DataStore `json:"source"` // Destination is the data store to which the data will be copied // +required Destination DataStore `json:"destination"` // 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 []SupportedAction `json:"transformations,omitempty"` }
CopyModuleArgs define the input parameters for modules that copy data from location A to location B Credentials are stored in a credential management system such as vault
func (*CopyModuleArgs) DeepCopy ¶
func (in *CopyModuleArgs) DeepCopy() *CopyModuleArgs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CopyModuleArgs.
func (*CopyModuleArgs) DeepCopyInto ¶
func (in *CopyModuleArgs) DeepCopyInto(out *CopyModuleArgs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CopyRequirements ¶
type CopyRequirements struct { // Required indicates that the data must be copied. // +optional Required bool `json:"required,omitempty"` // Catalog indicates that the data asset must be cataloged. // +optional Catalog CatalogRequirements `json:"catalog,omitempty"` }
CopyRequirements include the requirements for the data copy operation
func (*CopyRequirements) DeepCopy ¶
func (in *CopyRequirements) DeepCopy() *CopyRequirements
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CopyRequirements.
func (*CopyRequirements) DeepCopyInto ¶
func (in *CopyRequirements) DeepCopyInto(out *CopyRequirements)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataContext ¶
type DataContext struct { // DataSetID is a unique identifier of the dataset chosen from the data catalog for processing by the data user application. // +required // +kubebuilder:validation:MinLength=1 DataSetID string `json:"dataSetID"` // CatalogService represents the catalog service for accessing the requested dataset. // If not specified, the enterprise catalog service will be used. // +optional CatalogService string `json:"catalogService,omitempty"` // Requirements from the system // +required Requirements DataRequirements `json:"requirements"` }
DataContext indicates data set chosen by the Data Scientist to be used by his application, and includes information about the data format and technologies used by the application 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 DataFlow ¶
type DataFlow string
const ( // ReadFlow indicates a data set is being read ReadFlow DataFlow = "read" // WriteFlow indicates a data set is being written WriteFlow DataFlow = "write" // DeleteFlow indicates a data set is being deleted DeleteFlow DataFlow = "delete" // CopyFlow indicates a data set is being copied CopyFlow DataFlow = "copy" )
type DataFlowStep ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *DataFlowStep) DeepCopy() *DataFlowStep
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataFlowStep.
func (*DataFlowStep) DeepCopyInto ¶ added in v0.5.0
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 // +required Interface InterfaceDetails `json:"interface"` // CopyRequrements include the requirements for copying the data // +optional Copy CopyRequirements `json:"copy,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. Vault map[string]Vault `json:"vault"` // Connection has the relevant details for accesing the data (url, table, ssl, etc.) // +required Connection *serde.Arbitrary `json:"connection"` // Format represents data format (e.g. parquet) as received from catalog connectors // +required Format string `json:"format"` }
DataStore contains the details for accesing the data that are sent by catalog connectors Credentials for accesing 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 { // Reference to a Dataset resource containing the request to provision storage DatasetRef string `json:"datasetRef,omitempty"` // Reference to a secret where the credentials are stored SecretRef string `json:"secretRef,omitempty"` // Dataset information Details serde.Arbitrary `json:"details,omitempty"` }
DatasetDetails contain dataset connection and metadata required to register this dataset in the enterprise catalog
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 EndpointSpec ¶
type EndpointSpec struct { // Hostname is the hostname to connect to for connecting to a module exposed service. // By default this equals to "{{.Release.Name}}.{{.Release.Namespace}}" of the module. // <br/> // Module developers can overide the default behavior by providing a template that may use // the ".Release.Name", ".Release.Namespace" and ".Values.labels" variables. // +optional Hostname string `json:"hostname,omitempty"` // +required Port int32 `json:"port"` // For example: http, https, grpc, grpc+tls, jdbc:oracle:thin:@ etc // +required Scheme string `json:"scheme"` }
EndpointSpec is used both by the module creator and by the status of the fybrikapplication
func (*EndpointSpec) DeepCopy ¶
func (in *EndpointSpec) DeepCopy() *EndpointSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointSpec.
func (*EndpointSpec) DeepCopyInto ¶
func (in *EndpointSpec) DeepCopyInto(out *EndpointSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Flow ¶ added in v0.5.0
type Flow struct { // Name of the flow // +required Name string `json:"name"` // Type of the flow (e.g. read) // +required FlowType 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 ¶ added in v0.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Flow.
func (*Flow) DeepCopyInto ¶ added in v0.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlowStatus ¶ added in v0.5.0
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 ¶ added in v0.5.0
func (in *FlowStatus) DeepCopy() *FlowStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowStatus.
func (*FlowStatus) DeepCopyInto ¶ added in v0.5.0
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"` Spec FybrikApplicationSpec `json:"spec,omitempty"` Status FybrikApplicationStatus `json:"status,omitempty"` }
FybrikApplication provides information about the application being used by a Data Scientist, the nature of the processing, and the data sets that the Data Scientist has chosen for processing by the application. The FybrikApplication controller (aka pilot) 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 Blueprint which defines the secure runtime environment and all the components in it. This runtime environment provides the Data Scientist's 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 an external credential management system, which may or may not be part of a data catalog. +kubebuilder:object:root=true +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 ¶ added in v0.5.0
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. // For some flows the selector may not be used. // +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 Data Scientist's application. // +required AppInfo ApplicationDetails `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 the desired state of FybrikApplication.
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"` }
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.
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.
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 FybrikStorageAccount ¶
type FybrikStorageAccount struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec FybrikStorageAccountSpec `json:"spec,omitempty"` 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
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 { // +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 // Endpoint Endpoint string `json:"endpoint"` // +required // +kubebuilder:validation:MinItems=1 // Regions Regions []string `json:"regions"` }
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 InterfaceDetails ¶
type InterfaceDetails struct { // Protocol defines the interface protocol used for data transactions // +required Protocol string `json:"protocol"` // DataFormat defines the data format type // +optional DataFormat string `json:"dataformat,omitempty"` // To be removed in future }
InterfaceDetails indicate how the application or module receive or write the data
func (*InterfaceDetails) DeepCopy ¶
func (in *InterfaceDetails) DeepCopy() *InterfaceDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceDetails.
func (*InterfaceDetails) DeepCopyInto ¶
func (in *InterfaceDetails) DeepCopyInto(out *InterfaceDetails)
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 ModuleAPI ¶
type ModuleAPI struct { // +required InterfaceDetails `json:",inline"` // +required Endpoint EndpointSpec `json:"endpoint"` }
func (*ModuleAPI) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModuleAPI.
func (*ModuleAPI) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ModuleArguments ¶
type ModuleArguments struct { // Labels of FybrikApplication // +optional Labels map[string]string `json:"labels,omitempty"` // Application selector is used to identify the user workload. // It is obtained from FybrikApplication spec. // +optional AppSelector metav1.LabelSelector `json:"appSelector,omitempty"` // CopyArgs are parameters specific to modules that copy data from one data store to another. // +optional Copy *CopyModuleArgs `json:"copy,omitempty"` // ReadArgs are parameters that are specific to modules that enable an application to read data // +optional Read []ReadModuleArgs `json:"read,omitempty"` // WriteArgs are parameters that are specific to modules that enable an application to write data // +optional Write []WriteModuleArgs `json:"write,omitempty"` }
ModuleArguments are the parameters passed to a component that runs in the data path In the future might support output args as well The arguments passed depend on the type of module
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 ¶ added in v0.5.0
type ModuleCapability struct { // Capability declares what this module knows how to do - ex: read, write, transform... // +required Capability CapabilityType `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 // TODO This is optional but in ModuleAPI the endpoint is required? // +optional API *ModuleAPI `json:"api,omitempty"` // Actions are the data transformations that the module supports // +optional Actions []SupportedAction `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 ¶ added in v0.5.0
func (in *ModuleCapability) DeepCopy() *ModuleCapability
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModuleCapability.
func (*ModuleCapability) DeepCopyInto ¶ added in v0.5.0
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 *InterfaceDetails `json:"source,omitempty"` // Sink specifies the output data protocol and format // +optional Sink *InterfaceDetails `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 ¶ added in v0.5.0
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"` }
ModuleInfo is a copy of FybrikModule Custom Resource. It contains information to instantiate resource of type FybrikModule.
func (*ModuleInfo) DeepCopy ¶ added in v0.5.0
func (in *ModuleInfo) DeepCopy() *ModuleInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModuleInfo.
func (*ModuleInfo) DeepCopyInto ¶ added in v0.5.0
func (in *ModuleInfo) DeepCopyInto(out *ModuleInfo)
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"` Spec PlotterSpec `json:"spec,omitempty"` 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"` // 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"` // 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 ¶ added in v0.5.0
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 string `json:"pluginType"` // DataFormat indicates the format of data the plugin knows how to process DataFormat string `json:"dataFormat"` }
func (*Plugin) DeepCopy ¶ added in v0.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Plugin.
func (*Plugin) DeepCopyInto ¶ added in v0.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReadModuleArgs ¶
type ReadModuleArgs struct { // Source of the read path module // +required Source DataStore `json:"source"` // 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 // +optional Transformations []SupportedAction `json:"transformations,omitempty"` }
ReadModuleArgs define the input parameters for modules that read data from location A
func (*ReadModuleArgs) DeepCopy ¶
func (in *ReadModuleArgs) DeepCopy() *ReadModuleArgs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReadModuleArgs.
func (*ReadModuleArgs) DeepCopyInto ¶
func (in *ReadModuleArgs) DeepCopyInto(out *ReadModuleArgs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceReference ¶
type ResourceReference struct { // Name of the resource Name string `json:"name"` // Namespace of the resource Namespace string `json:"namespace"` // 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 Service ¶ added in v0.5.0
type Service struct { //+required Endpoint EndpointSpec `json:"endpoint"` // Format represents data format (e.g. parquet) as received from catalog connectors // +required Format string `json:"format"` }
Service holds information for accessing a module instance
func (*Service) DeepCopy ¶ added in v0.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶ added in v0.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StepParameters ¶ added in v0.5.0
type StepParameters struct { // +optional Source *StepSource `json:"source,omitempty"` // +optional Sink *StepSink `json:"sink,omitempty"` // +optional API *Service `json:"api,omitempty"` // Actions are the data transformations that the module supports // +optional Actions []SupportedAction `json:"action,omitempty"` }
StepParameters holds the parameters to the module that is deployed in this step
func (*StepParameters) DeepCopy ¶ added in v0.5.0
func (in *StepParameters) DeepCopy() *StepParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepParameters.
func (*StepParameters) DeepCopyInto ¶ added in v0.5.0
func (in *StepParameters) DeepCopyInto(out *StepParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StepSink ¶ added in v0.5.0
type StepSink struct { // AssetID identifies the target asset of this step // +required AssetID string `json:"assetId"` }
StepSink holds information to where the target data will be written: it could be assetID of an asset specified in fybrikapplication or of an asset created by fybrik control-plane
func (*StepSink) DeepCopy ¶ added in v0.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepSink.
func (*StepSink) DeepCopyInto ¶ added in v0.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StepSource ¶ added in v0.5.0
type StepSource struct { // AssetID identifies the source asset of this step // +optional AssetID string `json:"assetId,omitempty"` //+optional API *Service `json:"api,omitempty"` }
StepSource is the source of this step: it could be assetID or an enpoint of another step
func (*StepSource) DeepCopy ¶ added in v0.5.0
func (in *StepSource) DeepCopy() *StepSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepSource.
func (*StepSource) DeepCopyInto ¶ added in v0.5.0
func (in *StepSource) DeepCopyInto(out *StepSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubFlow ¶ added in v0.5.0
type SubFlow struct { // Name of the SubFlow // +required Name string `json:"name"` // Type of the flow (e.g. read) // +required FlowType 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 ¶ added in v0.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubFlow.
func (*SubFlow) DeepCopyInto ¶ added in v0.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubFlowTrigger ¶ added in v0.5.0
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 SupportedAction ¶
type SupportedAction struct {
taxonomymodels.Action
}
+kubebuilder:validation:Type=object +kubebuilder:pruning:PreserveUnknownFields
func (*SupportedAction) DeepCopy ¶
func (in *SupportedAction) DeepCopy() *SupportedAction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupportedAction.
func (*SupportedAction) DeepCopyInto ¶
func (in *SupportedAction) DeepCopyInto(out *SupportedAction)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SupportedAction) MarshalJSON ¶ added in v0.5.0
func (action *SupportedAction) MarshalJSON() ([]byte, error)
func (*SupportedAction) UnmarshalJSON ¶ added in v0.5.0
func (action *SupportedAction) UnmarshalJSON(data []byte) error
type Template ¶ added in v0.5.0
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 ¶ added in v0.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Template.
func (*Template) DeepCopyInto ¶ added in v0.5.0
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.
type WriteModuleArgs ¶
type WriteModuleArgs struct { // Destination is the data store to which the data will be written // +required Destination DataStore `json:"destination"` // 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 written. // +optional Transformations []SupportedAction `json:"transformations,omitempty"` }
WriteModuleArgs define the input parameters for modules that write data to location B
func (*WriteModuleArgs) DeepCopy ¶
func (in *WriteModuleArgs) DeepCopy() *WriteModuleArgs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WriteModuleArgs.
func (*WriteModuleArgs) DeepCopyInto ¶
func (in *WriteModuleArgs) DeepCopyInto(out *WriteModuleArgs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.