Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
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 {
// 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 {
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