Skip to content

Commit

Permalink
feat(kuma-cp) add control plane identifier in DiscoveryResponse (#1319)
Browse files Browse the repository at this point in the history
Signed-off-by: Jacek Ewertowski <jacek.ewertowski1@gmail.com>
  • Loading branch information
mergify[bot] authored Dec 23, 2020
1 parent 1c357bf commit 0ccd868
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 8 deletions.
5 changes: 4 additions & 1 deletion pkg/core/bootstrap/bootstrap.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,10 @@ func buildRuntime(cfg kuma_cp.Config) (core_runtime.Runtime, error) {
if err := autoconfigure(&cfg); err != nil {
return nil, err
}
builder := core_runtime.BuilderFor(cfg)
builder, err := core_runtime.BuilderFor(cfg)
if err != nil {
return nil, err
}
if err := initializeMetrics(builder); err != nil {
return nil, err
}
Expand Down
13 changes: 10 additions & 3 deletions pkg/core/runtime/builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package runtime

import (
"context"
"fmt"
"os"

api_server "github.com/kumahq/kuma/pkg/api-server/customization"

Expand Down Expand Up @@ -69,15 +71,20 @@ type Builder struct {
*runtimeInfo
}

func BuilderFor(cfg kuma_cp.Config) *Builder {
func BuilderFor(cfg kuma_cp.Config) (*Builder, error) {
hostname, err := os.Hostname()
if err != nil {
return nil, errors.Wrap(err, "could not get hostname")
}
suffix := core.NewUUID()[0:4]
return &Builder{
cfg: cfg,
ext: context.Background(),
cam: core_ca.Managers{},
runtimeInfo: &runtimeInfo{
instanceId: core.NewUUID(),
instanceId: fmt.Sprintf("%s-%s", hostname, suffix),
},
}
}, nil
}

func (b *Builder) WithComponentManager(cm component.Manager) *Builder {
Expand Down
4 changes: 3 additions & 1 deletion pkg/sds/server/server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,9 @@ var _ = Describe("SDS Server", func() {
cfg.DpServer.TlsKeyFile = filepath.Join("..", "..", "..", "test", "certs", "server-key.pem")
cfg.DpServer.Auth.Type = dp_server_cfg.DpServerAuthDpToken

runtime, err := runtime.BuilderFor(cfg).Build()
builder, err := runtime.BuilderFor(cfg)
Expect(err).ToNot(HaveOccurred())
runtime, err := builder.Build()
Expect(err).ToNot(HaveOccurred())
metrics = runtime.Metrics()
resManager = runtime.ResourceManager()
Expand Down
10 changes: 7 additions & 3 deletions pkg/test/runtime/runtime.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,12 @@ func (i TestRuntimeInfo) GetClusterId() string {
return i.ClusterId
}

func BuilderFor(cfg kuma_cp.Config) *core_runtime.Builder {
builder := core_runtime.BuilderFor(cfg).
func BuilderFor(cfg kuma_cp.Config) (*core_runtime.Builder, error) {
builder, err := core_runtime.BuilderFor(cfg)
if err != nil {
return nil, err
}
builder.
WithComponentManager(component.NewManager(leader_memory.NewAlwaysLeaderElector())).
WithResourceStore(resources_memory.NewStore()).
WithXdsContext(core_xds.NewXdsContext())
Expand All @@ -72,7 +76,7 @@ func BuilderFor(cfg kuma_cp.Config) *core_runtime.Builder {
_ = initializeConfigManager(cfg, builder)
_ = initializeDNSResolver(cfg, builder)

return builder
return builder, nil
}

func initializeConfigManager(cfg kuma_cp.Config, builder *core_runtime.Builder) error {
Expand Down
1 change: 1 addition & 0 deletions pkg/xds/server/v2/components.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ func DefaultCallbacks(rt core_runtime.Runtime) (envoy_server.Callbacks, error) {
return nil, err
}
return util_xds_v2.CallbacksChain{
util_xds_v2.NewControlPlaneIdCallbacks(rt.GetInstanceId()),
util_xds_v2.AdaptCallbacks(statsCallbacks),
util_xds_v2.AdaptCallbacks(connectionInfoTracker),
util_xds_v2.AdaptCallbacks(authCallbacks),
Expand Down

0 comments on commit 0ccd868

Please sign in to comment.