Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=fluxninja.com
Index ¶
- Variables
- type APIKeySecret
- type APIKeySecretSpec
- type Agent
- type AgentList
- type AgentSpec
- type AgentStatus
- type Batch
- type CommonSpec
- type ContainerSecurityContext
- type Controller
- type ControllerList
- type ControllerSpec
- type ControllerStatus
- type EtcdSpec
- type FluxNinjaPluginSpec
- type Image
- type Ingestion
- type Log
- type PodSecurityContext
- type Probe
- type PrometheusSpec
- type SecretKeyRef
- type Service
- type ServiceAccountSpec
- type SidecarSpec
- type TLSSpec
Constants ¶
This section is empty.
Variables ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Agent.
func (*Agent) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Agent) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentList.
func (*AgentList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AgentList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentSpec.
func (*AgentSpec) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Batch.
func (*Batch) DeepCopyInto ¶
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 ¶
func (in *ContainerSecurityContext) DeepCopy() *ContainerSecurityContext
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdSpec.
func (*EtcdSpec) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.
func (*Image) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingestion.
func (*Ingestion) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Log.
func (*Log) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Probe.
func (*Probe) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSSpec.
func (*TLSSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.