Documentation
¶
Overview ¶
+kubebuilder:object:generate=true
Index ¶
- type APIKeySecret
- type APIKeySecretSpec
- type AgentImage
- type BundledExtensionsSpec
- type ClientConfigSpec
- type CommonConfigSpec
- type CommonSpec
- type ContainerSecurityContext
- type ControllerClientCertConfig
- type ControllerImage
- type Image
- type PodSecurityContext
- type Probe
- type ProbeConfigSpec
- type SecretKeyRef
- type Secrets
- type ServerConfigSpec
- type Service
- type ServiceAccountSpec
- type ServiceDiscoverySpec
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIKeySecret ¶
type APIKeySecret struct {
// Create new secret or not
Create bool `json:"create" default:"false"`
// Secret details
//+kubebuilder:validation:Optional
SecretKeyRef SecretKeyRef `json:"secretKeyRef"`
// Value for the ApiKey
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 AgentImage ¶
type AgentImage struct {
// Image specs for Agent
Image `json:",inline"`
// The repository of the image
//+kubebuilder:validation:Optional
Repository string `json:"repository" default:"aperture-agent"`
}
AgentImage defines Image spec for Aperture Agent.
func (*AgentImage) DeepCopy ¶
func (in *AgentImage) DeepCopy() *AgentImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentImage.
func (*AgentImage) DeepCopyInto ¶
func (in *AgentImage) DeepCopyInto(out *AgentImage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BundledExtensionsSpec ¶ added in v1.0.0
type BundledExtensionsSpec struct {
// FluxNinja ARC extension configuration.
//+kubebuilder:validation:Optional
FluxNinja extconfig.FluxNinjaExtensionConfig `json:"fluxninja"`
// Sentry extension configuration.
//+kubebuilder:validation:Optional
Sentry sentry.SentryConfig `json:"sentry"`
}
BundledExtensionsSpec defines configuration for bundled extensions.
func (*BundledExtensionsSpec) DeepCopy ¶ added in v1.0.0
func (in *BundledExtensionsSpec) DeepCopy() *BundledExtensionsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BundledExtensionsSpec.
func (*BundledExtensionsSpec) DeepCopyInto ¶ added in v1.0.0
func (in *BundledExtensionsSpec) DeepCopyInto(out *BundledExtensionsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientConfigSpec ¶
type ClientConfigSpec struct {
// Proxy settings for the client.
//+kubebuilder:validation:Optional
Proxy http.ProxyConfig `json:"proxy"`
}
ClientConfigSpec defines client configuration.
func (*ClientConfigSpec) DeepCopy ¶
func (in *ClientConfigSpec) DeepCopy() *ClientConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientConfigSpec.
func (*ClientConfigSpec) DeepCopyInto ¶
func (in *ClientConfigSpec) DeepCopyInto(out *ClientConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommonConfigSpec ¶
type CommonConfigSpec struct {
// Client configuration such as proxy settings.
//+kubebuilder:validation:Optional
Client ClientConfigSpec `json:"client"`
// Etcd configuration.
//+kubebuilder:validation:Required
Etcd etcd.EtcdConfig `json:"etcd"`
// Liveness probe configuration.
//+kubebuilder:validation:Optional
Liveness ProbeConfigSpec `json:"liveness"`
// Readiness probe configuration.
//+kubebuilder:validation:Optional
Readiness ProbeConfigSpec `json:"readiness"`
// Log configuration.
//+kubebuilder:validation:Optional
Log config.LogConfig `json:"log"`
// Metrics configuration.
//+kubebuilder:validation:Optional
Metrics metrics.MetricsConfig `json:"metrics"`
// Profilers configuration.
//+kubebuilder:validation:Optional
Profilers profilers.ProfilersConfig `json:"profilers"`
// Prometheus configuration.
//+kubebuilder:validation:Required
Prometheus prometheus.PrometheusConfig `json:"prometheus"`
// Server configuration.
//+kubebuilder:validation:Optional
Server ServerConfigSpec `json:"server"`
// Watchdog configuration.
//+kubebuilder:validation:Optional
Watchdog watchdogconfig.WatchdogConfig `json:"watchdog"`
// Alert Managers configuration.
//+kubebuilder:validation:Optional
Alertmanagers alertmgrconfig.AlertManagerConfig `json:"alertmanagers,omitempty"`
// BundledExtensionsSpec defines configuration for bundled extensions.
//+kubebuilder:validation:Optional
BundledExtensionsSpec `json:",inline"`
}
CommonConfigSpec defines common configuration for agent and controller.
func (*CommonConfigSpec) DeepCopy ¶
func (in *CommonConfigSpec) DeepCopy() *CommonConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonConfigSpec.
func (*CommonConfigSpec) DeepCopyInto ¶
func (in *CommonConfigSpec) DeepCopyInto(out *CommonConfigSpec)
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
Labels map[string]string `json:"labels,omitempty"`
// Annotations to add to all deployed objects
//+kubebuilder:validation:Optional
Annotations map[string]string `json:"annotations,omitempty"`
// Configuration for Agent or Controller service
//+kubebuilder:validation:Optional
Service Service `json:"service"`
// ServiceAccountSpec defines the the configuration pf Service account for Agent or Controller
//+kubebuilder:validation:Optional
ServiceAccountSpec ServiceAccountSpec `json:"serviceAccount"`
// livenessProbe related configuration
//+kubebuilder:validation:Optional
LivenessProbe Probe `json:"livenessProbe"`
// readinessProbe related configuration
//+kubebuilder:validation:Optional
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
PodSecurityContext PodSecurityContext `json:"podSecurityContext"`
// Configure Containers' Security Context
//+kubebuilder:validation:Optional
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
//+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:Optional
TerminationGracePeriodSeconds int64 `json:"terminationGracePeriodSeconds" validate:"gte=0"`
// For the container(s) to automate configuration before or after startup
//+kubebuilder:validation:Optional
LifecycleHooks *corev1.Lifecycle `json:"lifecycleHooks,omitempty" validate:"omitempty"`
// 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"`
// Secrets
//+kubebuilder:validation:Optional
Secrets Secrets `json:"secrets"`
}
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
Enabled bool `json:"enabled" default:"false"`
// Set containers' Security Context runAsUser
//+kubebuilder:validation:Optional
RunAsUser int64 `json:"runAsUser" default:"1001" validate:"gte=0"`
// Set containers' Security Context runAsNonRoot
//+kubebuilder:validation:Optional
RunAsNonRootUser bool `json:"runAsNonRoot" default:"false"`
// Set agent containers' Security Context runAsNonRoot
//+kubebuilder:validation:Optional
ReadOnlyRootFilesystem bool `json:"readOnlyRootFilesystem" default:"false"`
}
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 ControllerClientCertConfig ¶ added in v1.5.0
type ControllerClientCertConfig struct {
// ConfigMapName is the name of the ConfigMap containing the client certificate which will be mounted at '/etc/aperture/aperture-agent/certs' path with given key name.
//+kubebuilder:validation:Optional
ConfigMapName string `json:"configMapName"`
// ClientCertKeyName is the key name of the client certificate in the ConfigMap.
//+kubebuilder:validation:Optional
ClientCertKeyName string `json:"clientCertKeyName" default:"controller-ca.pem"`
}
ControllerClientCertConfig defines configuration for client certificate for Controller.
func (*ControllerClientCertConfig) DeepCopy ¶ added in v1.5.0
func (in *ControllerClientCertConfig) DeepCopy() *ControllerClientCertConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerClientCertConfig.
func (*ControllerClientCertConfig) DeepCopyInto ¶ added in v1.5.0
func (in *ControllerClientCertConfig) DeepCopyInto(out *ControllerClientCertConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerImage ¶
type ControllerImage struct {
// Image specs for Controller
Image `json:",inline"`
// The repository of the image
//+kubebuilder:validation:Optional
Repository string `json:"repository" default:"aperture-controller"`
}
ControllerImage defines Image spec for Aperture Controller.
func (*ControllerImage) DeepCopy ¶
func (in *ControllerImage) DeepCopy() *ControllerImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerImage.
func (*ControllerImage) DeepCopyInto ¶
func (in *ControllerImage) DeepCopyInto(out *ControllerImage)
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
Registry string `json:"registry" default:"docker.io/fluxninja"`
// The tag (version) of the image
//+kubebuilder:validation:Optional
Tag string `json:"tag" default:"latest"`
// The ImagePullPolicy of the image
//+kubebuilder:validation:Optional
PullPolicy string `json:"pullPolicy" default:"IfNotPresent" validate:"oneof=Never Always IfNotPresent"`
// 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 PodSecurityContext ¶
type PodSecurityContext struct {
// Enable PodSecurityContext on Pod
Enabled bool `json:"enabled" default:"false"`
// fsGroup to define the Group ID for the Pod
//+kubebuilder:validation:Optional
FsGroup int64 `json:"fsGroup" default:"1001" validate:"gte=0"`
}
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" default:"true"`
// Initial delay seconds for probe
//+kubebuilder:validation:Optional
InitialDelaySeconds int32 `json:"initialDelaySeconds" default:"15" validate:"gte=0"`
// Period delay seconds for probe
//+kubebuilder:validation:Optional
PeriodSeconds int32 `json:"periodSeconds" default:"15" validate:"gte=1"`
// Timeout delay seconds for probe
//+kubebuilder:validation:Optional
TimeoutSeconds int32 `json:"timeoutSeconds" default:"5" validate:"gte=1"`
// Failure threshold for probe
//+kubebuilder:validation:Optional
FailureThreshold int32 `json:"failureThreshold" default:"6" validate:"gte=1"`
// Success threshold for probe
//+kubebuilder:validation:Optional
SuccessThreshold int32 `json:"successThreshold" default:"1" validate:"gte=1"`
}
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 ProbeConfigSpec ¶
type ProbeConfigSpec struct {
// Scheduler settings.
//+kubebuilder:validation:Optional
Scheduler jobs.JobGroupConfig `json:"scheduler"`
// Service settings.
//+kubebuilder:validation:Optional
Service jobs.JobConfig `json:"service"`
}
ProbeConfigSpec defines liveness and readiness probe configuration.
func (*ProbeConfigSpec) DeepCopy ¶
func (in *ProbeConfigSpec) DeepCopy() *ProbeConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProbeConfigSpec.
func (*ProbeConfigSpec) DeepCopyInto ¶
func (in *ProbeConfigSpec) DeepCopyInto(out *ProbeConfigSpec)
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
Key string `json:"key" default:"apiKey"`
}
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 Secrets ¶
type Secrets struct {
// FluxNinja extension.
//+kubebuilder:validation:Optional
FluxNinjaExtension APIKeySecret `json:"fluxNinjaExtension"`
}
Secrets for Agent or Controller.
func (*Secrets) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Secrets.
func (*Secrets) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerConfigSpec ¶
type ServerConfigSpec struct {
// Listener configuration.
//+kubebuilder:validation:Optional
Listener listener.ListenerConfig `json:"listener"`
// GRPC server configuration.
//+kubebuilder:validation:Optional
Grpc grpc.GRPCServerConfig `json:"grpc"`
// GRPC Gateway configuration.
//+kubebuilder:validation:Optional
GrpcGateway grpcgateway.GRPCGatewayConfig `json:"grpc_gateway"`
// HTTP server configuration.
//+kubebuilder:validation:Optional
HTTP http.HTTPServerConfig `json:"http"`
// TLS configuration.
//+kubebuilder:validation:Optional
TLS tlsconfig.ServerTLSConfig `json:"tls"`
}
ServerConfigSpec configures main server.
func (*ServerConfigSpec) DeepCopy ¶
func (in *ServerConfigSpec) DeepCopy() *ServerConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerConfigSpec.
func (*ServerConfigSpec) DeepCopyInto ¶
func (in *ServerConfigSpec) DeepCopyInto(out *ServerConfigSpec)
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" default:"true"`
// 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
AutomountServiceAccountToken bool `json:"automountServiceAccountToken" default:"true"`
}
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 ServiceDiscoverySpec ¶ added in v0.19.0
type ServiceDiscoverySpec struct {
// KubernetesDiscoveryConfig for Kubernetes service discovery.
KubernetesDiscoveryConfig kubernetes.KubernetesDiscoveryConfig `json:"kubernetes"`
// StaticDiscoveryConfig for pre-determined list of services.
StaticDiscoveryConfig static.StaticDiscoveryConfig `json:"static"`
}
ServiceDiscoverySpec defines configuration for Service discoveru.
func (*ServiceDiscoverySpec) DeepCopy ¶ added in v0.19.0
func (in *ServiceDiscoverySpec) DeepCopy() *ServiceDiscoverySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceDiscoverySpec.
func (*ServiceDiscoverySpec) DeepCopyInto ¶ added in v0.19.0
func (in *ServiceDiscoverySpec) DeepCopyInto(out *ServiceDiscoverySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.