v1alpha1

package
v0.4.2-alpha-release Latest Latest
Warning

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

Go to latest
Published: Nov 16, 2020 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the nifi v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=nifi.orange.com

Package v1alpha1 contains API Schema definitions for the nifi v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=nifi.orange.com

Index

Constants

View Source
const (
	// Global access policies govern the following system level authorizations
	GlobalAccessPolicyType AccessPolicyType = "global"
	// Component level access policies govern the following component level authorizations
	ComponentAccessPolicyType AccessPolicyType = "component"

	// Allows users to view
	ReadAccessPolicyAction AccessPolicyAction = "read"
	// Allows users to modify
	WriteAccessPolicyAction AccessPolicyAction = "write"

	// Global
	// About the UI
	FlowAccessPolicyResource AccessPolicyResource = "/flow"
	// About the controller including Reporting Tasks, Controller Services, Parameter Contexts and Nodes in the Cluster
	ControllerAccessPolicyResource AccessPolicyResource = "/controller"
	// About the Parameter Contexts. Access to Parameter Contexts are inherited from the "access the controller"
	// policies unless overridden.
	ParameterContextAccessPolicyResource AccessPolicyResource = "/parameter-context"
	// Allows users to submit a Provenance Search and request Event Lineage
	ProvenanceAccessPolicyResource AccessPolicyResource = "/provenance"
	// About the restricted components assuming other permissions are sufficient. The restricted components may
	// indicate which specific permissions are required. Permissions can be granted for specific restrictions or
	// be granted regardless of restrictions. If permission is granted regardless of restrictions,
	// the user can create/modify all restricted components.
	RestrictedComponentsAccessPolicyResource AccessPolicyResource = "/restricted-components"
	// About the policies for all components
	PoliciesAccessPolicyResource AccessPolicyResource = "/policies"
	// About the users and user groups
	TenantsAccessPolicyResource AccessPolicyResource = "/tenants"
	// Allows other NiFi instances to retrieve Site-To-Site details
	SiteToSiteAccessPolicyResource AccessPolicyResource = "/site-to-site"
	// Allows users to view System Diagnostics
	SystemAccessPolicyResource AccessPolicyResource = "/system"
	// Allows proxy machines to send requests on the behalf of others
	ProxyAccessPolicyResource AccessPolicyResource = "/proxy"
	// About counters
	CountersAccessPolicyResource AccessPolicyResource = "/counters"

	// Component
	// About the component configuration details
	ComponentsAccessPolicyResource AccessPolicyResource = "/"
	// to operate components by changing component run status (start/stop/enable/disable),
	// remote port transmission status, or terminating processor threads
	OperationAccessPolicyResource AccessPolicyResource = "/operation"
	// to view provenance events generated by this component
	ProvenanceDataAccessPolicyResource AccessPolicyResource = "/provenance-data"
	// About metadata and content for this component in flowfile queues in outbound connections
	// and through provenance events
	DataAccessPolicyResource AccessPolicyResource = "/data"
	//
	PoliciesComponentAccessPolicyResource AccessPolicyResource = "/policies"
	// Allows a port to receive data from NiFi instances
	DataTransferAccessPolicyResource AccessPolicyResource = "/data-transfer"

	// ComponentType
	ProcessGroupType string = "process-groups"
)
View Source
const (
	// DataflowStateCreated describes the status of a NifiDataflow as created
	DataflowStateCreated DataflowState = "Created"
	// DataflowStateStarting describes the status of a NifiDataflow as starting
	DataflowStateStarting DataflowState = "Starting"
	// DataflowStateRunning describes the status of a NifiDataflow as running
	DataflowStateRan DataflowState = "Ran"
	// DataflowStateOutOfSync describes the status of a NifiDataflow as out of sync
	DataflowStateOutOfSync DataflowState = "OutOfSync"
	// DataflowStateInSync describes the status of a NifiDataflow as in sync
	DataflowStateInSync DataflowState = "InSync"

	// RevertRequestType defines a revert changes request.
	RevertRequestType DataflowUpdateRequestType = "Revert"
	// UpdateRequestType defines an update version request.
	UpdateRequestType DataflowUpdateRequestType = "Update"

	// DrainStrategy leads to shutting down only input components (Input processors, remote input process group)
	// and dropping all flowfiles from the flow.
	DrainStrategy DataflowUpdateStrategy = "drain"
	// DropStrategy leads to shutting down all components and dropping all flowfiles from the flow.
	DropStrategy DataflowUpdateStrategy = "drop"

	// UserStateCreated describes the status of a NifiUser as created
	UserStateCreated UserState = "created"
	// TLSCert is where a cert is stored in a user secret when requested
	TLSCert string = "tls.crt"
	// TLSCert is where a private key is stored in a user secret when requested
	TLSKey string = "tls.key"
	// TLSJKSKey is where a JKS is stored in a user secret when requested
	TLSJKSKey string = "tls.jks"
	// CoreCACertKey is where ca ceritificates are stored in user certificates
	CoreCACertKey string = "ca.crt"
	// CACertKey is the key where the CA certificate is stored in the operator secrets
	CACertKey string = "caCert"
	// CAPrivateKeyKey stores the private key for the CA
	CAPrivateKeyKey string = "caKey"
	// ClientCertKey stores the client certificate (operator usage)
	ClientCertKey string = "clientCert"
	// ClientPrivateKeyKey stores the client private key
	ClientPrivateKeyKey string = "clientKey"
	// PeerCertKey stores the peer certificate (node certificates)
	PeerCertKey string = "peerCert"
	// PeerPrivateKeyKey stores the peer private key
	PeerPrivateKeyKey string = "peerKey"
	// PasswordKey stores the JKS password
	PasswordKey string = "password"
)
View Source
const (
	// Configured states the node is running
	Configured RackAwarenessState = "Configured"

	// GracefulUpscaleRequired states that a node upscale is required
	GracefulUpscaleRequired State = "GracefulUpscaleRequired"
	// GracefulUpscaleRunning states that the node upscale task is still running
	GracefulUpscaleRunning State = "GracefulUpscaleRunning"
	// GracefulUpscaleSucceeded states the node is updated gracefully
	GracefulUpscaleSucceeded State = "GracefulUpscaleSucceeded"

	// Downscale nifi cluster states
	// GracefulDownscaleRequired states that a node downscale is required
	GracefulDownscaleRequired State = "GracefulDownscaleRequired"
	// GracefulDownscaleRunning states that the node downscale is still running in
	GracefulDownscaleRunning State = "GracefulDownscaleRunning"
	// GracefulUpscaleSucceeded states the node is updated gracefully
	GracefulDownscaleSucceeded State = "GracefulDownscaleSucceeded"

	// NifiClusterInitializing states that the cluster is still in initializing stage
	NifiClusterInitializing ClusterState = "ClusterInitializing"
	// NifiClusterInitialized states that the cluster is initialized
	NifiClusterInitialized ClusterState = "ClusterInitialized"
	// NifiClusterReconciling states that the cluster is still in reconciling stage
	NifiClusterReconciling ClusterState = "ClusterReconciling"
	// NifiClusterRollingUpgrading states that the cluster is rolling upgrading
	NifiClusterRollingUpgrading ClusterState = "ClusterRollingUpgrading"
	// NifiClusterRunning states that the cluster is in running state
	NifiClusterRunning ClusterState = "ClusterRunning"

	// ConfigInSync states that the generated nodeConfig is in sync with the Node
	ConfigInSync ConfigurationState = "ConfigInSync"
	// ConfigOutOfSync states that the generated nodeConfig is out of sync with the Node
	ConfigOutOfSync ConfigurationState = "ConfigOutOfSync"

	// DisconnectNodeAction states that the NiFi node is disconnecting from NiFi Cluster
	DisconnectNodeAction ActionStep = "DISCONNECTING"
	// DisconnectStatus states that the NiFi node is disconnected from NiFi Cluster
	DisconnectStatus ActionStep = "DISCONNECTED"
	// OffloadNodeAction states that the NiFi node is offloading data to NiFi Cluster
	OffloadNodeAction ActionStep = "OFFLOADING"
	// OffloadStatus states that the NiFi node offloaded data to NiFi Cluster
	OffloadStatus ActionStep = "OFFLOADED"
	// RemovePodAction states that the NiFi node pod and object related are removing by operator.
	RemovePodAction ActionStep = "POD_REMOVING"
	// RemovePodAction states that the NiFi node pod and object related have been removed by operator.
	RemovePodStatus ActionStep = "POD_REMOVED"
	// RemoveNodeAction states that the NiFi node is removing from NiFi Cluster
	RemoveNodeAction ActionStep = "REMOVING"
	// RemoveStatus states that the NiFi node is removed from NiFi Cluster
	RemoveStatus ActionStep = "REMOVED"
	// ConnectNodeAction states that the NiFi node is connecting to the NiFi Cluster
	ConnectNodeAction ActionStep = "CONNECTING"
	// ConnectStatus states that the NiFi node is connected to the NiFi Cluster
	ConnectStatus ActionStep = "CONNECTED"

	// IsInitClusterNode states the node is part of initial cluster setup
	IsInitClusterNode InitClusterNode = true
	// NotInitClusterNode states the node is not part of initial cluster setup
	NotInitClusterNode InitClusterNode = false
)
View Source
const (
	ClusterListenerType = "cluster"
	HttpListenerType    = "http"
	HttpsListenerType   = "https"
	S2sListenerType     = "s2s"
	MetricsPort         = 9020
)

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "nifi.orange.com", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)

Functions

Types

type AccessPolicy

type AccessPolicy struct {
	// +kubebuilder:validation:Enum={"global","component"}
	// type defines the kind of access policy, could be "global" or "component".
	Type AccessPolicyType `json:"type"`
	// +kubebuilder:validation:Enum={"read","write"}
	// action defines the kind of action that will be granted, could be "read" or "write"
	Action AccessPolicyAction `json:"action"`
	// +kubebuilder:validation:Enum={"/system","/flow","/controller","/parameter-context","/provenance","/restricted-components","/policies","/tenants","/site-to-site","/proxy","/counters","/","/operation","/provenance-data","/data","/policies","/data-transfer"}
	// resource defines the kind of resource targeted by this access policies, please refer to the following page :
	// https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#access-policies
	Resource AccessPolicyResource `json:"resource"`
	// componentType is used if the type is "component", it's allow to define the kind of component on which is the
	// access policy
	ComponentType string `json:"componentType,omitempty"`
	// componentId is used if the type is "component", it's allow to define the id of the component on which is the
	// access policy
	ComponentId string `json:"componentId,omitempty"`
}

func (*AccessPolicy) DeepCopy

func (in *AccessPolicy) DeepCopy() *AccessPolicy

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

func (*AccessPolicy) DeepCopyInto

func (in *AccessPolicy) DeepCopyInto(out *AccessPolicy)

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

func (*AccessPolicy) GetResource

func (a *AccessPolicy) GetResource(cluster *NifiCluster) string

type AccessPolicyAction

type AccessPolicyAction string

AccessPolicyAction represents the access policy action

type AccessPolicyResource

type AccessPolicyResource string

AccessPolicyResource represents the access policy resource

type AccessPolicyType

type AccessPolicyType string

AccessPolicyType represents the type of access policy

type ActionStep

type ActionStep string

Action step holds info about the action step

type BootstrapProperties

type BootstrapProperties struct {
	// JVM memory settings
	NifiJvmMemory string `json:"nifiJvmMemory,omitempty"`
	// Additionnals bootstrap.properties configuration that will override the one produced based
	// on template and configurations.
	OverrideConfigs string `json:"overrideConfigs,omitempty"`
}

BootstrapProperties configuration that will be applied to the node.

func (*BootstrapProperties) DeepCopy

func (in *BootstrapProperties) DeepCopy() *BootstrapProperties

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

func (*BootstrapProperties) DeepCopyInto

func (in *BootstrapProperties) DeepCopyInto(out *BootstrapProperties)

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

func (*BootstrapProperties) GetNifiJvmMemory

func (bProperties *BootstrapProperties) GetNifiJvmMemory() string

GetNifiJvmMemory returns the default "2g" NifiJvmMemory if not specified otherwise

type ClusterReference

type ClusterReference struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace,omitempty"`
}

ClusterReference states a reference to a cluster for dataflow/registryclient/user provisioning

func (*ClusterReference) DeepCopy

func (in *ClusterReference) DeepCopy() *ClusterReference

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

func (*ClusterReference) DeepCopyInto

func (in *ClusterReference) DeepCopyInto(out *ClusterReference)

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

type ClusterState

type ClusterState string

ClusterState holds info about the cluster state

type ConfigurationState

type ConfigurationState string

ConfigurationState holds info about the configuration state

type DataflowState

type DataflowState string

DataflowState defines the state of a NifiDataflow

type DataflowUpdateRequestType

type DataflowUpdateRequestType string

DataflowUpdateRequestType defines the type of versioned flow update request

type DataflowUpdateStrategy

type DataflowUpdateStrategy string

DataflowUpdateStrategy defines the type of strategy to update a flow

type DisruptionBudget

type DisruptionBudget struct {
	// If set to true, will create a podDisruptionBudget
	// +optional
	Create bool `json:"create,omitempty"`
	// The budget to set for the PDB, can either be static number or a percentage
	// +kubebuilder:validation:Pattern:="^[0-9]+$|^[0-9]{1,2}%$|^100%$"
	Budget string `json:"budget,omitempty"`
}

DisruptionBudget defines the configuration for PodDisruptionBudget

func (*DisruptionBudget) DeepCopy

func (in *DisruptionBudget) DeepCopy() *DisruptionBudget

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

func (*DisruptionBudget) DeepCopyInto

func (in *DisruptionBudget) DeepCopyInto(out *DisruptionBudget)

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

type DropRequest

type DropRequest struct {
	// the connection id.
	ConnectionId string `json:"connectionId"`
	// the id for this drop request.
	Id string `json:"id"`
	// the uri for this request.
	Uri string `json:"uri"`
	// the last time this request was updated.
	LastUpdated string `json:"lastUpdated"`
	// whether the request has finished.
	Finished bool `json:"finished"`
	// an explication of why the request failed, or null if this request has not failed.
	FailureReason string `json:"failureReason"`
	// the percentage complete of the request, between 0 and 100.
	PercentCompleted int32 `json:"percentCompleted"`
	// the number of flow files currently queued.
	CurrentCount int32 `json:"currentCount"`
	// the size of flow files currently queued in bytes.
	CurrentSize int64 `json:"currentSize"`
	// the count and size of flow files currently queued.
	Current string `json:"current"`
	// the number of flow files to be dropped as a result of this request.
	OriginalCount int32 `json:"originalCount"`
	// the size of flow files to be dropped as a result of this request in bytes.
	OriginalSize int64 `json:"originalSize"`
	// the count and size of flow files to be dropped as a result of this request.
	Original string `json:"original"`
	// the number of flow files that have been dropped thus far.
	DroppedCount int32 `json:"droppedCount"`
	// the size of flow files currently queued in bytes.
	DroppedSize int64 `json:"droppedSize"`
	// the count and size of flow files that have been dropped thus far.
	Dropped string `json:"dropped"`
	// the state of the request
	State string `json:"state"`
}

func (*DropRequest) DeepCopy

func (in *DropRequest) DeepCopy() *DropRequest

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

func (*DropRequest) DeepCopyInto

func (in *DropRequest) DeepCopyInto(out *DropRequest)

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

type ExternalListenerConfig

type ExternalListenerConfig struct {
	// TODO: remove type field # specific to Nifi ?
	//
	Type string `json:"type"`
	//
	Name string `json:"name"`
	//
	ExternalStartingPort int32 `json:"externalStartingPort"`
	//
	ContainerPort int32 `json:"containerPort"`
	//
	HostnameOverride string `json:"hostnameOverride,omitempty"`
}

ExternalListenerConfig defines the external listener config for Nifi TODO: enable configuration of ingress or something like this.

func (*ExternalListenerConfig) DeepCopy

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

func (*ExternalListenerConfig) DeepCopyInto

func (in *ExternalListenerConfig) DeepCopyInto(out *ExternalListenerConfig)

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

type GracefulActionState

type GracefulActionState struct {
	// ErrorMessage holds the information what happened with Nifi Cluster
	ErrorMessage string `json:"errorMessage"`
	// ActionStep holds info about the action step ran
	ActionStep ActionStep `json:"actionStep,omitempty"`
	// TaskStarted hold the time when the execution started
	TaskStarted string `json:"TaskStarted,omitempty"`
	// ActionState holds the information about Action state
	State State `json:"actionState"`
}

GracefulActionState holds information about GracefulAction State

func (*GracefulActionState) DeepCopy

func (in *GracefulActionState) DeepCopy() *GracefulActionState

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

func (*GracefulActionState) DeepCopyInto

func (in *GracefulActionState) DeepCopyInto(out *GracefulActionState)

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

type InitClusterNode

type InitClusterNode bool

InitClusterNode holds info about if the node was part of the init cluster setup

type InternalListenerConfig

type InternalListenerConfig struct {
	// +kubebuilder:validation:Enum={"cluster", "http", "https", "s2s"}
	// (Optional field) Type allow to specify if we are in a specific nifi listener
	// it's allowing to define some required information such as Cluster Port,
	// Http Port, Https Port or S2S port
	Type string `json:"type,omitempty"`
	// An identifier for the port which will be configured.
	Name string `json:"name"`
	// The container port.
	ContainerPort int32 `json:"containerPort"`
}

InternalListenerConfig defines the internal listener config for Nifi

func (*InternalListenerConfig) DeepCopy

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

func (*InternalListenerConfig) DeepCopyInto

func (in *InternalListenerConfig) DeepCopyInto(out *InternalListenerConfig)

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

type LdapConfiguration

type LdapConfiguration struct {
	// If set to true, we will enable ldap usage into nifi.properties configuration.
	Enabled bool `json:"enabled,omitempty"`
	// Space-separated list of URLs of the LDAP servers (i.e. ldap://<hostname>:<port>).
	Url string `json:"url,omitempty"`
	// Base DN for searching for users (i.e. CN=Users,DC=example,DC=com).
	SearchBase string `json:"searchBase,omitempty"`
	// Filter for searching for users against the 'User Search Base'.
	// (i.e. sAMAccountName={0}). The user specified name is inserted into '{0}'.
	SearchFilter string `json:"searchFilter,omitempty"`
}

LdapConfiguration specifies the configuration if you want to use LDAP

func (*LdapConfiguration) DeepCopy

func (in *LdapConfiguration) DeepCopy() *LdapConfiguration

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

func (*LdapConfiguration) DeepCopyInto

func (in *LdapConfiguration) DeepCopyInto(out *LdapConfiguration)

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

type ListenersConfig

type ListenersConfig struct {
	// externalListeners specifies settings required to access nifi externally
	// TODO: enable externalListener configuration
	//ExternalListeners []ExternalListenerConfig `json:"externalListeners,omitempty"`
	// internalListeners specifies settings required to access nifi internally
	InternalListeners []InternalListenerConfig `json:"internalListeners"`
	// sslSecrets contains information about ssl related kubernetes secrets if one of the
	// listener setting type set to ssl these fields must be populated to
	SSLSecrets *SSLSecrets `json:"sslSecrets,omitempty"`
	// clusterDomain allow to override the default cluster domain which is "cluster.local"
	ClusterDomain string `json:"clusterDomain,omitempty"`
	// useExternalDNS allow to manage externalDNS usage by limiting the DNS names associated
	// to each nodes and load balancer : <cluster-name>-node-<node Id>.<cluster-name>.<service name>.<cluster domain>
	UseExternalDNS bool `json:"useExternalDNS,omitempty"`
}

ListenersConfig defines the Nifi listener types

func (*ListenersConfig) DeepCopy

func (in *ListenersConfig) DeepCopy() *ListenersConfig

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

func (*ListenersConfig) DeepCopyInto

func (in *ListenersConfig) DeepCopyInto(out *ListenersConfig)

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

func (*ListenersConfig) GetClusterDomain

func (lConfig *ListenersConfig) GetClusterDomain() string

type ManagedUser

type ManagedUser struct {
	// identity field is use to define the user identity on NiFi cluster side,
	// it use full when the user's name doesn't suite with Kubernetes resource name.
	Identity string `json:"identity,omitempty"`
	// name field is use to name the NifiUser resource, if not identity is provided it will be used to name
	// the user on NiFi cluster side.
	Name string `json:"name"`
}

func (*ManagedUser) DeepCopy

func (in *ManagedUser) DeepCopy() *ManagedUser

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

func (*ManagedUser) DeepCopyInto

func (in *ManagedUser) DeepCopyInto(out *ManagedUser)

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

func (*ManagedUser) GetIdentity

func (u *ManagedUser) GetIdentity() string

type NifiAccessType

type NifiAccessType string

NifiAccessType hold info about Nifi ACL

type NifiCluster

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

	Spec   NifiClusterSpec   `json:"spec,omitempty"`
	Status NifiClusterStatus `json:"status,omitempty"`
}

NifiCluster is the Schema for the nificlusters API +kubebuilder:subresource:status +kubebuilder:resource:path=nificlusters,scope=Namespaced

func (*NifiCluster) DeepCopy

func (in *NifiCluster) DeepCopy() *NifiCluster

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

func (*NifiCluster) DeepCopyInto

func (in *NifiCluster) DeepCopyInto(out *NifiCluster)

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

func (*NifiCluster) DeepCopyObject

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

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

type NifiClusterList

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

NifiClusterList contains a list of NifiCluster

func (*NifiClusterList) DeepCopy

func (in *NifiClusterList) DeepCopy() *NifiClusterList

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

func (*NifiClusterList) DeepCopyInto

func (in *NifiClusterList) DeepCopyInto(out *NifiClusterList)

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

func (*NifiClusterList) DeepCopyObject

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

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

type NifiClusterSpec

type NifiClusterSpec struct {
	// Service defines the policy for services owned by NiFiKop operator.
	Service ServicePolicy `json:"service,omitempty"`
	// Pod defines the policy for  pods owned by NiFiKop operator.
	Pod PodPolicy `json:"pod,omitempty"`
	// zKAddress specifies the ZooKeeper connection string
	// in the form hostname:port where host and port are those of a Zookeeper server.
	// TODO: rework for nice zookeeper connect string =
	ZKAddress string `json:"zkAddress"`
	// zKPath specifies the Zookeeper chroot path as part
	// of its Zookeeper connection string which puts its data under same path in the global ZooKeeper namespace.
	ZKPath string `json:"zkPath,omitempty"`
	// initContainerImage can override the default image used into the init container to check if
	// ZoooKeeper server is reachable.
	InitContainerImage string `json:"initContainerImage,omitempty"`
	// initContainers defines additional initContainers configurations
	InitContainers []corev1.Container `json:"initContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=containers"`
	// clusterImage can specify the whole NiFi cluster image in one place
	ClusterImage string `json:"clusterImage,omitempty"`
	// oneNifiNodePerNode if set to true every nifi node is started on a new node, if there is not enough node to do that
	// it will stay in pending state. If set to false the operator also tries to schedule the nifi node to a unique node
	// but if the node number is insufficient the nifi node will be scheduled to a node where a nifi node is already running.
	OneNifiNodePerNode bool `json:"oneNifiNodePerNode"`
	// propage
	PropagateLabels bool `json:"propagateLabels,omitempty"`
	// managedAdminUsers contains the list of users that will be added to the managed admin group (with all rights)
	ManagedAdminUsers []ManagedUser `json:"managedAdminUsers,omitempty""`
	// managedReaderUsers contains the list of users that will be added to the managed reader group (with all view rights)
	ManagedReaderUsers []ManagedUser `json:"managedReaderUsers,omitempty""`
	// readOnlyConfig specifies the read-only type Nifi config cluster wide, all theses
	// will be merged with node specified readOnly configurations, so it can be overwritten per node.
	ReadOnlyConfig ReadOnlyConfig `json:"readOnlyConfig,omitempty"`
	// nodeConfigGroups specifies multiple node configs with unique name
	NodeConfigGroups map[string]NodeConfig `json:"nodeConfigGroups,omitempty"`
	// all node requires an image, unique id, and storageConfigs settings
	Nodes []Node `json:"nodes"`
	// Defines the configuration for PodDisruptionBudget
	DisruptionBudget DisruptionBudget `json:"disruptionBudget,omitempty"`
	// LdapConfiguration specifies the configuration if you want to use LDAP
	LdapConfiguration LdapConfiguration `json:"ldapConfiguration,omitempty"`
	// NifiClusterTaskSpec specifies the configuration of the nifi cluster Tasks
	NifiClusterTaskSpec NifiClusterTaskSpec `json:"nifiClusterTaskSpec,omitempty"`
	// TODO : add vault
	//VaultConfig         	VaultConfig         `json:"vaultConfig,omitempty"`
	// listenerConfig specifies nifi's listener specifig configs
	ListenersConfig ListenersConfig `json:"listenersConfig"`
}

NifiClusterSpec defines the desired state of NifiCluster

func (*NifiClusterSpec) DeepCopy

func (in *NifiClusterSpec) DeepCopy() *NifiClusterSpec

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

func (*NifiClusterSpec) DeepCopyInto

func (in *NifiClusterSpec) DeepCopyInto(out *NifiClusterSpec)

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

func (*NifiClusterSpec) GetInitContainerImage

func (nSpec *NifiClusterSpec) GetInitContainerImage() string

func (*NifiClusterSpec) GetZkPath

func (nSpec *NifiClusterSpec) GetZkPath() string

GetZkPath returns the default "/" ZkPath if not specified otherwise

type NifiClusterStatus

type NifiClusterStatus struct {
	// Store the state of each nifi node
	NodesState map[string]NodeState `json:"nodesState,omitempty"`
	// ClusterState holds info about the cluster state
	State ClusterState `json:"state"`
	// RollingUpgradeStatus defines status of rolling upgrade
	RollingUpgrade RollingUpgradeStatus `json:"rollingUpgradeStatus,omitempty"`
	// RootProcessGroupId contains the uuid of the root process group for this cluster
	RootProcessGroupId string `json:"rootProcessGroupId,omitempty"`
}

NifiClusterStatus defines the observed state of NifiCluster

func (*NifiClusterStatus) DeepCopy

func (in *NifiClusterStatus) DeepCopy() *NifiClusterStatus

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

func (*NifiClusterStatus) DeepCopyInto

func (in *NifiClusterStatus) DeepCopyInto(out *NifiClusterStatus)

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

type NifiClusterTaskSpec

type NifiClusterTaskSpec struct {
	// RetryDurationMinutes describes the amount of time the Operator waits for the task
	RetryDurationMinutes int `json:"retryDurationMinutes"`
}

NifiClusterTaskSpec specifies the configuration of the nifi cluster Tasks

func (*NifiClusterTaskSpec) DeepCopy

func (in *NifiClusterTaskSpec) DeepCopy() *NifiClusterTaskSpec

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

func (*NifiClusterTaskSpec) DeepCopyInto

func (in *NifiClusterTaskSpec) DeepCopyInto(out *NifiClusterTaskSpec)

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

func (*NifiClusterTaskSpec) GetDurationMinutes

func (nTaskSpec *NifiClusterTaskSpec) GetDurationMinutes() float64

type NifiDataflow

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

	Spec   NifiDataflowSpec   `json:"spec,omitempty"`
	Status NifiDataflowStatus `json:"status,omitempty"`
}

Nifi Dataflow is the Schema for the nifi dataflow API +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status

func (*NifiDataflow) DeepCopy

func (in *NifiDataflow) DeepCopy() *NifiDataflow

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

func (*NifiDataflow) DeepCopyInto

func (in *NifiDataflow) DeepCopyInto(out *NifiDataflow)

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

func (*NifiDataflow) DeepCopyObject

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

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

type NifiDataflowList

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

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object NifiDataflowList contains a list of NifiDataflow

func (*NifiDataflowList) DeepCopy

func (in *NifiDataflowList) DeepCopy() *NifiDataflowList

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

func (*NifiDataflowList) DeepCopyInto

func (in *NifiDataflowList) DeepCopyInto(out *NifiDataflowList)

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

func (*NifiDataflowList) DeepCopyObject

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

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

type NifiDataflowSpec

type NifiDataflowSpec struct {
	// the UUID of the parent process group where you want to deploy your dataflow, if not set deploy at root level.
	ParentProcessGroupID string `json:"parentProcessGroupID,omitempty"`
	// the UUID of the Bucket containing the flow.
	BucketId string `json:"bucketId"`
	// the UUID of the flow to run.
	FlowId string `json:"flowId"`
	// the version of the flow to run, if not present or equals to -1, then the latest version of flow will be used.
	FlowVersion *int32 `json:"flowVersion,omitempty"`
	// contains the reference to the ParameterContext with the one the dataflow is linked.
	ParameterContextRef *ParameterContextReference `json:"parameterContextRef,omitempty"`
	// if the flow will be ran once or continuously checked
	RunOnce *bool `json:"runOnce,omitempty"`
	// whether the flow is considered as ran if some controller services are still invalid or not.
	SkipInvalidControllerService bool `json:"skipInvalidControllerService,omitempty"`
	// whether the flow is considered as ran if some components are still invalid or not.
	SkipInvalidComponent bool `json:"skipInvalidComponent,omitempty"`
	// contains the reference to the NifiCluster with the one the dataflow is linked.
	ClusterRef ClusterReference `json:"clusterRef,omitempty"`
	// contains the reference to the NifiRegistry with the one the dataflow is linked.
	RegistryClientRef *RegistryClientReference `json:"registryClientRef,omitempty"`
	// describes the way the operator will deal with data when a dataflow will be updated : drop or drain
	// +kubebuilder:validation:Enum={"drop","drain"}
	UpdateStrategy DataflowUpdateStrategy `json:"updateStrategy"`
}

NifiDataflowSpec defines the desired state of NifiDataflow +k8s:openapi-gen=true

func (*NifiDataflowSpec) DeepCopy

func (in *NifiDataflowSpec) DeepCopy() *NifiDataflowSpec

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

func (*NifiDataflowSpec) DeepCopyInto

func (in *NifiDataflowSpec) DeepCopyInto(out *NifiDataflowSpec)

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

func (*NifiDataflowSpec) GetParentProcessGroupID

func (d *NifiDataflowSpec) GetParentProcessGroupID(cluster *NifiCluster) string

func (*NifiDataflowSpec) GetRunOnce

func (d *NifiDataflowSpec) GetRunOnce() bool

type NifiDataflowStatus

type NifiDataflowStatus struct {
	// process Group ID
	ProcessGroupID string `json:"processGroupID"`
	// the dataflow current state.
	State DataflowState `json:"state"`
	// the latest version update request sent.
	LatestUpdateRequest *UpdateRequest `json:"latestUpdateRequest,omitempty"`
	// the latest queue drop request sent.
	LatestDropRequest *DropRequest `json:"latestDropRequest,omitempty"`
}

NifiDataflowStatus defines the observed state of NifiDataflow +k8s:openapi-gen=true

func (*NifiDataflowStatus) DeepCopy

func (in *NifiDataflowStatus) DeepCopy() *NifiDataflowStatus

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

func (*NifiDataflowStatus) DeepCopyInto

func (in *NifiDataflowStatus) DeepCopyInto(out *NifiDataflowStatus)

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

type NifiParameterContext

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

	Spec   NifiParameterContextSpec   `json:"spec,omitempty"`
	Status NifiParameterContextStatus `json:"status,omitempty"`
}

NifiParameterContext is the Schema for the nifi parameter context API +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status

func (*NifiParameterContext) DeepCopy

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

func (*NifiParameterContext) DeepCopyInto

func (in *NifiParameterContext) DeepCopyInto(out *NifiParameterContext)

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

func (*NifiParameterContext) DeepCopyObject

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

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

type NifiParameterContextList

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

NifiParameterContextList contains a list of NifiParameterContext

func (*NifiParameterContextList) DeepCopy

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

func (*NifiParameterContextList) DeepCopyInto

func (in *NifiParameterContextList) DeepCopyInto(out *NifiParameterContextList)

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

func (*NifiParameterContextList) DeepCopyObject

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

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

type NifiParameterContextSpec

type NifiParameterContextSpec struct {
	// the Description of the Parameter Context.
	Description string `json:"description,omitempty"`
	// a list of non-sensitive Parameters.
	Parameters []Parameter `json:"parameters"`
	// contains the reference to the NifiCluster with the one the user is linked.
	ClusterRef ClusterReference `json:"clusterRef"`
	// a list of secret containing sensitive parameters (the key will name of the parameter).
	SecretRefs []SecretReference `json:"secretRefs,omitempty"`
}

NifiParameterContextSpec defines the desired state of NifiParameterContext +k8s:openapi-gen=true

func (*NifiParameterContextSpec) DeepCopy

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

func (*NifiParameterContextSpec) DeepCopyInto

func (in *NifiParameterContextSpec) DeepCopyInto(out *NifiParameterContextSpec)

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

type NifiParameterContextStatus

type NifiParameterContextStatus struct {
	// the nifi parameter context id.
	Id string `json:"id"`
	// the last nifi parameter context revision version catched.
	Version int64 `json:"version"`
	// the latest update request.
	LatestUpdateRequest *ParameterContextUpdateRequest `json:"latestUpdateRequest,omitempty"`
}

NifiParameterContextStatus defines the observed state of NifiParameterContext +k8s:openapi-gen=true

func (*NifiParameterContextStatus) DeepCopy

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

func (*NifiParameterContextStatus) DeepCopyInto

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

type NifiProperties

type NifiProperties struct {
	// Additionnals nifi.properties configuration that will override the one produced based
	// on template and configurations.
	OverrideConfigs string `json:"overrideConfigs,omitempty"`
	// A comma separated list of allowed HTTP Host header values to consider when NiFi
	// is running securely and will be receiving requests to a different host[:port] than it is bound to.
	// https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#web-properties
	WebProxyHosts []string `json:"webProxyHosts,omitempty"`
	// Nifi security client auth
	NeedClientAuth bool `json:"needClientAuth,omitempty"`
	// Indicates which of the configured authorizers in the authorizers.xml file to use
	// https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#authorizer-configuration
	Authorizer string `json:"authorizer,omitempty"`
}

NifiProperties configuration that will be applied to the node.

func (*NifiProperties) DeepCopy

func (in *NifiProperties) DeepCopy() *NifiProperties

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

func (*NifiProperties) DeepCopyInto

func (in *NifiProperties) DeepCopyInto(out *NifiProperties)

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

func (NifiProperties) GetAuthorizer

func (nProperties NifiProperties) GetAuthorizer() string

type NifiRegistryClient

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

	Spec   NifiRegistryClientSpec   `json:"spec,omitempty"`
	Status NifiRegistryClientStatus `json:"status,omitempty"`
}

Nifi Registry Client is the Schema for the nifi registry client API +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status

func (*NifiRegistryClient) DeepCopy

func (in *NifiRegistryClient) DeepCopy() *NifiRegistryClient

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

func (*NifiRegistryClient) DeepCopyInto

func (in *NifiRegistryClient) DeepCopyInto(out *NifiRegistryClient)

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

func (*NifiRegistryClient) DeepCopyObject

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

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

type NifiRegistryClientList

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

NifiRegistryClientList contains a list of NifiRegistryClient

func (*NifiRegistryClientList) DeepCopy

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

func (*NifiRegistryClientList) DeepCopyInto

func (in *NifiRegistryClientList) DeepCopyInto(out *NifiRegistryClientList)

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

func (*NifiRegistryClientList) DeepCopyObject

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

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

type NifiRegistryClientSpec

type NifiRegistryClientSpec struct {
	// The URI of the NiFi registry that should be used for pulling the flow.
	Uri string `json:"uri"`
	// The Description of the Registry client.
	Description string `json:"description,omitempty"`
	// Contains the reference to the NifiCluster with the one the registry client is linked.
	ClusterRef ClusterReference `json:"clusterRef"`
}

NifiRegistryClientSpec defines the desired state of NifiRegistryClient +k8s:openapi-gen=true

func (*NifiRegistryClientSpec) DeepCopy

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

func (*NifiRegistryClientSpec) DeepCopyInto

func (in *NifiRegistryClientSpec) DeepCopyInto(out *NifiRegistryClientSpec)

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

type NifiRegistryClientStatus

type NifiRegistryClientStatus struct {
	// The nifi registry client's id
	Id string `json:"id"`
	// The last nifi registry client revision version catched
	Version int64 `json:"version"`
}

NifiRegistryClientStatus defines the observed state of NifiRegistryClient +k8s:openapi-gen=true

func (*NifiRegistryClientStatus) DeepCopy

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

func (*NifiRegistryClientStatus) DeepCopyInto

func (in *NifiRegistryClientStatus) DeepCopyInto(out *NifiRegistryClientStatus)

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

type NifiUser

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

	Spec   NifiUserSpec   `json:"spec,omitempty"`
	Status NifiUserStatus `json:"status,omitempty"`
}

Nifi User is the Schema for the nifi users API +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status

func (*NifiUser) DeepCopy

func (in *NifiUser) DeepCopy() *NifiUser

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

func (*NifiUser) DeepCopyInto

func (in *NifiUser) DeepCopyInto(out *NifiUser)

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

func (*NifiUser) DeepCopyObject

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

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

func (*NifiUser) GetIdentity

func (u *NifiUser) GetIdentity() string

type NifiUserGroup

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

	Spec   NifiUserGroupSpec   `json:"spec,omitempty"`
	Status NifiUserGroupStatus `json:"status,omitempty"`
}

Nifi Registry Client is the Schema for the nifi registry client API +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status

func (*NifiUserGroup) DeepCopy

func (in *NifiUserGroup) DeepCopy() *NifiUserGroup

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

func (*NifiUserGroup) DeepCopyInto

func (in *NifiUserGroup) DeepCopyInto(out *NifiUserGroup)

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

func (*NifiUserGroup) DeepCopyObject

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

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

func (NifiUserGroup) GetIdentity

func (n NifiUserGroup) GetIdentity() string

type NifiUserGroupList

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

NifiUserGroupList contains a list of NifiUserGroup

func (*NifiUserGroupList) DeepCopy

func (in *NifiUserGroupList) DeepCopy() *NifiUserGroupList

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

func (*NifiUserGroupList) DeepCopyInto

func (in *NifiUserGroupList) DeepCopyInto(out *NifiUserGroupList)

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

func (*NifiUserGroupList) DeepCopyObject

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

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

type NifiUserGroupSpec

type NifiUserGroupSpec struct {
	// clusterRef contains the reference to the NifiCluster with the one the registry client is linked.
	ClusterRef ClusterReference `json:"clusterRef"`
	// userRef contains the list of reference to NifiUsers that are part to the group.
	UsersRef []UserReference `json:"usersRef,omitempty"`
	// accessPolicies defines the list of access policies that will be granted to the group.
	AccessPolicies []AccessPolicy `json:"accessPolicies,omitempty"`
}

NifiUserGroupSpec defines the desired state of NifiUserGroup +k8s:openapi-gen=true

func (*NifiUserGroupSpec) DeepCopy

func (in *NifiUserGroupSpec) DeepCopy() *NifiUserGroupSpec

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

func (*NifiUserGroupSpec) DeepCopyInto

func (in *NifiUserGroupSpec) DeepCopyInto(out *NifiUserGroupSpec)

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

type NifiUserGroupStatus

type NifiUserGroupStatus struct {
	// The nifi usergroup's node id
	Id string `json:"id"`
	// The last nifi usergroup's node revision version catched
	Version int64 `json:"version"`
}

NifiUserGroupStatus defines the observed state of NifiUserGroup +k8s:openapi-gen=true

func (*NifiUserGroupStatus) DeepCopy

func (in *NifiUserGroupStatus) DeepCopy() *NifiUserGroupStatus

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

func (*NifiUserGroupStatus) DeepCopyInto

func (in *NifiUserGroupStatus) DeepCopyInto(out *NifiUserGroupStatus)

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

type NifiUserList

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

NifiUserList contains a list of NifiUser

func (*NifiUserList) DeepCopy

func (in *NifiUserList) DeepCopy() *NifiUserList

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

func (*NifiUserList) DeepCopyInto

func (in *NifiUserList) DeepCopyInto(out *NifiUserList)

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

func (*NifiUserList) DeepCopyObject

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

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

type NifiUserSpec

type NifiUserSpec struct {
	// identity field is used to define the user identity on NiFi cluster side, when the user's name doesn't
	// suit with Kubernetes resource name.
	Identity string `json:"identity,omitempty"`
	// Name of the secret where all cert resources will be stored
	SecretName string `json:"secretName,omitempty"`
	// contains the reference to the NifiCluster with the one the user is linked
	ClusterRef ClusterReference `json:"clusterRef"`
	// List of DNSNames that the user will used to request the NifiCluster (allowing to create the right certificates associated)
	DNSNames []string `json:"dnsNames,omitempty"`
	// Whether or not the the operator also include a Java keystore format (JKS) with you secret
	IncludeJKS bool `json:"includeJKS,omitempty"`
	// Whether or not a certificate will be created for this user.
	CreateCert *bool `json:"createCert,omitempty"`
	// accessPolicies defines the list of access policies that will be granted to the group.
	AccessPolicies []AccessPolicy `json:"accessPolicies,omitempty"`
}

NifiUserSpec defines the desired state of NifiUser +k8s:openapi-gen=true

func (*NifiUserSpec) DeepCopy

func (in *NifiUserSpec) DeepCopy() *NifiUserSpec

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

func (*NifiUserSpec) DeepCopyInto

func (in *NifiUserSpec) DeepCopyInto(out *NifiUserSpec)

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

func (*NifiUserSpec) GetCreateCert

func (u *NifiUserSpec) GetCreateCert() bool

type NifiUserStatus

type NifiUserStatus struct {
	// The nifi user's node id
	Id string `json:"id"`
	// The last nifi  user's node revision version catched
	Version int64 `json:"version"`
}

NifiUserStatus defines the observed state of NifiUser +k8s:openapi-gen=true

func (*NifiUserStatus) DeepCopy

func (in *NifiUserStatus) DeepCopy() *NifiUserStatus

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

func (*NifiUserStatus) DeepCopyInto

func (in *NifiUserStatus) DeepCopyInto(out *NifiUserStatus)

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

type Node

type Node struct {
	// Unique Node id
	Id int32 `json:"id"`
	// nodeConfigGroup can be used to ease the node configuration, if set only the id is required
	NodeConfigGroup string `json:"nodeConfigGroup,omitempty"`
	// readOnlyConfig can be used to pass Nifi node config https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html
	// which has type read-only these config changes will trigger rolling upgrade
	ReadOnlyConfig *ReadOnlyConfig `json:"readOnlyConfig,omitempty"`
	// node configuration
	NodeConfig *NodeConfig `json:"nodeConfig,omitempty"`
}

Node defines the nifi node basic configuration

func (*Node) DeepCopy

func (in *Node) DeepCopy() *Node

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

func (*Node) DeepCopyInto

func (in *Node) DeepCopyInto(out *Node)

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

type NodeConfig

type NodeConfig struct {
	// provenanceStorage allow to specify the maximum amount of data provenance information to store at a time
	// https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#write-ahead-provenance-repository-properties
	ProvenanceStorage string `json:"provenanceStorage,omitempty"`
	//RunAsUser define the id of the user to run in the Nifi image
	// +kubebuilder:validation:Minimum=1
	RunAsUser *int64 `json:"runAsUser,omitempty"`
	// Set this to true if the instance is a node in a cluster.
	// https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#basic-cluster-setup
	IsNode *bool `json:"isNode,omitempty"`
	//  Docker image used by the operator to create the node associated
	//  https://hub.docker.com/r/apache/nifi/
	Image string `json:"image,omitempty"`
	// imagePullPolicy define the pull policy for NiFi cluster docker image
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
	// nodeAffinity can be specified, operator populates this value if new pvc added later to node
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty"`
	// storageConfigs specifies the node related configs
	StorageConfigs []StorageConfig `json:"storageConfigs,omitempty"`
	// serviceAccountName specifies the serviceAccount used for this specific node
	ServiceAccountName string `json:"serviceAccountName,omitempty"`
	// resourceRequirements works exactly like Container resources, the user can specify the limit and the requests
	// through this property
	// https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
	ResourcesRequirements *corev1.ResourceRequirements `json:"resourcesRequirements,omitempty"`
	// imagePullSecrets specifies the secret to use when using private registry
	// https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#localobjectreference-v1-core
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
	// nodeSelector can be specified, which set the pod to fit on a node
	// https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// tolerations can be specified, which set the pod's tolerations
	// https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/#concepts
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
	// Additionnal annotation to attach to the pod associated
	// https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set
	NodeAnnotations map[string]string `json:"nifiAnnotations,omitempty"`
}

NodeConfig defines the node configuration

func (*NodeConfig) DeepCopy

func (in *NodeConfig) DeepCopy() *NodeConfig

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

func (*NodeConfig) DeepCopyInto

func (in *NodeConfig) DeepCopyInto(out *NodeConfig)

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

func (*NodeConfig) GetImagePullPolicy

func (nConfig *NodeConfig) GetImagePullPolicy() corev1.PullPolicy

GetImagePullPolicy returns the image pull policy to pull containers images

func (*NodeConfig) GetImagePullSecrets

func (nConfig *NodeConfig) GetImagePullSecrets() []corev1.LocalObjectReference

GetImagePullSecrets returns the list of Secrets needed to pull Containers images from private repositories

func (*NodeConfig) GetIsNode

func (nConfig *NodeConfig) GetIsNode() bool

func (*NodeConfig) GetNodeAnnotations

func (nConfig *NodeConfig) GetNodeAnnotations() map[string]string

func (*NodeConfig) GetNodeSelector

func (nConfig *NodeConfig) GetNodeSelector() map[string]string

GetNodeSelector returns the node selector for the given node

func (*NodeConfig) GetProvenanceStorage

func (nConfig *NodeConfig) GetProvenanceStorage() string

func (*NodeConfig) GetResources

func (nConfig *NodeConfig) GetResources() *corev1.ResourceRequirements

GetResources returns the nifi node specific Kubernetes resource

func (*NodeConfig) GetRunAsUser

func (nConfig *NodeConfig) GetRunAsUser() *int64

func (*NodeConfig) GetServiceAccount

func (nConfig *NodeConfig) GetServiceAccount() string

GetServiceAccount returns the Kubernetes Service Account to use for Nifi Cluster

func (*NodeConfig) GetTolerations

func (nConfig *NodeConfig) GetTolerations() []corev1.Toleration

GetTolerations returns the tolerations for the given node

type NodeState

type NodeState struct {
	// GracefulActionState holds info about nifi cluster action status
	GracefulActionState GracefulActionState `json:"gracefulActionState"`
	// ConfigurationState holds info about the config
	ConfigurationState ConfigurationState `json:"configurationState"`
	// InitClusterNode contains if this nodes was part of the initial cluster
	InitClusterNode InitClusterNode `json:"initClusterNode"`
}

NifiState holds information about nifi state

func (*NodeState) DeepCopy

func (in *NodeState) DeepCopy() *NodeState

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

func (*NodeState) DeepCopyInto

func (in *NodeState) DeepCopyInto(out *NodeState)

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

type PKIBackend

type PKIBackend string

PKIBackend represents an interface implementing the PKIManager

const (
	// PKIBackendCertManager invokes cert-manager for user certificate management
	PKIBackendCertManager PKIBackend = "cert-manager"
)

type Parameter

type Parameter struct {
	// the name of the Parameter.
	Name string `json:"name"`
	// the value of the Parameter.
	Value string `json:"value,omitempty"`
	// the description of the Parameter.
	Description string `json:"description,omitempty"`
}

func (*Parameter) DeepCopy

func (in *Parameter) DeepCopy() *Parameter

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

func (*Parameter) DeepCopyInto

func (in *Parameter) DeepCopyInto(out *Parameter)

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

type ParameterContextReference

type ParameterContextReference struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace,omitempty"`
}

ParameterContextReference states a reference to a parameter context for dataflow provisioning

func (*ParameterContextReference) DeepCopy

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

func (*ParameterContextReference) DeepCopyInto

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

type ParameterContextUpdateRequest

type ParameterContextUpdateRequest struct {
	// the id of the update request.
	Id string `json:"id"`
	// the uri for this request.
	Uri string `json:"uri"`
	// the timestamp of when the request was submitted This property is read only.
	SubmissionTime string `json:"submissionTime"`
	// the last time this request was updated.
	LastUpdated string `json:"lastUpdated"`
	// whether or not this request has completed.
	Complete bool `json:"complete"`
	// an explication of why the request failed, or null if this request has not failed.
	FailureReason string `json:"failureReason"`
	// the percentage complete of the request, between 0 and 100.
	PercentCompleted int32 `json:"percentCompleted"`
	// the state of the request.
	State string `json:"state"`
}

func (*ParameterContextUpdateRequest) DeepCopy

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

func (*ParameterContextUpdateRequest) DeepCopyInto

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

type PodPolicy

type PodPolicy struct {
	// Annotations specifies the annotations to attach to pods the operator creates
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*PodPolicy) DeepCopy

func (in *PodPolicy) DeepCopy() *PodPolicy

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

func (*PodPolicy) DeepCopyInto

func (in *PodPolicy) DeepCopyInto(out *PodPolicy)

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

type RackAwarenessState

type RackAwarenessState string

RackAwarenessState stores info about rack awareness status

type ReadOnlyConfig

type ReadOnlyConfig struct {
	// NifiProperties configuration that will be applied to the node.
	NifiProperties NifiProperties `json:"nifiProperties,omitempty"`
	// ZookeeperProperties configuration that will be applied to the node.
	ZookeeperProperties ZookeeperProperties `json:"zookeeperProperties,omitempty"`
	// BootstrapProperties configuration that will be applied to the node.
	BootstrapProperties BootstrapProperties `json:"bootstrapProperties,omitempty"`
}

func (*ReadOnlyConfig) DeepCopy

func (in *ReadOnlyConfig) DeepCopy() *ReadOnlyConfig

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

func (*ReadOnlyConfig) DeepCopyInto

func (in *ReadOnlyConfig) DeepCopyInto(out *ReadOnlyConfig)

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

type RegistryClientReference

type RegistryClientReference struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace,omitempty"`
}

RegistryClientReference states a reference to a registry client for dataflow provisioning

func (*RegistryClientReference) DeepCopy

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

func (*RegistryClientReference) DeepCopyInto

func (in *RegistryClientReference) DeepCopyInto(out *RegistryClientReference)

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

type RollingUpgradeStatus

type RollingUpgradeStatus struct {
	//
	LastSuccess string `json:"lastSuccess"`
	//
	ErrorCount int `json:"errorCount"`
}

RollingUpgradeStatus defines status of rolling upgrade

func (*RollingUpgradeStatus) DeepCopy

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

func (*RollingUpgradeStatus) DeepCopyInto

func (in *RollingUpgradeStatus) DeepCopyInto(out *RollingUpgradeStatus)

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

type SSLSecrets

type SSLSecrets struct {
	// tlsSecretName should contain all ssl certs required by nifi including: caCert, caKey, clientCert, clientKey
	// serverCert, serverKey, peerCert, peerKey
	TLSSecretName string `json:"tlsSecretName"`
	// create tells the installed cert manager to create the required certs keys
	Create bool `json:"create,omitempty"`
	// clusterScoped defines if the Issuer created is cluster or namespace scoped
	ClusterScoped bool `json:"clusterScoped,omitempty"`
	// issuerRef allow to use an existing issuer to act as CA :
	// https://cert-manager.io/docs/concepts/issuer/
	IssuerRef *cmmeta.ObjectReference `json:"issuerRef,omitempty"`
	// TODO : add vault
	// +kubebuilder:validation:Enum={"cert-manager","vault"}
	PKIBackend PKIBackend `json:"pkiBackend,omitempty"`
}

SSLSecrets defines the Nifi SSL secrets

func (*SSLSecrets) DeepCopy

func (in *SSLSecrets) DeepCopy() *SSLSecrets

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

func (*SSLSecrets) DeepCopyInto

func (in *SSLSecrets) DeepCopyInto(out *SSLSecrets)

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

type SecretReference

type SecretReference struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace,omitempty"`
}

SecretReference states a reference to a secret for parameter context provisioning

func (*SecretReference) DeepCopy

func (in *SecretReference) DeepCopy() *SecretReference

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

func (*SecretReference) DeepCopyInto

func (in *SecretReference) DeepCopyInto(out *SecretReference)

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

type ServicePolicy

type ServicePolicy struct {
	// HeadlessEnabled specifies if the cluster should use headlessService for Nifi or individual services
	// using service per nodes may come an handy case of service mesh.
	HeadlessEnabled bool `json:"headlessEnabled"`
	// Annotations specifies the annotations to attach to services the operator creates
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*ServicePolicy) DeepCopy

func (in *ServicePolicy) DeepCopy() *ServicePolicy

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

func (*ServicePolicy) DeepCopyInto

func (in *ServicePolicy) DeepCopyInto(out *ServicePolicy)

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

type State

type State string

State holds info about the state of action

func (State) Complete

func (r State) Complete() State

func (State) IsDownscale

func (r State) IsDownscale() bool

func (State) IsRequiredState

func (r State) IsRequiredState() bool

func (State) IsRunningState

func (r State) IsRunningState() bool

func (State) IsUpscale

func (r State) IsUpscale() bool

type StorageConfig

type StorageConfig struct {
	// Name of the storage config, used to name PV to reuse into sidecars for example.
	// +kubebuilder:validation:Pattern=[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*
	Name string `json:"name"`
	// Path where the volume will be mount into the main nifi container inside the pod.
	MountPath string `json:"mountPath"`
	// Kubernetes PVC spec
	PVCSpec *corev1.PersistentVolumeClaimSpec `json:"pvcSpec"`
}

StorageConfig defines the node storage configuration

func (*StorageConfig) DeepCopy

func (in *StorageConfig) DeepCopy() *StorageConfig

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

func (*StorageConfig) DeepCopyInto

func (in *StorageConfig) DeepCopyInto(out *StorageConfig)

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

type UpdateRequest

type UpdateRequest struct {
	// defines the type of versioned flow update request.
	Type DataflowUpdateRequestType `json:"type"`
	// the id of the update request.
	Id string `json:"id"`
	// the uri for this request.
	Uri string `json:"uri"`
	// the last time this request was updated.
	LastUpdated string `json:"lastUpdated"`
	// whether or not this request has completed.
	Complete bool `json:"complete"`
	// an explication of why the request failed, or null if this request has not failed.
	FailureReason string `json:"failureReason"`
	// the percentage complete of the request, between 0 and 100.
	PercentCompleted int32 `json:"percentCompleted"`
	// the state of the request
	State string `json:"state"`
}

func (*UpdateRequest) DeepCopy

func (in *UpdateRequest) DeepCopy() *UpdateRequest

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

func (*UpdateRequest) DeepCopyInto

func (in *UpdateRequest) DeepCopyInto(out *UpdateRequest)

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

type UserReference

type UserReference struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace,omitempty"`
}

UserReference states a reference to a user for user group provisioning

func (*UserReference) DeepCopy

func (in *UserReference) DeepCopy() *UserReference

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

func (*UserReference) DeepCopyInto

func (in *UserReference) DeepCopyInto(out *UserReference)

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

type UserState

type UserState string

UserState defines the state of a NifiUser

type ZookeeperProperties

type ZookeeperProperties struct {
	// Additionnals zookeeper.properties configuration that will override the one produced based
	// on template and configurations.
	OverrideConfigs string `json:"overrideConfigs,omitempty"`
}

ZookeeperProperties configuration that will be applied to the node.

func (*ZookeeperProperties) DeepCopy

func (in *ZookeeperProperties) DeepCopy() *ZookeeperProperties

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

func (*ZookeeperProperties) DeepCopyInto

func (in *ZookeeperProperties) DeepCopyInto(out *ZookeeperProperties)

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL