v1

package
v1.0.10-0...-ca1957b Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the v1 API group +kubebuilder:object:generate=true +groupName=instana.io

  • (c) Copyright IBM Corp. 2021
  • (c) Copyright Instana Inc. 2021

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "instana.io", Version: "v1"}

	// 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 AgentMode

type AgentMode string
const (
	APM            AgentMode = "APM"
	INFRASTRUCTURE AgentMode = "INFRASTRUCTURE"
	AWS            AgentMode = "AWS"
	KUBERNETES     AgentMode = "KUBERNETES"
)

type AgentOperatorState

type AgentOperatorState string

AgentOperatorState type representing the running state of the Agent Operator itself.

const (
	// OperatorStateRunning the operator is running properly and all changes applied successfully.
	OperatorStateRunning AgentOperatorState = "Running"
	// OperatorStateUpdating the operator is running properly but is currently applying CR changes and getting the Agent in the correct state.
	OperatorStateUpdating AgentOperatorState = "Updating"
	// OperatorStateFailed the operator is not running properly and likely there were issues applying the CustomResource correctly.
	OperatorStateFailed AgentOperatorState = "Failed"
)

type AgentPodSpec

type AgentPodSpec struct {
	// agent.pod.annotations are additional annotations to be added to the agent pods.
	// +kubebuilder:validation:Optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// agent.pod.labels are additional labels to be added to the agent pods.
	// +kubebuilder:validation:Optional
	Labels map[string]string `json:"labels,omitempty"`

	// agent.pod.tolerations are tolerations to influence agent pod assignment.
	// +kubebuilder:validation:Optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// agent.pod.affinity are affinities to influence agent pod assignment.
	// https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
	// +kubebuilder:validation:Optional
	Affinity corev1.Affinity `json:"affinity,omitempty"`

	// agent.pod.priorityClassName is the name of an existing PriorityClass that should be set on the agent pods
	// https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
	// +kubebuilder:validation:Optional
	PriorityClassName string `json:"priorityClassName,omitempty"`

	// Override Agent resource requirements to e.g. give the Agent container more memory.
	ResourceRequirements `json:",inline"`

	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
}

func (*AgentPodSpec) DeepCopy

func (in *AgentPodSpec) DeepCopy() *AgentPodSpec

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

func (*AgentPodSpec) DeepCopyInto

func (in *AgentPodSpec) DeepCopyInto(out *AgentPodSpec)

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

type BackendSpec

type BackendSpec struct {
	// +kubebuilder:validation:Required
	EndpointHost string `json:"endpointHost"`
	// +kubebuilder:validation:Required
	EndpointPort string `json:"endpointPort"`
	// +kubebuilder:validation:Optional
	Key string `json:"key"`
}

func (*BackendSpec) DeepCopy

func (in *BackendSpec) DeepCopy() *BackendSpec

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

func (*BackendSpec) DeepCopyInto

func (in *BackendSpec) DeepCopyInto(out *BackendSpec)

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

type BaseAgentSpec

type BaseAgentSpec struct {
	// Set agent mode, possible options are APM, INFRASTRUCTURE or AWS. KUBERNETES should not be used but instead enabled via
	// `kubernetes.deployment.enabled: true`.
	// +kubebuilder:validation:Optional
	Mode AgentMode `json:"mode,omitempty"`

	// Key is the secret token which your agent uses to authenticate to Instana's servers.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Agent Key",xDescriptors={"urn:alm:descriptor:io.kubernetes:Secret"}
	// +kubebuilder:validation:Optional
	Key string `json:"key,omitempty"`

	// The DownloadKey, sometimes known as "sales key", that allows you to download software from Instana. It might be needed to
	// specify this in addition to the Key.
	// +kubebuilder:validation:Optional
	DownloadKey string `json:"downloadKey,omitempty"`

	// Rather than specifying the Key and optionally the DownloadKey, you can "bring your
	// own secret" creating it in the namespace in which you install the `instana-agent` and
	// specify its name in the `KeysSecret` field. The secret you create must contain a field called `key` and optionally one
	// called `downloadKey`, which contain, respectively, the values you'd otherwise set in `.agent.key` and `agent.downloadKey`.
	// +kubebuilder:validation:Optional
	KeysSecret string `json:"keysSecret,omitempty"`

	// ListenAddress is the IP addresses the Agent HTTP server will listen on. Normally this will just be localhost (`127.0.0.1`),
	// the pod public IP and any container runtime bridge interfaces. Set `listenAddress: *` for making the Agent listen on all
	// network interfaces.
	// +kubebuilder:validation:Optional
	ListenAddress string `json:"listenAddress,omitempty"`

	// EndpointHost is the hostname of the Instana server your agents will connect to.
	// +kubebuilder:validation:Required
	EndpointHost string `json:"endpointHost"`

	// EndpointPort is the port number (as a String) of the Instana server your agents will connect to.
	// +kubebuilder:validation:Required
	EndpointPort string `json:"endpointPort"`

	// The minimum number of seconds for which a newly created Pod should be ready without any of its containers crashing, for it to be considered available
	// +kubebuilder:validation:Optional
	MinReadySeconds int `json:"minReadySeconds,omitempty"`

	// These are additional backends the Instana agent will report to besides
	// the one configured via the `agent.endpointHost`, `agent.endpointPort` and `agent.key` setting.
	// +kubebuilder:validation:Optional
	AdditionalBackends []BackendSpec `json:"additionalBackends,omitempty"`

	// TLS for end-to-end encryption between the Instana Agent and clients accessing the Agent.
	// The Instana Agent does not yet allow enforcing TLS encryption, enabling makes it possible for clients to 'opt-in'.
	// So TLS is only enabled on a connection when requested by the client.
	// +kubebuilder:validation:Optional
	TlsSpec `json:"tls,omitempty"`

	// Override the container image used for the Instana Agent pods.
	// +kubebuilder:validation:Optional
	ExtendedImageSpec `json:"image,omitempty"`

	// Control how to update the Agent DaemonSet
	// +kubebuilder:validation:Optional
	UpdateStrategy appsv1.DaemonSetUpdateStrategy `json:"updateStrategy,omitempty"`

	// Override Agent Pod specific settings such as annotations, labels and resources.
	// +kubebuilder:validation:Optional
	Pod AgentPodSpec `json:"pod,omitempty"`

	// proxyHost sets the INSTANA_AGENT_PROXY_HOST environment variable.
	// +kubebuilder:validation:Optional
	ProxyHost string `json:"proxyHost,omitempty"`
	// proxyPort sets the INSTANA_AGENT_PROXY_PORT environment variable.
	// +kubebuilder:validation:Optional
	ProxyPort string `json:"proxyPort,omitempty"`
	// proxyProtocol sets the INSTANA_AGENT_PROXY_PROTOCOL environment variable.
	// +kubebuilder:validation:Optional
	ProxyProtocol string `json:"proxyProtocol,omitempty"`
	// proxyUser sets the INSTANA_AGENT_PROXY_USER environment variable.
	// +kubebuilder:validation:Optional
	ProxyUser string `json:"proxyUser,omitempty"`
	// proxyPassword sets the INSTANA_AGENT_PROXY_PASSWORD environment variable.
	// +kubebuilder:validation:Optional
	ProxyPassword string `json:"proxyPassword,omitempty"`
	// proxyUseDNS sets the INSTANA_AGENT_PROXY_USE_DNS environment variable.
	// +kubebuilder:validation:Optional
	ProxyUseDNS bool `json:"proxyUseDNS,omitempty"`

	// Use the `env` field to set additional environment variables for the Instana Agent, for example:
	// env:
	//   INSTANA_AGENT_TAGS: dev
	// +kubebuilder:validation:Optional
	Env map[string]string `json:"env,omitempty"`

	// Supply Agent configuration e.g. for configuring certain Sensors.
	// +kubebuilder:validation:Optional
	ConfigurationYaml string `json:"configuration_yaml,omitempty"`

	// RedactKubernetesSecrets sets the INSTANA_KUBERNETES_REDACT_SECRETS environment variable.
	// +kubebuilder:validation:Optional
	RedactKubernetesSecrets string `json:"redactKubernetesSecrets,omitempty"`

	// Host sets a host path to be mounted as the Agent Maven repository (mainly for debugging or development purposes)
	// +kubebuilder:validation:Optional
	Host HostSpec `json:"host,omitempty"`

	// ServiceMesh sets the ENABLE_AGENT_SOCKET environment variable.
	// +kubebuilder:validation:Optional
	ServiceMesh ServiceMeshSpec `json:"serviceMesh,omitempty"`

	// Override for the Maven repository URL when the Agent needs to connect to a locally provided Maven repository 'proxy'
	// Alternative to `Host` for referencing a different Maven repo.
	// +kubebuilder:validation:Optional
	MvnRepoUrl string `json:"instanaMvnRepoUrl,omitempty"`
	// Sets the INSTANA_MVN_REPOSITORY_FEATURES_PATH environment variable
	// +kubebuilder:validation:Optional
	MvnRepoFeaturesPath string `json:"instanaMvnRepoFeaturesPath,omitempty"`
	// Sets the INSTANA_MVN_REPOSITORY_SHARED_PATH environment variable
	// +kubebuilder:validation:Optional
	MvnRepoSharedPath string `json:"instanaMvnRepoSharedPath,omitempty"`
}

BaseAgentSpec defines the desired state info related to the running Agent +k8s:openapi-gen=true

func (*BaseAgentSpec) DeepCopy

func (in *BaseAgentSpec) DeepCopy() *BaseAgentSpec

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

func (*BaseAgentSpec) DeepCopyInto

func (in *BaseAgentSpec) DeepCopyInto(out *BaseAgentSpec)

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

type Create

type Create struct {
	// +kubebuilder:validation:Optional
	Create *bool `json:"create,omitempty"`
}

func (*Create) DeepCopy

func (in *Create) DeepCopy() *Create

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

func (*Create) DeepCopyInto

func (in *Create) DeepCopyInto(out *Create)

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

type DeprecatedInstanaAgentStatus deprecated

type DeprecatedInstanaAgentStatus struct {
	Status     AgentOperatorState `json:"status,omitempty"`
	Reason     string             `json:"reason,omitempty"`
	LastUpdate metav1.Time        `json:"lastUpdate,omitempty"`

	OldVersionsUpdated bool `json:"oldVersionsUpdated,omitempty"`

	ConfigMap       ResourceInfo            `json:"configmap,omitempty"` // no longer present, but keep it in the struct for backwards-compatibility
	DaemonSet       ResourceInfo            `json:"daemonset,omitempty"`
	LeadingAgentPod map[string]ResourceInfo `json:"leadingAgentPod,omitempty"`
}

Deprecated: DeprecatedInstanaAgentStatus are the previous status fields that will be used to ensure backwards compatibility with any automation that may exist

func (*DeprecatedInstanaAgentStatus) DeepCopy

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

func (*DeprecatedInstanaAgentStatus) DeepCopyInto

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

type Enabled

type Enabled struct {
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"`
}

func (*Enabled) DeepCopy

func (in *Enabled) DeepCopy() *Enabled

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

func (*Enabled) DeepCopyInto

func (in *Enabled) DeepCopyInto(out *Enabled)

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

func (Enabled) String

func (e Enabled) String() string

type ExtendedImageSpec

type ExtendedImageSpec struct {
	// +kubebuilder:validation:Required
	ImageSpec `json:",inline"`

	// PullSecrets allows you to override the default pull secret that is created when `agent.image.name` starts with
	// "containers.instana.io". Setting `agent.image.pullSecrets` prevents the creation of the default "containers-instana-io" secret.
	// +kubebuilder:validation:Optional
	PullSecrets []corev1.LocalObjectReference `json:"pullSecrets,omitempty"`
}

func (*ExtendedImageSpec) DeepCopy

func (in *ExtendedImageSpec) DeepCopy() *ExtendedImageSpec

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

func (*ExtendedImageSpec) DeepCopyInto

func (in *ExtendedImageSpec) DeepCopyInto(out *ExtendedImageSpec)

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

type HostSpec

type HostSpec struct {
	// +kubebuilder:validation:Optional
	Repository string `json:"repository,omitempty"`
}

func (*HostSpec) DeepCopy

func (in *HostSpec) DeepCopy() *HostSpec

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

func (*HostSpec) DeepCopyInto

func (in *HostSpec) DeepCopyInto(out *HostSpec)

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

type ImageSpec

type ImageSpec struct {
	// Name is the name of the container image of the Instana agent.
	// +kubebuilder:validation:Optional
	Name string `json:"name,omitempty"`

	// Digest (a.k.a. Image ID) of the agent container image. If specified, it has priority over `agent.image.tag`,
	// which will then be ignored.
	// +kubebuilder:validation:Optional
	Digest string `json:"digest,omitempty"`

	// Tag is the name of the agent container image; if `agent.image.digest` is specified, this property is ignored.
	// +kubebuilder:validation:Optional
	Tag string `json:"tag,omitempty"`

	// PullPolicy specifies when to pull the image container.
	// +kubebuilder:validation:Optional
	PullPolicy corev1.PullPolicy `json:"pullPolicy,omitempty"`
}

func (*ImageSpec) DeepCopy

func (in *ImageSpec) DeepCopy() *ImageSpec

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

func (*ImageSpec) DeepCopyInto

func (in *ImageSpec) DeepCopyInto(out *ImageSpec)

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

func (ImageSpec) Image

func (i ImageSpec) Image() string

type InstanaAgent

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

	Spec   InstanaAgentSpec   `json:"spec,omitempty"`
	Status InstanaAgentStatus `json:"status,omitempty"`
}

InstanaAgent is the Schema for the agents API

func (*InstanaAgent) DeepCopy

func (in *InstanaAgent) DeepCopy() *InstanaAgent

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

func (*InstanaAgent) DeepCopyInto

func (in *InstanaAgent) DeepCopyInto(out *InstanaAgent)

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

func (*InstanaAgent) DeepCopyObject

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

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

func (*InstanaAgent) Default

func (in *InstanaAgent) Default()

type InstanaAgentList

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

InstanaAgentList contains a list of InstanaAgent

func (*InstanaAgentList) DeepCopy

func (in *InstanaAgentList) DeepCopy() *InstanaAgentList

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

func (*InstanaAgentList) DeepCopyInto

func (in *InstanaAgentList) DeepCopyInto(out *InstanaAgentList)

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

func (*InstanaAgentList) DeepCopyObject

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

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

type InstanaAgentSpec

type InstanaAgentSpec struct {
	// Agent deployment specific fields.
	// +kubebuilder:validation:Required
	Agent BaseAgentSpec `json:"agent"`

	// Name of the cluster, that will be assigned to this cluster in Instana. Either specifying the 'cluster.name' or 'zone.name'
	// is mandatory.
	Cluster Name `json:"cluster,omitempty"`

	// Name of the zone in which the host(s) will be displayed on the map. Optional, but then 'cluster.name' must be specified.
	Zone Name `json:"zone,omitempty"`

	// Set to `True` to indicate the Operator is being deployed in a OpenShift cluster. Provides a hint so that RBAC etc is
	// configured correctly. Will attempt to auto-detect if unset.
	// +kubebuilder:validation:Optional
	OpenShift *bool `json:"openshift,omitempty"`

	// Specifies whether RBAC resources should be created.
	// +kubebuilder:validation:Optional
	Rbac Create `json:"rbac,omitempty"`

	// Specifies whether to create the instana-agent `Service` to expose within the cluster. The Service can then be used e.g.
	// for the Prometheus remote-write, OpenTelemetry GRCP endpoint and other APIs.
	// Note: Requires Kubernetes 1.17+, as it uses topologyKeys.
	// +kubebuilder:validation:Optional
	Service Create `json:"service,omitempty"`

	// Enables the OpenTelemetry gRPC endpoint on the Agent. If true, it will also apply `service.create: true`.
	// +kubebuilder:validation:Optional
	OpenTelemetry OpenTelemetry `json:"opentelemetry,omitempty"`

	// Enables the Prometheus endpoint on the Agent. If true, it will also apply `service.create: true`.
	// +kubebuilder:validation:Optional
	Prometheus `json:"prometheus,omitempty"`

	// Specifies whether a ServiceAccount should be created (default `true`), and possibly the name to use.
	// +kubebuilder:validation:Optional
	ServiceAccountSpec `json:"serviceAccount,omitempty"`

	// Specify a PodSecurityPolicy for the Instana Agent Pods. If enabled requires `rbac.create: true`.
	// +kubebuilder:validation:Optional
	PodSecurityPolicySpec `json:"podSecurityPolicy,omitempty"`

	// Allows for installment of the Kubernetes Sensor as separate pod. Which allows for better tailored resource settings
	// (mainly memory) both for the Agent pods and the Kubernetes Sensor pod.
	// +kubebuilder:validation:Optional
	KubernetesSpec `json:"kubernetes,omitempty"`

	// +kubebuilder:validation:Optional
	K8sSensor K8sSpec `json:"k8s_sensor,omitempty"`

	// Specifying the PinnedChartVersion allows for 'pinning' the Helm Chart used by the Operator for installing the Agent
	// DaemonSet. Normally the Operator will always install and update to the latest Helm Chart version.
	// The Operator will check and make sure no 'unsupported' Chart versions can be selected.
	// +kubebuilder:validation:Optional
	PinnedChartVersion string `json:"pinnedChartVersion,omitempty"`

	// Zones can be used to specify agents in multiple zones split across different nodes in the cluster
	// +kubebuilder:validation:Optional
	Zones []Zone `json:"zones,omitempty"`

	// +kubebuilder:validation:Optional
	ServiceMesh ServiceMeshSpec `json:"serviceMesh,omitempty"`
}

InstanaAgentSpec defines the desired state of the Instana Agent

func (*InstanaAgentSpec) DeepCopy

func (in *InstanaAgentSpec) DeepCopy() *InstanaAgentSpec

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

func (*InstanaAgentSpec) DeepCopyInto

func (in *InstanaAgentSpec) DeepCopyInto(out *InstanaAgentSpec)

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

type InstanaAgentStatus

type InstanaAgentStatus struct {
	ConfigSecret                 ResourceInfo `json:"configsecret,omitempty"`
	DeprecatedInstanaAgentStatus `json:",inline"`
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// +kubebuilder:validation:Minimum=0
	ObservedGeneration *int64           `json:"observedGeneration,omitempty"`
	OperatorVersion    *SemanticVersion `json:"operatorVersion,omitempty"`
}

func (*InstanaAgentStatus) DeepCopy

func (in *InstanaAgentStatus) DeepCopy() *InstanaAgentStatus

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

func (*InstanaAgentStatus) DeepCopyInto

func (in *InstanaAgentStatus) DeepCopyInto(out *InstanaAgentStatus)

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

type K8sSpec

type K8sSpec struct {
	// +kubebuilder:validation:Optional
	DeploymentSpec KubernetesDeploymentSpec `json:"deployment,omitempty"`
	// +kubebuilder:validation:Optional
	ImageSpec ImageSpec `json:"image,omitempty"`
	// Toggles the PDB for the K8s Sensor
	// +kubebuilder:validation:Optional
	PodDisruptionBudget Enabled `json:"podDisruptionBudget,omitempty"`
}

func (*K8sSpec) DeepCopy

func (in *K8sSpec) DeepCopy() *K8sSpec

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

func (*K8sSpec) DeepCopyInto

func (in *K8sSpec) DeepCopyInto(out *K8sSpec)

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

type KubernetesDeploymentSpec

type KubernetesDeploymentSpec struct {
	// Specify if separate deployment of the Kubernetes Sensor should be enabled.
	Enabled `json:",inline"`

	// The minimum number of seconds for which a newly created Pod should be ready without any of its containers crashing, for it to be considered available
	// +kubebuilder:validation:Optional
	MinReadySeconds int `json:"minReadySeconds,omitempty"`

	// Specify the number of replicas for the Kubernetes Sensor.
	// +kubebuilder:validation:Optional
	Replicas int `json:"replicas,omitempty"`

	// Override pod resource requirements for the Kubernetes Sensor pods.
	// +kubebuilder:validation:Optional
	Pod KubernetesPodSpec `json:"pod,omitempty"`
}

func (*KubernetesDeploymentSpec) DeepCopy

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

func (*KubernetesDeploymentSpec) DeepCopyInto

func (in *KubernetesDeploymentSpec) DeepCopyInto(out *KubernetesDeploymentSpec)

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

type KubernetesPodSpec

type KubernetesPodSpec struct {
	ResourceRequirements `json:",inline"`

	// +kubebuilder:validation:Optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// +kubebuilder:validation:Optional
	PriorityClassName string `json:"priorityClassName,omitempty"`

	// agent.pod.tolerations are tolerations to influence agent pod assignment.
	// +kubebuilder:validation:Optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// agent.pod.affinity are affinities to influence agent pod assignment.
	// https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
	// +kubebuilder:validation:Optional
	Affinity corev1.Affinity `json:"affinity,omitempty"`
}

func (*KubernetesPodSpec) DeepCopy

func (in *KubernetesPodSpec) DeepCopy() *KubernetesPodSpec

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

func (*KubernetesPodSpec) DeepCopyInto

func (in *KubernetesPodSpec) DeepCopyInto(out *KubernetesPodSpec)

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

type KubernetesSpec

type KubernetesSpec struct {
	// +kubebuilder:validation:Optional
	DeploymentSpec KubernetesDeploymentSpec `json:"deployment,omitempty"`
}

func (*KubernetesSpec) DeepCopy

func (in *KubernetesSpec) DeepCopy() *KubernetesSpec

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

func (*KubernetesSpec) DeepCopyInto

func (in *KubernetesSpec) DeepCopyInto(out *KubernetesSpec)

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

type Name

type Name struct {
	// +kubebuilder:validation:Optional
	Name string `json:"name,omitempty"`
}

func (*Name) DeepCopy

func (in *Name) DeepCopy() *Name

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

func (*Name) DeepCopyInto

func (in *Name) DeepCopyInto(out *Name)

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

type OpenTelemetry

type OpenTelemetry struct {
	// Deprecated setting for backwards compatibility
	Enabled `json:",inline" yaml:",inline"`

	// +kubebuilder:validation:Optional
	GRPC *Enabled `json:"grpc,omitempty" yaml:"grpc,omitempty"`

	// +kubebuilder:validation:Optional
	HTTP *Enabled `json:"http,omitempty" yaml:"http,omitempty"`
}

func (*OpenTelemetry) DeepCopy

func (in *OpenTelemetry) DeepCopy() *OpenTelemetry

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

func (*OpenTelemetry) DeepCopyInto

func (in *OpenTelemetry) DeepCopyInto(out *OpenTelemetry)

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

func (OpenTelemetry) GrpcIsEnabled

func (otlp OpenTelemetry) GrpcIsEnabled() bool

func (OpenTelemetry) HttpIsEnabled

func (otlp OpenTelemetry) HttpIsEnabled() bool

func (OpenTelemetry) IsEnabled

func (otlp OpenTelemetry) IsEnabled() bool

type PodSecurityPolicySpec

type PodSecurityPolicySpec struct {
	// Specifies whether a PodSecurityPolicy should be authorized for the Instana Agent pods.
	// Requires `rbac.create` to be `true` as well.
	Enabled `json:",inline"`
	// The name of an existing PodSecurityPolicy you would like to authorize for the Instana Agent pods.
	// If not set and `enable` is true, a PodSecurityPolicy will be created with a name generated using the fullname template.
	Name `json:",inline"`
}

func (*PodSecurityPolicySpec) DeepCopy

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

func (*PodSecurityPolicySpec) DeepCopyInto

func (in *PodSecurityPolicySpec) DeepCopyInto(out *PodSecurityPolicySpec)

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

type Prometheus

type Prometheus struct {
	// +kubebuilder:validation:Optional
	RemoteWrite Enabled `json:"remoteWrite,omitempty"`
}

func (*Prometheus) DeepCopy

func (in *Prometheus) DeepCopy() *Prometheus

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

func (*Prometheus) DeepCopyInto

func (in *Prometheus) DeepCopyInto(out *Prometheus)

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

type ResourceInfo

type ResourceInfo struct {
	Name string `json:"name"`
	UID  string `json:"uid"`
}

ResourceInfo holds Name and UID to given object

func (*ResourceInfo) DeepCopy

func (in *ResourceInfo) DeepCopy() *ResourceInfo

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

func (*ResourceInfo) DeepCopyInto

func (in *ResourceInfo) DeepCopyInto(out *ResourceInfo)

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

type ResourceRequirements

type ResourceRequirements corev1.ResourceRequirements

func (*ResourceRequirements) DeepCopy

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

func (*ResourceRequirements) DeepCopyInto

func (in *ResourceRequirements) DeepCopyInto(out *ResourceRequirements)

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

func (ResourceRequirements) GetOrDefault

type SemanticVersion

type SemanticVersion struct {
	semver.Version `json:"-"`
}

func (*SemanticVersion) DeepCopy

func (in *SemanticVersion) DeepCopy() *SemanticVersion

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

func (*SemanticVersion) DeepCopyInto

func (in *SemanticVersion) DeepCopyInto(out *SemanticVersion)

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 `json:",inline"`

	// Name of the ServiceAccount. If not set and `create` is true, a name is generated using the fullname template.
	Name `json:",inline"`

	Annotations map[string]string `json:"annotations,omitempty"`
}

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 ServiceMeshSpec

type ServiceMeshSpec struct {
	// +kubebuilder:validation:Optional
	Enabled bool `json:"enabled,omitempty"`
}

func (*ServiceMeshSpec) DeepCopy

func (in *ServiceMeshSpec) DeepCopy() *ServiceMeshSpec

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

func (*ServiceMeshSpec) DeepCopyInto

func (in *ServiceMeshSpec) DeepCopyInto(out *ServiceMeshSpec)

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

type TlsSpec

type TlsSpec struct {
	// secretName is the name of the secret that has the relevant files.
	// +kubebuilder:validation:Optional
	SecretName string `json:"secretName,omitempty"`
	// certificate (together with key) is the alternative to an existing Secret. Must be base64 encoded.
	// +kubebuilder:validation:Optional
	Certificate []byte `json:"certificate,omitempty"`
	// key (together with certificate) is the alternative to an existing Secret. Must be base64 encoded.
	// +kubebuilder:validation:Optional
	Key []byte `json:"key,omitempty"`
}

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.

type Zone

type Zone struct {
	// +kubebuilder:validation:Optional
	Name `json:",inline"`
	// +kubebuilder:validation:Optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
	// +kubebuilder:validation:Optional
	Affinity corev1.Affinity `json:"affinity,omitempty"`
	// +kubebuilder:validation:Optional
	Mode AgentMode `json:"mode,omitempty"`
}

func (*Zone) DeepCopy

func (in *Zone) DeepCopy() *Zone

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

func (*Zone) DeepCopyInto

func (in *Zone) DeepCopyInto(out *Zone)

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