INNER CODE UNIT · Go
shards
kcp-dev/kcp · cmd/sharded-test-server/main.go:240
shards := make([]*testshard.Shard, numberOfShards)
for i := range numberOfShards {
shard, err := newShard(ctx, i, shardFlags, standaloneVW, servingCA, hostIP.String(), logDirPath, workDirPath, cacheServerConfigPath, clientCA, externalEtcdServers)
if err != nil {
return err
}
if err := shard.Start(ctx, quiet); err != nil {
return err
}
shards[i] = shard
}
// Wait for shards to be ready before starting virtual workspaces.
// Virtual workspaces depend on shards for token authentication (TokenReview),
// so shards must be fully ready before VWs can accept authenticated requests.
shardsErrCh := make(chan indexErrTuple)
for i, s := range shards {
terminatedCh, err := s.WaitForReady(ctx)