Skip to content

Commit 8494598

Browse files
author
Jason Witkowski
committed
fix: konnectivity extra args override
1 parent 6123d9a commit 8494598

File tree

3 files changed

+23
-3
lines changed

3 files changed

+23
-3
lines changed

api/v1alpha1/tenantcontrolplane_types.go

+2
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,8 @@ type ImageOverrideTrait struct {
192192
type ExtraArgs []string
193193

194194
type KonnectivityServerSpec struct {
195+
// The address which Konnectivity server is listening to.
196+
Address string `json:"address"`
195197
// The port which Konnectivity server is listening to.
196198
Port int32 `json:"port"`
197199
// Container image version of the Konnectivity server.

config/crd/bases/kamaji.clastix.io_tenantcontrolplanes.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,11 @@ spec:
112112
port: 8132
113113
version: v0.0.32
114114
properties:
115+
address:
116+
description: The address which Konnectivity server is
117+
listening will listen on. If not set this value defaults
118+
to the address of the TenantControlPlane.
119+
type: string
115120
extraArgs:
116121
description: ExtraArgs allows adding additional arguments
117122
to said component.

internal/resources/konnectivity/agent.go

+16-3
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,15 @@ func (r *Agent) mutate(ctx context.Context, tenantControlPlane *kamajiv1alpha1.T
102102
return func() error {
103103
logger := log.FromContext(ctx, "resource", r.GetName())
104104

105-
address, _, err := tenantControlPlane.AssignedControlPlaneAddress()
105+
var address string
106+
var err error
107+
108+
if len(tenantControlPlane.Spec.Addons.Konnectivity.KonnectivityServerSpec.Address) != 0 {
109+
address = tenantControlPlane.Spec.Addons.Konnectivity.KonnectivityServerSpec.Address
110+
} else {
111+
address, _, err = tenantControlPlane.AssignedControlPlaneAddress()
112+
}
113+
106114
if err != nil {
107115
logger.Error(err, "unable to retrieve the Tenant Control Plane address")
108116

@@ -164,8 +172,7 @@ func (r *Agent) mutate(ctx context.Context, tenantControlPlane *kamajiv1alpha1.T
164172
r.resource.Spec.Template.Spec.Containers[0].Name = AgentName
165173
r.resource.Spec.Template.Spec.Containers[0].Command = []string{"/proxy-agent"}
166174

167-
args := utilities.ArgsFromSliceToMap(tenantControlPlane.Spec.Addons.Konnectivity.KonnectivityAgentSpec.ExtraArgs)
168-
175+
args := make(map[string]string)
169176
args["-v"] = "8"
170177
args["--logtostderr"] = "true"
171178
args["--ca-cert"] = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
@@ -175,6 +182,12 @@ func (r *Agent) mutate(ctx context.Context, tenantControlPlane *kamajiv1alpha1.T
175182
args["--health-server-port"] = "8134"
176183
args["--service-account-token-path"] = "/var/run/secrets/tokens/konnectivity-agent-token"
177184

185+
extraArgs := utilities.ArgsFromSliceToMap(tenantControlPlane.Spec.Addons.Konnectivity.KonnectivityAgentSpec.ExtraArgs)
186+
187+
for k, v := range extraArgs {
188+
args[k] = v
189+
}
190+
178191
r.resource.Spec.Template.Spec.Containers[0].Args = utilities.ArgsFromMapToSlice(args)
179192
r.resource.Spec.Template.Spec.Containers[0].VolumeMounts = []corev1.VolumeMount{
180193
{

0 commit comments

Comments
 (0)