v1alpha1

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2022 License: AGPL-3.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=fluxninja.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "fluxninja.com", 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 APIKeySecret

type APIKeySecret struct {
	// Create new secret or not
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:=true
	Create bool `json:"create"`

	// Secret details
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:={key:"apiKey"}
	SecretKeyRef SecretKeyRef `json:"secretKeyRef"`

	// Value for the ApiKey
	//+kubebuilder:validation:Optional
	Value string `json:"value"`
}

APIKeySecret defines fields required for creation/usage of secret for the ApiKey of Agent and Controller.

func (*APIKeySecret) DeepCopy

func (in *APIKeySecret) DeepCopy() *APIKeySecret

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

func (*APIKeySecret) DeepCopyInto

func (in *APIKeySecret) DeepCopyInto(out *APIKeySecret)

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

type APIKeySecretSpec

type APIKeySecretSpec struct {
	// API Key secret reference for Agent
	//+kubebuilder:validation:Optional
	Agent APIKeySecret `json:"agent"`

	// API Key secret reference for Controller
	//+kubebuilder:validation:Optional
	Controller APIKeySecret `json:"controller"`
}

APIKeySecretSpec defines API Key secret details for Agent and Controller.

func (*APIKeySecretSpec) DeepCopy

func (in *APIKeySecretSpec) DeepCopy() *APIKeySecretSpec

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

func (*APIKeySecretSpec) DeepCopyInto

func (in *APIKeySecretSpec) DeepCopyInto(out *APIKeySecretSpec)

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

type Agent

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

	//+kubebuilder:default:={serverPort:80}
	Spec   AgentSpec   `json:"spec,omitempty"`
	Status AgentStatus `json:"status,omitempty"`
}

Agent is the Schema for the agents API.

func (*Agent) DeepCopy

func (in *Agent) DeepCopy() *Agent

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

func (*Agent) DeepCopyInto

func (in *Agent) DeepCopyInto(out *Agent)

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

func (*Agent) DeepCopyObject

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

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

type AgentList

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

AgentList contains a list of Agent.

func (*AgentList) DeepCopy

func (in *AgentList) DeepCopy() *AgentList

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

func (*AgentList) DeepCopyInto

func (in *AgentList) DeepCopyInto(out *AgentList)

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

func (*AgentList) DeepCopyObject

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

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

type AgentSpec

type AgentSpec struct {
	// CommonSpec defines the common state between Agent and Controller
	CommonSpec `json:",inline"`

	// Port for the Agent's distributed cache service
	//+kubebuilder:default:=3320
	//+kubebuilder:validation:Optional
	//+kubebuilder:validation:Maximum:=65535
	//+kubebuilder:validation:Minimum:=1
	DistributedCachePort int32 `json:"distributedCachePort"`

	// Port for the Agent's member list service
	//+kubebuilder:default:=3322
	//+kubebuilder:validation:Optional
	//+kubebuilder:validation:Maximum:=65535
	//+kubebuilder:validation:Minimum:=1
	MemberListPort int32 `json:"memberListPort"`

	// Image configuration
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:={tag:"latest",pullPolicy:"IfNotPresent",registry:"docker.io/fluxninja",repository:"aperture-agent"}
	Image Image `json:"image"`

	// AgentGroup name for the Agent
	//+kubebuilder:validation:Optional
	AgentGroup string `json:"agentGroup"`

	// Sidecar defines the desired state of Sidecar setup for Agent
	//+kubebuilder:validation:Optional
	//+operator-sdk:csv:customresourcedefinitions:type=spec
	Sidecar SidecarSpec `json:"sidecar"`

	// Batch prerollup processor configuration.
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:={timeout:"1s",sendBatchSize:10000}
	BatchPrerollup Batch `json:"batchPrerollup"`

	// Batch postrollup processor configuration.
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:={timeout:"1s",sendBatchSize:10000}
	BatchPostrollup Batch `json:"batchPostrollup"`

	// Batch metrics/fast processor configuration.
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:={timeout:"1s",sendBatchSize:1000}
	BatchMetricsFast Batch `json:"batchMetricsFast"`
}

AgentSpec defines the desired state for the Agent.

func (*AgentSpec) DeepCopy

func (in *AgentSpec) DeepCopy() *AgentSpec

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

func (*AgentSpec) DeepCopyInto

func (in *AgentSpec) DeepCopyInto(out *AgentSpec)

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

type AgentStatus

type AgentStatus struct {
	Resources string `json:"resources,omitempty"`
}

AgentStatus defines the observed state of Agent.

func (*AgentStatus) DeepCopy

func (in *AgentStatus) DeepCopy() *AgentStatus

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

func (*AgentStatus) DeepCopyInto

func (in *AgentStatus) DeepCopyInto(out *AgentStatus)

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

type Batch

type Batch struct {
	// Timeout sets the time after which a batch will be sent regardless of size.
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:="1s"
	Timeout string `json:"timeout"`

	// SendBatchSize is the size of a batch which after hit, will trigger it to be sent.
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:=10000
	SendBatchSize uint32 `json:"sendBatchSize"`
}

Batch defines configuration for OTEL batch processor.

func (*Batch) DeepCopy

func (in *Batch) DeepCopy() *Batch

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

func (*Batch) DeepCopyInto

func (in *Batch) DeepCopyInto(out *Batch)

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

type CommonSpec

type CommonSpec struct {
	// Labels to add to all deployed objects
	//+mapType=atomic
	//+kubebuilder:validation:Optional
	//+operator-sdk:csv:customresourcedefinitions:type=spec
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations to add to all deployed objects
	//+kubebuilder:validation:Optional
	//+operator-sdk:csv:customresourcedefinitions:type=spec
	Annotations map[string]string `json:"annotations,omitempty"`

	// FluxNinjaPlugin defines the parameters for FluxNinja plugin with Agent or Controller
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:={enabled:false,heartbeatsInterval:"30s"}
	//+operator-sdk:csv:customresourcedefinitions:type=spec
	FluxNinjaPlugin FluxNinjaPluginSpec `json:"fluxninjaPlugin"`

	// Configuration for Agent or Controller service
	//+kubebuilder:validation:Optional
	Service Service `json:"service"`

	// Etcd parameters for Agent or Controller
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:={leaseTtl:"60s"}
	Etcd EtcdSpec `json:"etcd"`

	// Prometheus parameters for Agent or Controller
	//+kubebuilder:validation:Optional
	Prometheus PrometheusSpec `json:"prometheus"`

	// Server port for the Agent
	//+kubebuilder:default:=80
	//+kubebuilder:validation:Optional
	//+kubebuilder:validation:Maximum:=65535
	//+kubebuilder:validation:Minimum:=1
	ServerPort int32 `json:"serverPort"`

	// Log related configurations
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:={prettyConsole:false,nonBlocking:true,level:"info",file:"stderr"}
	Log Log `json:"log"`

	// ServiceAccountSpec defines the the configuration pf Service account for Agent or Controller
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:={create:true,automountServiceAccountToken:true}
	ServiceAccountSpec ServiceAccountSpec `json:"serviceAccount"`

	// livenessProbe related configuration
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:={enabled:true,initialDelaySeconds:15,periodSeconds:15,timeoutSeconds:5,failureThreshold:6,successThreshold:1}
	LivenessProbe Probe `json:"livenessProbe"`

	// readinessProbe related configuration
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:={enabled:true,initialDelaySeconds:15,periodSeconds:15,timeoutSeconds:5,failureThreshold:6,successThreshold:1}
	ReadinessProbe Probe `json:"readinessProbe"`

	// Custom livenessProbe that overrides the default one
	//+kubebuilder:validation:Optional
	CustomLivenessProbe *corev1.Probe `json:"customLivenessProbe,omitempty"`

	// Custom readinessProbe that overrides the default one
	//+kubebuilder:validation:Optional
	CustomReadinessProbe *corev1.Probe `json:"customReadinessProbe,omitempty"`

	// Resource requests and limits
	//+kubebuilder:validation:Optional
	Resources corev1.ResourceRequirements `json:"resources"`

	// Configure Pods' Security Context
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:={enabled:false,fsGroup:1001}
	PodSecurityContext PodSecurityContext `json:"podSecurityContext"`

	// Configure Containers' Security Context
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:={enabled:false,runAsUser:1001,runAsNonRoot:false,readOnlyRootFilesystem:false}
	ContainerSecurityContext ContainerSecurityContext `json:"containerSecurityContext"`

	// Override default container command
	//+kubebuilder:validation:Optional
	Command []string `json:"command,omitempty"`

	// Override default container args
	//+kubebuilder:validation:Optional
	Args []string `json:"args,omitempty"`

	// Extra labels for pods
	//+mapType=atomic
	//+kubebuilder:validation:Optional
	PodLabels map[string]string `json:"podLabels,omitempty"`

	// Extra Annotations for pods
	//+kubebuilder:validation:Optional
	PodAnnotations map[string]string `json:"podAnnotations,omitempty"`

	// Affinity for pods assignment.
	//+kubebuilder:validation:Optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// Node labels for pods assignment
	//+mapType=atomic
	//+kubebuilder:validation:Optional
	//+mapType=atomic
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Tolerations for pods assignment
	//+kubebuilder:validation:Optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// Seconds Redmine pod needs to terminate gracefully
	//+kubebuilder:validation:Minimum:=0
	//+kubebuilder:validation:Optional
	TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds"`

	// For the container(s) to automate configuration before or after startup
	//+kubebuilder:validation:Optional
	LifecycleHooks *corev1.Lifecycle `json:"lifecycleHooks"`

	// Array with extra environment variables to add
	//+kubebuilder:validation:Optional
	ExtraEnvVars []corev1.EnvVar `json:"extraEnvVars,omitempty"`

	// Name of existing ConfigMap containing extra env vars
	//+kubebuilder:validation:Optional
	ExtraEnvVarsCM string `json:"extraEnvVarsCM"`

	// Name of existing Secret containing extra env vars
	//+kubebuilder:validation:Optional
	ExtraEnvVarsSecret string `json:"extraEnvVarsSecret"`

	// Optionally specify extra list of additional volumes for the pod(s)
	//+kubebuilder:validation:Optional
	ExtraVolumes []corev1.Volume `json:"extraVolumes,omitempty"`

	// Optionally specify extra list of additional volumeMounts
	//+kubebuilder:validation:Optional
	ExtraVolumeMounts []corev1.VolumeMount `json:"extraVolumeMounts,omitempty"`

	// Add additional sidecar containers
	//+kubebuilder:validation:Optional
	Sidecars []corev1.Container `json:"sidecars,omitempty"`

	// Add additional init containers
	//+kubebuilder:validation:Optional
	InitContainers []corev1.Container `json:"initContainers,omitempty"`
}

CommonSpec defines the desired the common state of Agent and Controller.

func (*CommonSpec) DeepCopy

func (in *CommonSpec) DeepCopy() *CommonSpec

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

func (*CommonSpec) DeepCopyInto

func (in *CommonSpec) DeepCopyInto(out *CommonSpec)

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

type ContainerSecurityContext

type ContainerSecurityContext struct {
	// Enable ContainerSecurityContext on containers
	//+kubebuilder:validation:Optional
	Enabled bool `json:"enabled"`

	// Set containers' Security Context runAsUser
	//+kubebuilder:validation:Optional
	//+kubebuilder:validation:minimum:=0
	//+kubebuilder:default:=1001
	RunAsUser *int64 `json:"runAsUser"`

	// Set containers' Security Context runAsNonRoot
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:=false
	RunAsNonRootUser *bool `json:"runAsNonRoot"`

	// Set agent containers' Security Context runAsNonRoot
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:=false
	ReadOnlyRootFilesystem *bool `json:"readOnlyRootFilesystem"`
}

ContainerSecurityContext defines Enabled, RunAsUser, RunAsNonRootUser and ReadOnlyRootFilesystem for the containers' security context.

func (*ContainerSecurityContext) DeepCopy

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

func (*ContainerSecurityContext) DeepCopyInto

func (in *ContainerSecurityContext) DeepCopyInto(out *ContainerSecurityContext)

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

type Controller

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

	//+kubebuilder:default:={serverPort:80}
	Spec   ControllerSpec   `json:"spec,omitempty"`
	Status ControllerStatus `json:"status,omitempty"`
}

Controller is the Schema for the controllers API.

func (*Controller) DeepCopy

func (in *Controller) DeepCopy() *Controller

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

func (*Controller) DeepCopyInto

func (in *Controller) DeepCopyInto(out *Controller)

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

func (*Controller) DeepCopyObject

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

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

type ControllerList

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

ControllerList contains a list of Controller.

func (*ControllerList) DeepCopy

func (in *ControllerList) DeepCopy() *ControllerList

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

func (*ControllerList) DeepCopyInto

func (in *ControllerList) DeepCopyInto(out *ControllerList)

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

func (*ControllerList) DeepCopyObject

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

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

type ControllerSpec

type ControllerSpec struct {
	// CommonSpec defines the common state between Agent and Controller
	CommonSpec `json:",inline"`

	// Image configuration
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:={tag:"latest",pullPolicy:"IfNotPresent",registry:"docker.io/fluxninja",repository:"aperture-controller"}
	Image Image `json:"image"`

	// Pod's host aliases
	//+kubebuilder:validation:Optional
	HostAliases []corev1.HostAlias `json:"hostAliases"`
}

ControllerSpec defines the desired state for the Controller.

func (*ControllerSpec) DeepCopy

func (in *ControllerSpec) DeepCopy() *ControllerSpec

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

func (*ControllerSpec) DeepCopyInto

func (in *ControllerSpec) DeepCopyInto(out *ControllerSpec)

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

type ControllerStatus

type ControllerStatus struct {
	Resources string `json:"resources,omitempty"`
}

ControllerStatus defines the observed state of Controller.

func (*ControllerStatus) DeepCopy

func (in *ControllerStatus) DeepCopy() *ControllerStatus

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

func (*ControllerStatus) DeepCopyInto

func (in *ControllerStatus) DeepCopyInto(out *ControllerStatus)

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

type EtcdSpec

type EtcdSpec struct {
	// Etcd endpoints
	//+kubebuilder:validation:Optional
	Endpoints []string `json:"endpoints,omitempty"`

	// Etcd leaseTtl
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:="60s"
	LeaseTTL string `json:"leaseTtl"`
}

EtcdSpec defines Endpoints and LeaseTtl of etcd.

func (*EtcdSpec) DeepCopy

func (in *EtcdSpec) DeepCopy() *EtcdSpec

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

func (*EtcdSpec) DeepCopyInto

func (in *EtcdSpec) DeepCopyInto(out *EtcdSpec)

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

type FluxNinjaPluginSpec

type FluxNinjaPluginSpec struct {
	// Enabled the FluxNinja plugin with Aperture
	//+kubebuilder:validation:Optional
	Enabled bool `json:"enabled"`

	// FluxNinja cloud instance address
	//+kubebuilder:validation:Optional
	Endpoint string `json:"endpoint"`

	// Specifies how often to send heartbeats to the FluxNinja cloud
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:="30s"
	HeartbeatsInterval string `json:"heartbeatsInterval"`

	// tls configuration to communicate with FluxNinja cloud
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:={insecure:false,insecureSkipVerify:false}
	TLS TLSSpec `json:"tls"`

	// API Key secret references for Agent or Controller
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:={create:true}
	APIKeySecret APIKeySecret `json:"apiKeySecret"`
}

FluxNinjaPluginSpec defines the parameters for FluxNinja Plugin.

func (*FluxNinjaPluginSpec) DeepCopy

func (in *FluxNinjaPluginSpec) DeepCopy() *FluxNinjaPluginSpec

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

func (*FluxNinjaPluginSpec) DeepCopyInto

func (in *FluxNinjaPluginSpec) DeepCopyInto(out *FluxNinjaPluginSpec)

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

type Image

type Image struct {
	// The registry of the image
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:="docker.io/fluxninja"
	Registry string `json:"registry"`

	// The repository of the image
	Repository string `json:"repository"`

	// The tag (version) of the image
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:=latest
	Tag string `json:"tag"`

	// The ImagePullPolicy of the image
	//+kubebuilder:validation:Optional
	//+kubebuilder:validation:Enum=Never;Always;IfNotPresent
	//+kubebuilder:default:="IfNotPresent"
	PullPolicy string `json:"pullPolicy"`

	// The PullSecrets for the image
	//+kubebuilder:validation:Optional
	PullSecrets []string `json:"pullSecrets,omitempty"`
}

Image defines the Registry, Repository, Tag, PullPolicy, PullSecrets and Debug.

func (*Image) DeepCopy

func (in *Image) DeepCopy() *Image

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

func (*Image) DeepCopyInto

func (in *Image) DeepCopyInto(out *Image)

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

type Ingestion

type Ingestion struct {
	// Specifies address of FluxNinja cloud instance to connect to
	//+kubebuilder:validation:Optional
	Address string `json:"address"`

	// Specifies port of FluxNinja cloud instance to connect to
	//+kubebuilder:validation:Optional
	//+kubebuilder:validation:Maximum:=65535
	//+kubebuilder:validation:Minimum:=1
	//+kubebuilder:default:=443
	Port int `json:"port"`

	// Specifies whether to connect to the FluxNinja cloud over TLS or in plain text
	//+kubebuilder:validation:Optional
	Insecure bool `json:"insecure"`

	// Specifies whether to verify FluxNinja cloud server certificate
	//+kubebuilder:validation:Optional
	InsecureSkipVerify bool `json:"insecureSkipVerify"`
}

Ingestion defines the fields required for configuring the FluxNinja cloud connection details.

func (*Ingestion) DeepCopy

func (in *Ingestion) DeepCopy() *Ingestion

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

func (*Ingestion) DeepCopyInto

func (in *Ingestion) DeepCopyInto(out *Ingestion)

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

type Log

type Log struct {
	// Log level
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:="info"
	Level string `json:"level"`

	// Log filename
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:="stderr"
	File string `json:"file"`

	// Flag for non-blocking
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:=true
	NonBlocking bool `json:"nonBlocking"`

	// Flag for pretty console
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:=false
	PrettyConsole bool `json:"prettyConsole"`
}

Log defines logger configuration.

func (*Log) DeepCopy

func (in *Log) DeepCopy() *Log

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

func (*Log) DeepCopyInto

func (in *Log) DeepCopyInto(out *Log)

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

type PodSecurityContext

type PodSecurityContext struct {
	// Enable PodSecurityContext on Pod
	Enabled bool `json:"enabled"`

	// fsGroup to define the Group ID for the Pod
	//+kubebuilder:validation:minimum=0
	//+kubebuilder:validation:Optional
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:=1001
	FsGroup *int64 `json:"fsGroup"`
}

PodSecurityContext defines Enabled and FsGroup for the Pods' security context.

func (*PodSecurityContext) DeepCopy

func (in *PodSecurityContext) DeepCopy() *PodSecurityContext

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

func (*PodSecurityContext) DeepCopyInto

func (in *PodSecurityContext) DeepCopyInto(out *PodSecurityContext)

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

type Probe

type Probe struct {
	// Enable probe on agent containers
	Enabled bool `json:"enabled"`

	// Initial delay seconds for probe
	//+kubebuilder:validation:Optional
	//+kubebuilder:validation:Minimum:=0
	//+kubebuilder:default:=15
	InitialDelaySeconds int32 `json:"initialDelaySeconds"`

	// Period delay seconds for probe
	//+kubebuilder:validation:Optional
	//+kubebuilder:validation:Minimum:=1
	//+kubebuilder:default:=15
	PeriodSeconds int32 `json:"periodSeconds"`

	// Timeout delay seconds for probe
	//+kubebuilder:validation:Optional
	//+kubebuilder:validation:Minimum:=1
	//+kubebuilder:default:=5
	TimeoutSeconds int32 `json:"timeoutSeconds"`

	// Failure threshold for probe
	//+kubebuilder:validation:Optional
	//+kubebuilder:validation:Minimum:=1
	//+kubebuilder:default:=6
	FailureThreshold int32 `json:"failureThreshold"`

	// Success threshold for probe
	//+kubebuilder:validation:Optional
	//+kubebuilder:validation:Minimum:=1
	//+kubebuilder:default:=1
	SuccessThreshold int32 `json:"successThreshold"`
}

Probe defines Enabled, InitialDelaySeconds, PeriodSeconds, TimeoutSeconds, FailureThreshold and SuccessThreshold for probes like livenessProbe.

func (*Probe) DeepCopy

func (in *Probe) DeepCopy() *Probe

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

func (*Probe) DeepCopyInto

func (in *Probe) DeepCopyInto(out *Probe)

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

type PrometheusSpec

type PrometheusSpec struct {
	// Address for Prometheus
	//+kubebuilder:validation:Optional
	Address string `json:"address"`
}

PrometheusSpec defines parameters required for Prometheus connection.

func (*PrometheusSpec) DeepCopy

func (in *PrometheusSpec) DeepCopy() *PrometheusSpec

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

func (*PrometheusSpec) DeepCopyInto

func (in *PrometheusSpec) DeepCopyInto(out *PrometheusSpec)

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

type SecretKeyRef

type SecretKeyRef struct {
	// Name of the secret
	//+kubebuilder:validation:Optional
	Name string `json:"name"`

	// Key of the secret in Data
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:=apiKey
	Key string `json:"key"`
}

SecretKeyRef defines fields for details of the ApiKey secret.

func (*SecretKeyRef) DeepCopy

func (in *SecretKeyRef) DeepCopy() *SecretKeyRef

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

func (*SecretKeyRef) DeepCopyInto

func (in *SecretKeyRef) DeepCopyInto(out *SecretKeyRef)

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

type Service

type Service struct {
	// Additional custom annotations for service
	//+kubebuilder:pruning:PreserveUnknownFields
	//+kubebuilder:validation:Optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

Service defines fields required to create Kubernetes' service.

func (*Service) DeepCopy

func (in *Service) DeepCopy() *Service

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

func (*Service) DeepCopyInto

func (in *Service) DeepCopyInto(out *Service)

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

type ServiceAccountSpec

type ServiceAccountSpec struct {
	// Specifies whether a ServiceAccount should be created
	Create bool `json:"create"`

	// Additional Service Account annotations
	//+kubebuilder:validation:Optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// Automount service account token for the server service account
	//+kubebuilder:validation:Optional
	//+kubebuilder:default:=true
	AutomountServiceAccountToken bool `json:"automountServiceAccountToken"`
}

ServiceAccountSpec defines the the configuration for Service account for Agent and Controller.

func (*ServiceAccountSpec) DeepCopy

func (in *ServiceAccountSpec) DeepCopy() *ServiceAccountSpec

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

func (*ServiceAccountSpec) DeepCopyInto

func (in *ServiceAccountSpec) DeepCopyInto(out *ServiceAccountSpec)

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

type SidecarSpec

type SidecarSpec struct {
	// Enabled Sidecar injection or use per Node setup of Agent
	//+kubebuilder:validation:Optional
	Enabled bool `json:"enabled"`

	// Enabled per namespace injection by default
	//+kubebuilder:validation:Optional
	EnableNamespaceByDefault []string `json:"enableNamespacesByDefault"`
}

SidecarSpec defines the desired state for the Sidecar injection.

func (*SidecarSpec) DeepCopy

func (in *SidecarSpec) DeepCopy() *SidecarSpec

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

func (*SidecarSpec) DeepCopyInto

func (in *SidecarSpec) DeepCopyInto(out *SidecarSpec)

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

type TLSSpec

type TLSSpec struct {
	// Specifies whether to communicate with FluxNinja cloud over TLS or in plain text
	//+kubebuilder:validation:Optional
	Insecure bool `json:"insecure"`

	// Specifies whether to verify FluxNinja cloud certificate
	//+kubebuilder:validation:Optional
	InsecureSkipVerify bool `json:"insecureSkipVerify"`

	// Alternative CA certificates bundle to use to validate FluxNinja cloud certificate
	//+kubebuilder:validation:Optional
	CAFile string `json:"caFile"`
}

TLSSpec defines fields for TLS configuration for FluxNinja Plugin.

func (*TLSSpec) DeepCopy

func (in *TLSSpec) DeepCopy() *TLSSpec

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

func (*TLSSpec) DeepCopyInto

func (in *TLSSpec) DeepCopyInto(out *TLSSpec)

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