operator

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 7, 2026 License: MIT Imports: 39 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ADXClusterCreatingReason denotes a cluster that is being configured.
	ADXClusterCreatingReason = "Creating"
	// ADXClusterWaitingReason denotes a cluster that is fully configured and is waiting to become available.
	ADXClusterWaitingReason = "Waiting"
)

Variables

This section is empty.

Functions

func SetClusterLabels

func SetClusterLabels(labels map[string]string)

SetClusterLabels configures cluster labels that gate reconciliation for operator-managed resources. The provided map is cloned to avoid accidental mutation by callers.

Types

type ADXClusterSchema

type ADXClusterSchema struct {
	Database     string            `json:"database"`
	Tables       []string          `json:"tables"`
	TableSchemas map[string]string `json:"tableSchemas,omitempty"`
	Views        []string          `json:"views"`
}

type AdxReconciler

type AdxReconciler struct {
	client.Client
	Scheme *runtime.Scheme
}

func (*AdxReconciler) CheckStatus

func (r *AdxReconciler) CheckStatus(ctx context.Context, cluster *adxmonv1.ADXCluster) (ctrl.Result, error)

func (*AdxReconciler) CreateCluster

func (r *AdxReconciler) CreateCluster(ctx context.Context, cluster *adxmonv1.ADXCluster) (ctrl.Result, error)

func (*AdxReconciler) FederateClusters

func (r *AdxReconciler) FederateClusters(ctx context.Context, cluster *adxmonv1.ADXCluster) (ctrl.Result, error)

func (*AdxReconciler) HeartbeatFederatedClusters

func (r *AdxReconciler) HeartbeatFederatedClusters(ctx context.Context, cluster *adxmonv1.ADXCluster) (ctrl.Result, error)

func (*AdxReconciler) Reconcile

func (r *AdxReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

func (*AdxReconciler) SetupWithManager

func (r *AdxReconciler) SetupWithManager(mgr ctrl.Manager) error

func (*AdxReconciler) UpdateCluster

func (r *AdxReconciler) UpdateCluster(ctx context.Context, cluster *adxmonv1.ADXCluster) (ctrl.Result, error)

type AlerterReconciler

type AlerterReconciler struct {
	client.Client
	Scheme *runtime.Scheme
	// contains filtered or unexported fields
}

AlerterReconciler reconciles Alerter CRDs and manages the Alerter deployment and AlertRule CRD installation.

func (*AlerterReconciler) CreateAlerter

func (r *AlerterReconciler) CreateAlerter(ctx context.Context, alerter *adxmonv1.Alerter) (ctrl.Result, error)

func (*AlerterReconciler) IsReady

func (r *AlerterReconciler) IsReady(ctx context.Context, alerter *adxmonv1.Alerter) (ctrl.Result, error)

func (*AlerterReconciler) Reconcile

func (r *AlerterReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

func (*AlerterReconciler) ReconcileComponent

func (r *AlerterReconciler) ReconcileComponent(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

func (*AlerterReconciler) SetupWithManager

func (r *AlerterReconciler) SetupWithManager(mgr ctrl.Manager) error

type CollectorReconciler

type CollectorReconciler struct {
	client.Client
	Scheme *runtime.Scheme
	// contains filtered or unexported fields
}

func (*CollectorReconciler) CreateCollector

func (r *CollectorReconciler) CreateCollector(ctx context.Context, collector *adxmonv1.Collector) (ctrl.Result, error)

func (*CollectorReconciler) IsReady

func (r *CollectorReconciler) IsReady(ctx context.Context, collector *adxmonv1.Collector) (ctrl.Result, error)

func (*CollectorReconciler) Reconcile

func (r *CollectorReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

func (*CollectorReconciler) ReconcileComponent

func (r *CollectorReconciler) ReconcileComponent(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

func (*CollectorReconciler) SetupWithManager

func (r *CollectorReconciler) SetupWithManager(mgr ctrl.Manager) error

type DatabaseExistsRec

type DatabaseExistsRec struct {
	Count int64 `kusto:"Count"`
}

type DatabaseRec

type DatabaseRec struct {
	DatabaseName string `json:"DatabaseName"`
}

type DatabaseSchemaRec

type DatabaseSchemaRec struct {
	TableName  string `kusto:"TableName"`
	ColumnName string `kusto:"ColumnName"`
	ColumnType string `kusto:"ColumnType"`
}

type FederationState

type FederationState struct {
	// DBSet contains unique databases discovered from all endpoints
	DBSet map[string]struct{}

	// DBTableEndpoints maps database -> table/view -> list of endpoints
	DBTableEndpoints map[string]map[string][]string

	// SpokeDBEndpoints maps database -> list of endpoints (for entity group generation)
	SpokeDBEndpoints map[string][]string

	// EndpointCount is the number of successfully processed endpoints
	EndpointCount int

	// ParseErrors collects non-fatal schema parsing errors
	ParseErrors []string
}

FederationState accumulates derived data during streaming processing of heartbeat rows. This avoids holding all raw schema JSON in memory at once.

func NewFederationState

func NewFederationState() *FederationState

NewFederationState creates an initialized FederationState

type FunctionKind

type FunctionKind struct {
	Kind string `kusto:"FunctionKind"`
}

type FunctionRec

type FunctionRec struct {
	Name       string `kusto:"Name"`
	Parameters string `kusto:"Parameters"`
	Body       string `kusto:"Body"`
	Folder     string `kusto:"Folder"`
	DocString  string `kusto:"DocString"`
}

type FunctionSchemaRec

type FunctionSchemaRec struct {
	Kind          string          `kusto:"FunctionKind"`
	OutputColumns json.RawMessage `kusto:"OutputColumns"`
}

type HeartbeatRow

type HeartbeatRow struct {
	Timestamp       time.Time       `kusto:"Timestamp"`
	ClusterEndpoint string          `kusto:"ClusterEndpoint"`
	Schema          json.RawMessage `kusto:"Schema"`
}

HeartbeatRow represents a row in the heartbeat table Schema: Timestamp: datetime, ClusterEndpoint: string, Schema: dynamic, PartitionMetadata: dynamic

type IngestorReconciler

type IngestorReconciler struct {
	client.Client
	Scheme *runtime.Scheme
	// contains filtered or unexported fields
}

func (*IngestorReconciler) CreateIngestor

func (r *IngestorReconciler) CreateIngestor(ctx context.Context, ingestor *adxmonv1.Ingestor) (ctrl.Result, error)

func (*IngestorReconciler) IsReady

func (r *IngestorReconciler) IsReady(ctx context.Context, ingestor *adxmonv1.Ingestor) (ctrl.Result, error)

func (*IngestorReconciler) Reconcile

func (r *IngestorReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

func (*IngestorReconciler) ReconcileComponent

func (r *IngestorReconciler) ReconcileComponent(ctx context.Context, req ctrl.Request) (ctrl.Result, error)

func (*IngestorReconciler) SetupWithManager

func (r *IngestorReconciler) SetupWithManager(mgr ctrl.Manager) error

type OutputColumn

type OutputColumn struct {
	Name    string `json:"Name"`
	CslType string `json:"CslType"`
}

type TableExists

type TableExists struct {
	Count int64 `kusto:"Count"`
}

type TableRec

type TableRec struct {
	TableName string `json:"TableName"`
}

Jump to

Keyboard shortcuts

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