metadata

package
v1.21.0-rc.1 Latest Latest
Warning

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

Go to latest
Published: Nov 18, 2025 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrEmptyAPIKey empty APIKey error
	ErrEmptyAPIKey = errors.New("empty api key")
	// ErrEmptyHostName empty HostName error
	ErrEmptyHostName = errors.New("empty host name")
)

Functions

This section is empty.

Types

type HelmMetadata

type HelmMetadata struct {
	OperatorVersion           string `json:"operator_version"`
	KubernetesVersion         string `json:"kubernetes_version"`
	ClusterID                 string `json:"cluster_id"`
	ClusterName               string `json:"cluster_name"`
	ChartName                 string `json:"chart_name"`
	ChartReleaseName          string `json:"chart_release_name"`
	ChartAppVersion           string `json:"chart_app_version"`
	ChartVersion              string `json:"chart_version"`
	ChartNamespace            string `json:"chart_namespace"`
	ChartConfigMapUID         string `json:"chart_configmap_uid"`
	HelmProvidedConfiguration string `json:"helm_provided_configuration"` // User-provided values only
	HelmFullConfiguration     string `json:"helm_full_configuration"`     // Includes defaults
}

type HelmMetadataForwarder

type HelmMetadataForwarder struct {
	*SharedMetadata
	// contains filtered or unexported fields
}

func NewHelmMetadataForwarder

func NewHelmMetadataForwarder(logger logr.Logger, k8sClient client.Reader, kubernetesVersion string, operatorVersion string, credsManager *config.CredentialManager) *HelmMetadataForwarder

NewHelmMetadataForwarder creates a new instance of the helm metadata forwarder

func (*HelmMetadataForwarder) Start

func (hmf *HelmMetadataForwarder) Start()

Start starts the helm metadata forwarder

type HelmMetadataPayload

type HelmMetadataPayload struct {
	Hostname    string       `json:"hostname"`
	Timestamp   int64        `json:"timestamp"`
	ClusterID   string       `json:"cluster_id"`
	ClusterName string       `json:"clustername"`
	Metadata    HelmMetadata `json:"datadog_operator_helm_metadata"`
}

type HelmReleaseData

type HelmReleaseData struct {
	ReleaseName        string
	Namespace          string
	ChartName          string
	ChartVersion       string
	AppVersion         string
	ConfigMapUID       string
	ProvidedValuesYAML string // User-provided values only
	FullValuesYAML     string // Includes defaults
	Revision           int
	Status             string
}

HelmReleaseData contains all data for a single Helm release

type HelmReleaseMinimal

type HelmReleaseMinimal struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
	Info      struct {
		Status string `json:"status"`
	} `json:"info"`
	Config map[string]interface{} `json:"config"` // User-provided values only
	Chart  struct {
		Metadata struct {
			Name       string `json:"name"`
			Version    string `json:"version"`
			AppVersion string `json:"appVersion"`
		} `json:"metadata"`
		Values map[string]interface{} `json:"values"` // Defaults
	} `json:"chart"`
	Version int `json:"version"` // Revision number
}

HelmReleaseMinimal represents the minimal structure we care about from Helm release

type OperatorMetadata

type OperatorMetadata struct {
	OperatorVersion               string         `json:"operator_version"`
	KubernetesVersion             string         `json:"kubernetes_version"`
	InstallMethodTool             string         `json:"install_method_tool"`
	InstallMethodToolVersion      string         `json:"install_method_tool_version"`
	IsLeader                      bool           `json:"is_leader"`
	DatadogAgentEnabled           bool           `json:"datadogagent_enabled"`
	DatadogMonitorEnabled         bool           `json:"datadogmonitor_enabled"`
	DatadogDashboardEnabled       bool           `json:"datadogdashboard_enabled"`
	DatadogSLOEnabled             bool           `json:"datadogslo_enabled"`
	DatadogGenericResourceEnabled bool           `json:"datadoggenericresource_enabled"`
	DatadogAgentProfileEnabled    bool           `json:"datadogagentprofile_enabled"`
	DatadogAgentInternalEnabled   bool           `json:"datadogagentinternal_enabled"`
	LeaderElectionEnabled         bool           `json:"leader_election_enabled"`
	ExtendedDaemonSetEnabled      bool           `json:"extendeddaemonset_enabled"`
	RemoteConfigEnabled           bool           `json:"remote_config_enabled"`
	IntrospectionEnabled          bool           `json:"introspection_enabled"`
	ClusterID                     string         `json:"cluster_id"`
	ClusterName                   string         `json:"cluster_name"`
	ConfigDDURL                   string         `json:"config_dd_url"`
	ConfigDDSite                  string         `json:"config_site"`
	ResourceCounts                map[string]int `json:"resource_count"`
}

type OperatorMetadataForwarder

type OperatorMetadataForwarder struct {
	*SharedMetadata

	OperatorMetadata OperatorMetadata
	// contains filtered or unexported fields
}

func NewOperatorMetadataForwarder

func NewOperatorMetadataForwarder(logger logr.Logger, k8sClient client.Reader, kubernetesVersion string, operatorVersion string, credsManager *config.CredentialManager) *OperatorMetadataForwarder

NewOperatorMetadataForwarder creates a new instance of the operator metadata forwarder

func (*OperatorMetadataForwarder) GetPayload

func (omf *OperatorMetadataForwarder) GetPayload(clusterUID string) []byte

func (*OperatorMetadataForwarder) Start

func (omf *OperatorMetadataForwarder) Start()

Start starts the operator metadata forwarder

type OperatorMetadataPayload

type OperatorMetadataPayload struct {
	Hostname    string           `json:"hostname"`
	Timestamp   int64            `json:"timestamp"`
	ClusterID   string           `json:"cluster_id"`
	ClusterName string           `json:"clustername"`
	Metadata    OperatorMetadata `json:"datadog_operator_metadata"`
}

type SharedMetadata

type SharedMetadata struct {
	// contains filtered or unexported fields
}

SharedMetadata contains the common metadata shared across all forwarders

func NewSharedMetadata

func NewSharedMetadata(logger logr.Logger, k8sClient client.Reader, kubernetesVersion string, operatorVersion string, credsManager *config.CredentialManager) *SharedMetadata

NewSharedMetadata creates a new instance of shared metadata

func (*SharedMetadata) GetBaseHeaders

func (sm *SharedMetadata) GetBaseHeaders() http.Header

GetBaseHeaders returns the common HTTP headers for API requests

func (*SharedMetadata) GetOrCreateClusterUID

func (sm *SharedMetadata) GetOrCreateClusterUID() (string, error)

GetOrCreateClusterUID retrieves the cluster UID from kube-system namespace

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL