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 ¶
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 ¶
func (in *BundledExtensionsSpec) DeepCopy() *BundledExtensionsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BundledExtensionsSpec.
func (*BundledExtensionsSpec) DeepCopyInto ¶
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"` // Google Token Source configuration //+kubebuilder:validation:Optional TokenSource googletoken.Config `json:"token_source"` // 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 ¶
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 ¶
func (in *ControllerClientCertConfig) DeepCopy() *ControllerClientCertConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerClientCertConfig.
func (*ControllerClientCertConfig) DeepCopyInto ¶
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"` // The digest (sha) of the image //+kubebuilder:validation:Optional Digest string `json:"digest"` // 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"` // Existing ServiceAccount name to be used //+kubebuilder:validation:Optional Name string `json:"name" default:""` // 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 ¶
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 discovery.
func (*ServiceDiscoverySpec) DeepCopy ¶
func (in *ServiceDiscoverySpec) DeepCopy() *ServiceDiscoverySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceDiscoverySpec.
func (*ServiceDiscoverySpec) DeepCopyInto ¶
func (in *ServiceDiscoverySpec) DeepCopyInto(out *ServiceDiscoverySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.