v4

package
v0.0.0-...-d13e39c Latest Latest
Warning

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

Go to latest
Published: Oct 10, 2025 License: UPL-1.0 Imports: 14 Imported by: 0

Documentation

Overview

Package v4 contains API Schema definitions for the observability v4 API group +kubebuilder:object:generate=true +groupName=observability.oracle.com

Index

Constants

View Source
const (
	AllowedExporterImage                       = "container-registry.oracle.com/database/observability-exporter"
	ErrorSpecValidationMissingConnString       = "a required field for database connection string secret is missing or does not have a value"
	ErrorSpecValidationMissingDBUser           = "a required field for database user secret is missing or does not have a value"
	ErrorSpecValidationMissingVaultField       = "a field for configuring the vault has a value but the other required field(s) is missing or does not have a value"
	ErrorSpecValidationMissingOCIConfig        = "a field(s) for the OCI Config is missing or does not have a value when fields for the OCI vault has values"
	ErrorSpecValidationMissingDBPasswordSecret = "a required field for the database password secret is missing or does not have a value"
	ErrorSpecExporterImageNotAllowed           = "a different exporter image was found, only official database exporter container images are currently supported"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "observability.oracle.com", Version: "v4"}

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

type AdditionalWalletSecrets struct {
	Name       string `json:"name,omitempty"`
	SecretName string `json:"secret,omitempty"`
	MountPath  string `json:"mountPath,omitempty"`
}

AdditionalWalletSecrets defines multiple other secrets and where the wallet will be mounted if provided

func (*AdditionalWalletSecrets) DeepCopy

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

func (*AdditionalWalletSecrets) DeepCopyInto

func (in *AdditionalWalletSecrets) DeepCopyInto(out *AdditionalWalletSecrets)

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

type AzureConfig

type AzureConfig struct {
	ConfigMap ConfigMapDetails `json:"configMap,omitempty"`
}

AzureConfig defines the configmap name and secret name used for connecting to Azure

func (*AzureConfig) DeepCopy

func (in *AzureConfig) DeepCopy() *AzureConfig

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

func (*AzureConfig) DeepCopyInto

func (in *AzureConfig) DeepCopyInto(out *AzureConfig)

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

type ConfigMapDetails

type ConfigMapDetails struct {
	Key  string `json:"key,omitempty"`
	Name string `json:"name,omitempty"`
}

ConfigMapDetails defines the configmap name used by the exporterConfig and metricsConfig

func (*ConfigMapDetails) DeepCopy

func (in *ConfigMapDetails) DeepCopy() *ConfigMapDetails

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

func (*ConfigMapDetails) DeepCopyInto

func (in *ConfigMapDetails) DeepCopyInto(out *ConfigMapDetails)

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

type ConfigPrivateKey

type ConfigPrivateKey struct {
	SecretName string `json:"secret,omitempty"`
}

func (*ConfigPrivateKey) DeepCopy

func (in *ConfigPrivateKey) DeepCopy() *ConfigPrivateKey

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

func (*ConfigPrivateKey) DeepCopyInto

func (in *ConfigPrivateKey) DeepCopyInto(out *ConfigPrivateKey)

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

type DBAzureVault

type DBAzureVault struct {
	VaultID             string `json:"vaultID,omitempty"`
	VaultUsernameSecret string `json:"vaultUsernameSecret,omitempty"`
	VaultPasswordSecret string `json:"vaultPasswordSecret,omitempty"`
}

DBAzureVault defines Azure Vault details

func (*DBAzureVault) DeepCopy

func (in *DBAzureVault) DeepCopy() *DBAzureVault

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

func (*DBAzureVault) DeepCopyInto

func (in *DBAzureVault) DeepCopyInto(out *DBAzureVault)

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

type DBOCIVault

type DBOCIVault struct {
	VaultID             string `json:"vaultID,omitempty"`
	VaultPasswordSecret string `json:"vaultPasswordSecret,omitempty"`
}

DBOCIVault defines OCI Vault details

func (*DBOCIVault) DeepCopy

func (in *DBOCIVault) DeepCopy() *DBOCIVault

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

func (*DBOCIVault) DeepCopyInto

func (in *DBOCIVault) DeepCopyInto(out *DBOCIVault)

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

type DBSecret

type DBSecret struct {
	Key        string `json:"key,omitempty"`
	SecretName string `json:"secret,omitempty"`
	EnvName    string `json:"envName,omitempty"`
}

DBSecret defines secrets used in reference

func (*DBSecret) DeepCopy

func (in *DBSecret) DeepCopy() *DBSecret

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

func (*DBSecret) DeepCopyInto

func (in *DBSecret) DeepCopyInto(out *DBSecret)

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

type DatabaseConfig

type DatabaseConfig struct {
	DBUser             DBSecret     `json:"dbUser,omitempty"`
	DBPassword         DBSecret     `json:"dbPassword,omitempty"`
	DBConnectionString DBSecret     `json:"dbConnectionString,omitempty"`
	OCIVault           DBOCIVault   `json:"oci,omitempty"`
	AzureVault         DBAzureVault `json:"azure,omitempty"`
}

DatabaseConfig defines the database details used for DatabaseObserver

func (*DatabaseConfig) DeepCopy

func (in *DatabaseConfig) DeepCopy() *DatabaseConfig

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

func (*DatabaseConfig) DeepCopyInto

func (in *DatabaseConfig) DeepCopyInto(out *DatabaseConfig)

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

type DatabaseObserver

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

	Spec   DatabaseObserverSpec   `json:"spec,omitempty"`
	Status DatabaseObserverStatus `json:"status,omitempty"`
}

DatabaseObserver is the Schema for the databaseobservers API +kubebuilder:printcolumn:JSONPath=".status.metricsConfig",name="MetricsConfig",type=string +kubebuilder:printcolumn:JSONPath=".status.status",name="Status",type=string +kubebuilder:printcolumn:JSONPath=".status.version",name="Version",type=string +kubebuilder:storageversion

func (*DatabaseObserver) DeepCopy

func (in *DatabaseObserver) DeepCopy() *DatabaseObserver

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

func (*DatabaseObserver) DeepCopyInto

func (in *DatabaseObserver) DeepCopyInto(out *DatabaseObserver)

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

func (*DatabaseObserver) DeepCopyObject

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

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

func (*DatabaseObserver) Default

func (r *DatabaseObserver) Default(ctx context.Context, obj runtime.Object) error

Default implements webhook.CustomDefaulter so a webhook will be registered for the type

func (*DatabaseObserver) SetupWebhookWithManager

func (r *DatabaseObserver) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*DatabaseObserver) ValidateCreate

func (r *DatabaseObserver) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)

ValidateCreate implements webhook.CustomValidator so a webhook will be registered for the type

func (*DatabaseObserver) ValidateDelete

func (r *DatabaseObserver) ValidateDelete(ctx context.Context, obj runtime.Object) (admission.Warnings, error)

ValidateDelete implements webhook.CustomValidator so a webhook will be registered for the type

func (*DatabaseObserver) ValidateUpdate

func (r *DatabaseObserver) ValidateUpdate(ctx context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.CustomValidator so a webhook will be registered for the type

type DatabaseObserverList

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

DatabaseObserverList contains a list of DatabaseObserver

func (*DatabaseObserverList) DeepCopy

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

func (*DatabaseObserverList) DeepCopyInto

func (in *DatabaseObserverList) DeepCopyInto(out *DatabaseObserverList)

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

func (*DatabaseObserverList) DeepCopyObject

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

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

type DatabaseObserverSpec

type DatabaseObserverSpec struct {
	Database       DatabaseConfig                 `json:"database,omitempty"`
	Databases      map[string]MultiDatabaseConfig `json:"databases,omitempty"`
	Wallet         WalletSecret                   `json:"wallet,omitempty"`
	Deployment     ExporterDeployment             `json:"deployment,omitempty"`
	Service        ExporterService                `json:"service,omitempty"`
	ServiceMonitor ExporterServiceMonitor         `json:"serviceMonitor,omitempty"`
	ExporterConfig ExporterConfig                 `json:"exporterConfig,omitempty"`
	OCIConfig      OCIConfig                      `json:"ociConfig,omitempty"`
	AzureConfig    AzureConfig                    `json:"azureConfig,omitempty"`
	Metrics        MetricsConfig                  `json:"metrics,omitempty"`
	Log            LogConfig                      `json:"log,omitempty"`
	InheritLabels  []string                       `json:"inheritLabels,omitempty"`
	Sidecar        SidecarConfig                  `json:"sidecar,omitempty"`
	Replicas       int32                          `json:"replicas,omitempty"`
}

DatabaseObserverSpec defines the desired state of DatabaseObserver

func (*DatabaseObserverSpec) DeepCopy

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

func (*DatabaseObserverSpec) DeepCopyInto

func (in *DatabaseObserverSpec) DeepCopyInto(out *DatabaseObserverSpec)

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

type DatabaseObserverStatus

type DatabaseObserverStatus struct {
	Conditions    []metav1.Condition `json:"conditions"`
	Status        string             `json:"status,omitempty"`
	MetricsConfig string             `json:"metricsConfig"`
	Version       string             `json:"version"`
	Replicas      int                `json:"replicas,omitempty"`
}

DatabaseObserverStatus defines the observed state of DatabaseObserver

func (*DatabaseObserverStatus) DeepCopy

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

func (*DatabaseObserverStatus) DeepCopyInto

func (in *DatabaseObserverStatus) DeepCopyInto(out *DatabaseObserverStatus)

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

type DeploymentPodTemplate

type DeploymentPodTemplate struct {
	Labels map[string]string `json:"labels,omitempty"`
}

DeploymentPodTemplate defines the labels for the DatabaseObserver pods component of a deployment

func (*DeploymentPodTemplate) DeepCopy

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

func (*DeploymentPodTemplate) DeepCopyInto

func (in *DeploymentPodTemplate) DeepCopyInto(out *DeploymentPodTemplate)

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

type ExporterConfig

type ExporterConfig struct {
	ConfigMap ConfigMapDetails `json:"configMap,omitempty"`
	MountPath string           `json:"mountPath,omitempty"`
}

ExporterConfig defines configMap used for exporter configuration

func (*ExporterConfig) DeepCopy

func (in *ExporterConfig) DeepCopy() *ExporterConfig

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

func (*ExporterConfig) DeepCopyInto

func (in *ExporterConfig) DeepCopyInto(out *ExporterConfig)

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

type ExporterDeployment

type ExporterDeployment struct {
	ExporterImage         string                     `json:"image,omitempty"`
	SecurityContext       *corev1.SecurityContext    `json:"securityContext,omitempty"`
	PodSecurityContext    *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
	ExporterArgs          []string                   `json:"args,omitempty"`
	ExporterCommands      []string                   `json:"commands,omitempty"`
	ExporterEnvs          map[string]string          `json:"env,omitempty"`
	Labels                map[string]string          `json:"labels,omitempty"`
	DeploymentPodTemplate DeploymentPodTemplate      `json:"podTemplate,omitempty"`
}

ExporterDeployment defines the exporter deployment component of DatabaseObserver

func (*ExporterDeployment) DeepCopy

func (in *ExporterDeployment) DeepCopy() *ExporterDeployment

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

func (*ExporterDeployment) DeepCopyInto

func (in *ExporterDeployment) DeepCopyInto(out *ExporterDeployment)

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

type ExporterService

type ExporterService struct {
	Ports  []corev1.ServicePort `json:"ports,omitempty"`
	Labels map[string]string    `json:"labels,omitempty"`
}

ExporterService defines the exporter service component of DatabaseObserver

func (*ExporterService) DeepCopy

func (in *ExporterService) DeepCopy() *ExporterService

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

func (*ExporterService) DeepCopyInto

func (in *ExporterService) DeepCopyInto(out *ExporterService)

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

type ExporterServiceMonitor

type ExporterServiceMonitor struct {
	Labels            map[string]string            `json:"labels,omitempty"`
	NamespaceSelector *monitorv1.NamespaceSelector `json:"namespaceSelector,omitempty"`
	Endpoints         []monitorv1.Endpoint         `json:"endpoints,omitempty"`
}

ExporterServiceMonitor defines DatabaseObserver servicemonitor spec

func (*ExporterServiceMonitor) DeepCopy

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

func (*ExporterServiceMonitor) DeepCopyInto

func (in *ExporterServiceMonitor) DeepCopyInto(out *ExporterServiceMonitor)

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

type LogConfig

type LogConfig struct {
	Disable     bool      `json:"disable,omitempty"`
	Destination string    `json:"destination,omitempty"`
	Filename    string    `json:"filename,omitempty"`
	Volume      LogVolume `json:"volume,omitempty"`
}

LogConfig defines the configuration details relation to the logs of DatabaseObserver

func (*LogConfig) DeepCopy

func (in *LogConfig) DeepCopy() *LogConfig

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

func (*LogConfig) DeepCopyInto

func (in *LogConfig) DeepCopyInto(out *LogConfig)

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

type LogVolume

type LogVolume struct {
	Name                  string       `json:"name,omitempty"`
	PersistentVolumeClaim LogVolumePVC `json:"persistentVolumeClaim,omitempty"`
}

LogVolume defines the shared volume between the exporter container and other containers

func (*LogVolume) DeepCopy

func (in *LogVolume) DeepCopy() *LogVolume

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

func (*LogVolume) DeepCopyInto

func (in *LogVolume) DeepCopyInto(out *LogVolume)

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

type LogVolumePVC

type LogVolumePVC struct {
	ClaimName string `json:"claimName,omitempty"`
}

LogVolumePVC defines the PVC in which to store the logs

func (*LogVolumePVC) DeepCopy

func (in *LogVolumePVC) DeepCopy() *LogVolumePVC

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

func (*LogVolumePVC) DeepCopyInto

func (in *LogVolumePVC) DeepCopyInto(out *LogVolumePVC)

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

type MetricsConfig

type MetricsConfig struct {
	Configmap []ConfigMapDetails `json:"configMap,omitempty"`
}

MetricsConfig defines configMap used for multiple metrics TOML configuration

func (*MetricsConfig) DeepCopy

func (in *MetricsConfig) DeepCopy() *MetricsConfig

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

func (*MetricsConfig) DeepCopyInto

func (in *MetricsConfig) DeepCopyInto(out *MetricsConfig)

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

type MultiDatabaseConfig

type MultiDatabaseConfig struct {
	DBUser             DBSecret `json:"dbUser,omitempty"`
	DBPassword         DBSecret `json:"dbPassword,omitempty"`
	DBConnectionString DBSecret `json:"dbConnectionString,omitempty"`
}

MultiDatabaseConfig defines each database details used for DatabaseObserver

func (*MultiDatabaseConfig) DeepCopy

func (in *MultiDatabaseConfig) DeepCopy() *MultiDatabaseConfig

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

func (*MultiDatabaseConfig) DeepCopyInto

func (in *MultiDatabaseConfig) DeepCopyInto(out *MultiDatabaseConfig)

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

type OCIConfig

type OCIConfig struct {
	ConfigMap  ConfigMapDetails `json:"configMap,omitempty"`
	PrivateKey ConfigPrivateKey `json:"privateKey,omitempty"`
	MountPath  string           `json:"mountPath,omitempty"`
}

OCIConfig defines the configmap name and secret name used for connecting to OCI

func (*OCIConfig) DeepCopy

func (in *OCIConfig) DeepCopy() *OCIConfig

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

func (*OCIConfig) DeepCopyInto

func (in *OCIConfig) DeepCopyInto(out *OCIConfig)

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

type SidecarConfig

type SidecarConfig struct {
	Containers []corev1.Container `json:"containers,omitempty"`
	Volumes    []corev1.Volume    `json:"volumes,omitempty"`
}

SidecarConfig defines sidecar containers and volumes to add

func (*SidecarConfig) DeepCopy

func (in *SidecarConfig) DeepCopy() *SidecarConfig

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

func (*SidecarConfig) DeepCopyInto

func (in *SidecarConfig) DeepCopyInto(out *SidecarConfig)

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

type StatusEnum

type StatusEnum string

type WalletSecret

type WalletSecret struct {
	SecretName        string                    `json:"secret,omitempty"`
	MountPath         string                    `json:"mountPath,omitempty"`
	AdditionalWallets []AdditionalWalletSecrets `json:"additional,omitempty"`
}

WalletSecret defines secret and where the wallet will be mounted if provided

func (*WalletSecret) DeepCopy

func (in *WalletSecret) DeepCopy() *WalletSecret

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

func (*WalletSecret) DeepCopyInto

func (in *WalletSecret) DeepCopyInto(out *WalletSecret)

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