extconfig

package
v2.10.0-rc.2 Latest Latest
Warning

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

Go to latest
Published: Jul 25, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

+kubebuilder:validation:Optional

Index

Constants

View Source
const (
	// ExtensionConfigKey is the key for the extension configuration.
	ExtensionConfigKey = "fluxninja"
)

Variables

This section is empty.

Functions

func Module

func Module() fx.Option

Module provides the FluxNinja extension configuration.

Types

type ClientConfig

type ClientConfig struct {
	// HTTP client settings.
	HTTPClient http.HTTPClientConfig `json:"http"`
	// gRPC client settings.
	GRPCClient grpc.GRPCClientConfig `json:"grpc"`
}

ClientConfig is the client configuration. swagger:model +kubebuilder:object:generate=true

func (*ClientConfig) DeepCopy

func (in *ClientConfig) DeepCopy() *ClientConfig

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

func (*ClientConfig) DeepCopyInto

func (in *ClientConfig) DeepCopyInto(out *ClientConfig)

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

type FluxNinjaExtensionConfig

type FluxNinjaExtensionConfig struct {
	// Address to gRPC or HTTP(s) server listening in agent service. To use HTTP protocol, the address must start with `http(s)://`.
	Endpoint string `json:"endpoint" validate:"omitempty,hostname_port|url|fqdn"`
	// API Key for this agent. If this key is not set, the extension won't be enabled.
	APIKey string `json:"api_key"`
	// Installation mode describes on which underlying platform the Agent or the Controller is being run.
	InstallationMode string `json:"installation_mode" validate:"oneof=KUBERNETES_SIDECAR KUBERNETES_DAEMONSET LINUX_BARE_METAL" default:"LINUX_BARE_METAL"`
	// Whether to connect to ARC controller.
	//
	// Overrides etcd configuration and disables local Prometheus OTel pipelines.
	// See [ARC Controller](/get-started/installation/controller/controller.md#installation) for more details.
	EnableCloudController bool `json:"enable_cloud_controller" default:"false"`

	// Interval between each heartbeat.
	HeartbeatInterval config.Duration `json:"heartbeat_interval" validate:"gte=0s" default:"5s"`
	// Client configuration.
	ClientConfig ClientConfig `json:"client"`
	// Disables local Prometheus OTel pipelines for metrics. Implied by EnableCloudController.
	DisableLocalOTelPipeline bool `json:"disable_local_otel_pipeline" default:"false"`
	// Overrides Controller ID for Aperture Controller. If not set, random id will be generated and persisted in etcd.
	//
	// Note: This option doesn't affect Aperture Agent.
	ControllerID string `json:"controller_id,omitempty"`
}

FluxNinjaExtensionConfig is the configuration for FluxNinja ARC integration. swagger:model +kubebuilder:object:generate=true

func (*FluxNinjaExtensionConfig) DeepCopy

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

func (*FluxNinjaExtensionConfig) DeepCopyInto

func (in *FluxNinjaExtensionConfig) DeepCopyInto(out *FluxNinjaExtensionConfig)

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