Documentation ¶
Overview ¶
This package defines the configuration for the Opni Monitoring gateway and agent. This spec is different from the Kubernetes Custom Resources used to deploy the gateway with an operator. Those definitions can be found in apis/monitoring/v1beta1.
Index ¶
- Constants
- Variables
- func DecodeObject(kind string, document []byte) (meta.Object, error)
- type AgentConfig
- type AgentConfigSpec
- type AlertingSpec
- type AlertmanagerSpec
- type AuthProvider
- type AuthProviderSpec
- type AuthProviderType
- type BootstrapSpec
- type CacheBackend
- type CacheSpec
- type CertsSpec
- type ClusterManagementSpec
- type CompactorSpec
- type CortexSpec
- type CustomResourcesStorageSpec
- type DiscoverySpec
- func (*DiscoverySpec) Descriptor() ([]byte, []int)deprecated
- func (x *DiscoverySpec) GetFilesystem() *FilesystemRulesSpec
- func (x *DiscoverySpec) GetInterval() string
- func (x *DiscoverySpec) GetPrometheusRules() *PrometheusRulesSpec
- func (*DiscoverySpec) ProtoMessage()
- func (x *DiscoverySpec) ProtoReflect() protoreflect.Message
- func (x *DiscoverySpec) Reset()
- func (x *DiscoverySpec) String() string
- type DistributorSpec
- type EtcdStorageSpec
- type FilesystemCacheSpec
- type FilesystemRulesSpec
- func (*FilesystemRulesSpec) Descriptor() ([]byte, []int)deprecated
- func (x *FilesystemRulesSpec) GetPathExpressions() []string
- func (*FilesystemRulesSpec) ProtoMessage()
- func (x *FilesystemRulesSpec) ProtoReflect() protoreflect.Message
- func (x *FilesystemRulesSpec) Reset()
- func (x *FilesystemRulesSpec) String() string
- type GatewayConfig
- type GatewayConfigSpec
- type IngesterSpec
- type JetStreamStorageSpec
- type KeyringSpec
- type MTLSSpec
- type ManagementClientSpec
- type ManagementSpec
- type MetricsSpec
- type PatchEngine
- type PluginsSpec
- type ProfilingSpec
- type PrometheusRulesSpec
- func (*PrometheusRulesSpec) Descriptor() ([]byte, []int)deprecated
- func (x *PrometheusRulesSpec) GetKubeconfig() string
- func (x *PrometheusRulesSpec) GetSearchNamespaces() []string
- func (*PrometheusRulesSpec) ProtoMessage()
- func (x *PrometheusRulesSpec) ProtoReflect() protoreflect.Message
- func (x *PrometheusRulesSpec) Reset()
- func (x *PrometheusRulesSpec) String() string
- type PurgerSpec
- type QuerierSpec
- type QueryFrontendSpec
- type RealtimeServerConfig
- type RealtimeServerSpec
- type RulerSpec
- type RulesSpec
- type StorageSpec
- type StorageType
- type StoreGatewaySpec
- type TrustStrategyKind
Constants ¶
View Source
const (
APIVersion = "v1beta1"
)
Variables ¶
View Source
var File_github_com_rancher_opni_pkg_config_v1beta1_agent_config_proto protoreflect.FileDescriptor
Functions ¶
Types ¶
type AgentConfig ¶
type AgentConfig struct { meta.TypeMeta `json:",inline"` Spec AgentConfigSpec `json:"spec,omitempty"` }
type AgentConfigSpec ¶
type AgentConfigSpec struct { // The address which the agent will listen on for incoming connections. // This should be in the format "host:port" or ":port", and must not // include a scheme. ListenAddress string `json:"listenAddress,omitempty"` // The address of the gateway's public GRPC API. This should be of the format // "host:port" with no scheme. GatewayAddress string `json:"gatewayAddress,omitempty"` // The name of the identity provider to use. Defaults to "kubernetes". IdentityProvider string `json:"identityProvider,omitempty"` // The type of trust strategy to use for verifying the authenticity of the // gateway server. Defaults to "pkp". TrustStrategy TrustStrategyKind `json:"trustStrategy,omitempty"` // Configuration for agent keyring storage. Storage StorageSpec `json:"storage,omitempty"` Rules *RulesSpec `json:"rules,omitempty"` Bootstrap *BootstrapSpec `json:"bootstrap,omitempty"` LogLevel string `json:"logLevel,omitempty"` Plugins PluginsSpec `json:"plugins,omitempty"` Keyring KeyringSpec `json:"keyring,omitempty"` }
func (*AgentConfigSpec) ContainsBootstrapCredentials ¶ added in v0.6.0
func (s *AgentConfigSpec) ContainsBootstrapCredentials() bool
func (*AgentConfigSpec) SetDefaults ¶
func (s *AgentConfigSpec) SetDefaults()
type AlertingSpec ¶ added in v0.5.4
type AlertingSpec struct { Namespace string `json:"Namespace,omitempty"` WorkerNodeService string `json:"workerNodeService,omitempty"` WorkerPort int `json:"workerPort,omitempty"` WorkerStatefulSet string `json:"workerStatefulSet,omitempty"` ControllerNodeService string `json:"controllerNodeService,omitempty"` ControllerNodePort int `json:"controllerNodePort,omitempty"` ControllerClusterPort int `json:"controllerClusterPort,omitempty"` ControllerStatefulSet string `json:"controllerStatefulSet,omitempty"` ConfigMap string `json:"configMap,omitempty"` ManagementHookHandler string `json:"managementHookHandler,omitempty"` }
type AlertmanagerSpec ¶
type AlertmanagerSpec struct { //+kubebuilder:default="cortex-alertmanager:8080" HTTPAddress string `json:"httpAddress,omitempty"` }
type AuthProvider ¶
type AuthProvider struct { meta.TypeMeta `json:",inline"` meta.ObjectMeta `json:"metadata,omitempty"` Spec AuthProviderSpec `json:"spec,omitempty"` }
type AuthProviderSpec ¶
type AuthProviderSpec struct { Type AuthProviderType `json:"type,omitempty"` Options map[string]any `json:"options,omitempty"` }
type AuthProviderType ¶
type AuthProviderType string
const ( AuthProviderOpenID AuthProviderType = "openid" AuthProviderNoAuth AuthProviderType = "noauth" )
type BootstrapSpec ¶
type BootstrapSpec struct { // Address of the internal management GRPC API. Used for auto-bootstrapping // when direct management api access is available, such as when running in // the main cluster. InClusterManagementAddress *string `json:"inClusterManagementAddress,omitempty"` // An optional display name to assign to the cluster when creating it. // This value corresponds to the label `opni.io/name`, and can be modified // at any time after the cluster is created. FriendlyName *string `json:"friendlyName,omitempty"` // Bootstrap token Token string `json:"token,omitempty"` // List of public key pins. Used when the trust strategy is "pkp". Pins []string `json:"pins,omitempty"` // List of paths to CA Certs. Used when the trust strategy is "cacerts". // If empty, the system certs will be used. CACerts []string `json:"caCerts,omitempty"` }
type CacheBackend ¶ added in v0.8.0
type CacheBackend string
const (
CacheBackendFilesystem CacheBackend = "filesystem"
)
type CacheSpec ¶ added in v0.8.0
type CacheSpec struct { PatchEngine PatchEngine `json:"patchEngine,omitempty"` Backend CacheBackend `json:"backend,omitempty"` Filesystem FilesystemCacheSpec `json:"filesystem,omitempty"` }
type CertsSpec ¶
type CertsSpec struct { // Path to a PEM encoded CA certificate file. Mutually exclusive with CACertData CACert *string `json:"caCert,omitempty"` // String containing PEM encoded CA certificate data. Mutually exclusive with CACert CACertData []byte `json:"caCertData,omitempty"` // Path to a PEM encoded server certificate file. Mutually exclusive with ServingCertData ServingCert *string `json:"servingCert,omitempty"` // String containing PEM encoded server certificate data. Mutually exclusive with ServingCert ServingCertData []byte `json:"servingCertData,omitempty"` // Path to a PEM encoded server key file. Mutually exclusive with ServingKeyData ServingKey *string `json:"servingKey,omitempty"` // String containing PEM encoded server key data. Mutually exclusive with ServingKey ServingKeyData []byte `json:"servingKeyData,omitempty"` }
type ClusterManagementSpec ¶ added in v0.6.0
type ClusterManagementSpec struct {
ClusterDriver string `json:"clusterDriver,omitempty"`
}
type CompactorSpec ¶ added in v0.6.0
type CompactorSpec struct { //+kubebuilder:default="cortex-compactor:8080" HTTPAddress string `json:"httpAddress,omitempty"` }
type CortexSpec ¶
type CortexSpec struct { Management ClusterManagementSpec `json:"management,omitempty"` Distributor DistributorSpec `json:"distributor,omitempty"` Ingester IngesterSpec `json:"ingester,omitempty"` Alertmanager AlertmanagerSpec `json:"alertmanager,omitempty"` Compactor CompactorSpec `json:"compactor,omitempty"` StoreGateway StoreGatewaySpec `json:"storeGateway,omitempty"` Ruler RulerSpec `json:"ruler,omitempty"` QueryFrontend QueryFrontendSpec `json:"queryFrontend,omitempty"` Querier QuerierSpec `json:"querier,omitempty"` Purger PurgerSpec `json:"purger,omitempty"` Certs MTLSSpec `json:"certs,omitempty"` }
type CustomResourcesStorageSpec ¶
type CustomResourcesStorageSpec struct { // Kubernetes namespace where custom resource objects will be stored. Namespace string `json:"namespace,omitempty"` }
type DiscoverySpec ¶
type DiscoverySpec struct { PrometheusRules *PrometheusRulesSpec `protobuf:"bytes,1,opt,name=prometheusRules,proto3" json:"prometheusRules,omitempty"` Filesystem *FilesystemRulesSpec `protobuf:"bytes,2,opt,name=filesystem,proto3" json:"filesystem,omitempty"` Interval string `protobuf:"bytes,3,opt,name=interval,proto3" json:"interval,omitempty"` // contains filtered or unexported fields }
func (*DiscoverySpec) Descriptor
deprecated
added in
v0.6.0
func (*DiscoverySpec) Descriptor() ([]byte, []int)
Deprecated: Use DiscoverySpec.ProtoReflect.Descriptor instead.
func (*DiscoverySpec) GetFilesystem ¶ added in v0.6.0
func (x *DiscoverySpec) GetFilesystem() *FilesystemRulesSpec
func (*DiscoverySpec) GetInterval ¶ added in v0.6.0
func (x *DiscoverySpec) GetInterval() string
func (*DiscoverySpec) GetPrometheusRules ¶ added in v0.6.0
func (x *DiscoverySpec) GetPrometheusRules() *PrometheusRulesSpec
func (*DiscoverySpec) ProtoMessage ¶ added in v0.6.0
func (*DiscoverySpec) ProtoMessage()
func (*DiscoverySpec) ProtoReflect ¶ added in v0.6.0
func (x *DiscoverySpec) ProtoReflect() protoreflect.Message
func (*DiscoverySpec) Reset ¶ added in v0.6.0
func (x *DiscoverySpec) Reset()
func (*DiscoverySpec) String ¶ added in v0.6.0
func (x *DiscoverySpec) String() string
type DistributorSpec ¶
type EtcdStorageSpec ¶
type FilesystemCacheSpec ¶ added in v0.8.0
type FilesystemCacheSpec struct {
Dir string `json:"dir,omitempty"`
}
type FilesystemRulesSpec ¶ added in v0.5.4
type FilesystemRulesSpec struct { PathExpressions []string `protobuf:"bytes,1,rep,name=pathExpressions,proto3" json:"pathExpressions,omitempty"` // contains filtered or unexported fields }
func (*FilesystemRulesSpec) Descriptor
deprecated
added in
v0.6.0
func (*FilesystemRulesSpec) Descriptor() ([]byte, []int)
Deprecated: Use FilesystemRulesSpec.ProtoReflect.Descriptor instead.
func (*FilesystemRulesSpec) GetPathExpressions ¶ added in v0.6.0
func (x *FilesystemRulesSpec) GetPathExpressions() []string
func (*FilesystemRulesSpec) ProtoMessage ¶ added in v0.6.0
func (*FilesystemRulesSpec) ProtoMessage()
func (*FilesystemRulesSpec) ProtoReflect ¶ added in v0.6.0
func (x *FilesystemRulesSpec) ProtoReflect() protoreflect.Message
func (*FilesystemRulesSpec) Reset ¶ added in v0.6.0
func (x *FilesystemRulesSpec) Reset()
func (*FilesystemRulesSpec) String ¶ added in v0.6.0
func (x *FilesystemRulesSpec) String() string
type GatewayConfig ¶
type GatewayConfig struct { meta.TypeMeta `json:",inline"` Spec GatewayConfigSpec `json:"spec,omitempty"` }
type GatewayConfigSpec ¶
type GatewayConfigSpec struct { //+kubebuilder:default=":8080" HTTPListenAddress string `json:"httpListenAddress,omitempty"` //+kubebuilder:default=":9090" GRPCListenAddress string `json:"grpcListenAddress,omitempty"` //+kubebuilder:default=":8086" MetricsListenAddress string `json:"metricsListenAddress,omitempty"` //+kubebuilder:default="localhost" Hostname string `json:"hostname,omitempty"` Metrics MetricsSpec `json:"metrics,omitempty"` Management ManagementSpec `json:"management,omitempty"` TrustedProxies []string `json:"trustedProxies,omitempty"` Cortex CortexSpec `json:"cortex,omitempty"` AuthProvider string `json:"authProvider,omitempty"` Storage StorageSpec `json:"storage,omitempty"` Certs CertsSpec `json:"certs,omitempty"` Plugins PluginsSpec `json:"plugins,omitempty"` Alerting AlertingSpec `json:"alerting,omitempty"` Profiling ProfilingSpec `json:"profiling,omitempty"` Keyring KeyringSpec `json:"keyring,omitempty"` }
func (*GatewayConfigSpec) SetDefaults ¶
func (s *GatewayConfigSpec) SetDefaults()
type IngesterSpec ¶
type JetStreamStorageSpec ¶ added in v0.6.2
type KeyringSpec ¶ added in v0.8.2
type KeyringSpec struct { // Directories to search for files containing ephemeral keys. // All files in these directories will be loaded into the keyring on // startup. Keys loaded in this way will not be persisted across restarts. EphemeralKeyDirs []string `json:"ephemeralKeyDirs,omitempty"` }
type MTLSSpec ¶
type MTLSSpec struct { // Path to the server CA certificate. ServerCA string `json:"serverCA,omitempty"` // Path to the client CA certificate (not needed in all cases). ClientCA string `json:"clientCA,omitempty"` // Path to the certificate used for client-cert auth. ClientCert string `json:"clientCert,omitempty"` // Path to the private key used for client-cert auth. ClientKey string `json:"clientKey,omitempty"` }
type ManagementClientSpec ¶ added in v0.5.4
type ManagementClientSpec struct {
Address string `json:"address,omitempty"`
}
type ManagementSpec ¶
type ManagementSpec struct { //+kubebuilder:default="tcp://0.0.0.0:11090" GRPCListenAddress string `json:"grpcListenAddress,omitempty"` //+kubebuilder:default="0.0.0.0:11080" HTTPListenAddress string `json:"httpListenAddress,omitempty"` //+kubebuilder:default="0.0.0.0:12080" WebListenAddress string `json:"webListenAddress,omitempty"` }
func (ManagementSpec) GetGRPCListenAddress ¶
func (m ManagementSpec) GetGRPCListenAddress() string
func (ManagementSpec) GetHTTPListenAddress ¶
func (m ManagementSpec) GetHTTPListenAddress() string
func (ManagementSpec) GetWebListenAddress ¶
func (m ManagementSpec) GetWebListenAddress() string
type MetricsSpec ¶ added in v0.5.4
type MetricsSpec struct { //+kubebuilder:default="/metrics" Path string `json:"path,omitempty"` }
func (MetricsSpec) GetPath ¶ added in v0.5.4
func (s MetricsSpec) GetPath() string
type PatchEngine ¶ added in v0.8.0
type PatchEngine string
const (
PatchEngineBsdiff PatchEngine = "bsdiff"
)
type PluginsSpec ¶
type ProfilingSpec ¶ added in v0.6.0
type ProfilingSpec struct { //+kubebuilder:default=/debug/pprof Path string `json:"path,omitempty"` }
func (ProfilingSpec) GetPath ¶ added in v0.6.0
func (s ProfilingSpec) GetPath() string
type PrometheusRulesSpec ¶
type PrometheusRulesSpec struct { // Namespaces to search for rules in. If empty, will search all accessible // namespaces. SearchNamespaces []string `protobuf:"bytes,1,rep,name=searchNamespaces,proto3" json:"searchNamespaces,omitempty"` // Kubeconfig to use for rule discovery. If nil, will use the in-cluster // kubeconfig. Kubeconfig *string `protobuf:"bytes,2,opt,name=kubeconfig,proto3,oneof" json:"kubeconfig,omitempty"` // contains filtered or unexported fields }
func (*PrometheusRulesSpec) Descriptor
deprecated
added in
v0.6.0
func (*PrometheusRulesSpec) Descriptor() ([]byte, []int)
Deprecated: Use PrometheusRulesSpec.ProtoReflect.Descriptor instead.
func (*PrometheusRulesSpec) GetKubeconfig ¶ added in v0.6.0
func (x *PrometheusRulesSpec) GetKubeconfig() string
func (*PrometheusRulesSpec) GetSearchNamespaces ¶ added in v0.6.0
func (x *PrometheusRulesSpec) GetSearchNamespaces() []string
func (*PrometheusRulesSpec) ProtoMessage ¶ added in v0.6.0
func (*PrometheusRulesSpec) ProtoMessage()
func (*PrometheusRulesSpec) ProtoReflect ¶ added in v0.6.0
func (x *PrometheusRulesSpec) ProtoReflect() protoreflect.Message
func (*PrometheusRulesSpec) Reset ¶ added in v0.6.0
func (x *PrometheusRulesSpec) Reset()
func (*PrometheusRulesSpec) String ¶ added in v0.6.0
func (x *PrometheusRulesSpec) String() string
type PurgerSpec ¶ added in v0.6.0
type PurgerSpec struct { // +kubebuilder:default="cortex-purger:8080" HTTPAddress string `json:"httpAddress,omitempty"` }
type QuerierSpec ¶ added in v0.6.0
type QuerierSpec struct { // +kubebuilder:default="cortex-querier:8080" HTTPAddress string `json:"httpAddress,omitempty"` }
type QueryFrontendSpec ¶
type RealtimeServerConfig ¶ added in v0.5.4
type RealtimeServerConfig struct { meta.TypeMeta `json:",inline"` Spec RealtimeServerSpec `json:"spec,omitempty"` }
type RealtimeServerSpec ¶ added in v0.5.4
type RealtimeServerSpec struct { //+kubebuilder:default=":8086" MetricsListenAddress string `json:"metricsListenAddress,omitempty"` Metrics MetricsSpec `json:"metrics,omitempty"` ManagementClient ManagementClientSpec `json:"managementClient,omitempty"` }
type RulesSpec ¶
type RulesSpec struct { Discovery *DiscoverySpec `protobuf:"bytes,1,opt,name=discovery,proto3" json:"discovery,omitempty"` // contains filtered or unexported fields }
func (*RulesSpec) Descriptor
deprecated
added in
v0.6.0
func (*RulesSpec) GetDiscovery ¶ added in v0.6.0
func (x *RulesSpec) GetDiscovery() *DiscoverySpec
func (*RulesSpec) ProtoMessage ¶ added in v0.6.0
func (*RulesSpec) ProtoMessage()
func (*RulesSpec) ProtoReflect ¶ added in v0.6.0
func (x *RulesSpec) ProtoReflect() protoreflect.Message
type StorageSpec ¶
type StorageSpec struct { Type StorageType `json:"type,omitempty"` Etcd *EtcdStorageSpec `json:"etcd,omitempty"` JetStream *JetStreamStorageSpec `json:"jetstream,omitempty"` CustomResources *CustomResourcesStorageSpec `json:"customResources,omitempty"` }
type StorageType ¶
type StorageType string
const ( // Use etcd for key-value storage. This is the recommended default. StorageTypeEtcd StorageType = "etcd" // Use NATS JetStream for key-value storage. StorageTypeJetStream StorageType = "jetstream" // Use Kubernetes custom resources to store objects. This is experimental, // and it is recommended to use the etcd storage type instead for performance // reasons. StorageTypeCRDs StorageType = "customResources" )
type StoreGatewaySpec ¶ added in v0.6.0
type TrustStrategyKind ¶ added in v0.4.2
type TrustStrategyKind string
const ( TrustStrategyPKP TrustStrategyKind = "pkp" TrustStrategyCACerts TrustStrategyKind = "cacerts" TrustStrategyInsecure TrustStrategyKind = "insecure" )
Click to show internal directories.
Click to hide internal directories.