Context
The ADX operator still uses the legacy github.com/Azure/azure-kusto-go/kusto data-plane client for federation, heartbeat, and hub artifact reconciliation.
This is separate from the ARM management client usage, which already uses armkusto and is not in scope.
Files
operator/adx.go
operator/adx_test.go
Current legacy usage
- Creates data-plane clients with
kusto.NewConnectionStringBuilder and kusto.New.
- Uses default credential and user-assigned managed identity auth through the old connection string builder.
- Executes management commands with legacy
client.Mgmt.
- Executes heartbeat table queries with legacy
client.Query.
- Builds statements with legacy
kusto/kql.
- Reads rows with
NextRowOrError and ToStruct.
Major paths to migrate
ensureHeartbeatTable: .show tables | count, .create table.
HeartbeatFederatedClusters / heartbeatFederatedCluster: schema collection and heartbeat ingestion.
- Schema discovery:
.show databases, .show database schema, .show functions, .show function <name> schema as json.
- Heartbeat ingest:
.ingest inline into table.
FederateClusters: reads heartbeat rows and reconciles hub artifacts.
- Hub artifact reconciliation: hub tables, entity groups,
.execute database script, .create-or-alter function.
Acceptance criteria
- Operator production code no longer imports
github.com/Azure/azure-kusto-go/kusto... packages.
- Federation heartbeat send/read behavior remains covered by tests.
- Hub table, entity group, and generated function reconciliation continue to work.
- ARM
armkusto provisioning code remains unchanged except where needed to keep interfaces clean.
Context
The ADX operator still uses the legacy
github.com/Azure/azure-kusto-go/kustodata-plane client for federation, heartbeat, and hub artifact reconciliation.This is separate from the ARM management client usage, which already uses
armkustoand is not in scope.Files
operator/adx.gooperator/adx_test.goCurrent legacy usage
kusto.NewConnectionStringBuilderandkusto.New.client.Mgmt.client.Query.kusto/kql.NextRowOrErrorandToStruct.Major paths to migrate
ensureHeartbeatTable:.show tables | count,.create table.HeartbeatFederatedClusters/heartbeatFederatedCluster: schema collection and heartbeat ingestion..show databases,.show database schema,.show functions,.show function <name> schema as json..ingest inline into table.FederateClusters: reads heartbeat rows and reconciles hub artifacts..execute database script,.create-or-alter function.Acceptance criteria
github.com/Azure/azure-kusto-go/kusto...packages.armkustoprovisioning code remains unchanged except where needed to keep interfaces clean.