Skip to content

Commit 81dcaf8

Browse files
committed
feat: add configurable cluster domain support
Add CLUSTER_DOMAIN environment variable to allow customization of the Kubernetes cluster domain used in flagd-proxy service URIs. The default value remains "cluster.local" to maintain backward compatibility. This enables support for clusters using non-standard domain configurations.
1 parent 6e33d57 commit 81dcaf8

File tree

5 files changed

+7
-1
lines changed

5 files changed

+7
-1
lines changed

internal/common/flagdinjector/flagdinjector.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ func (fi *FlagdContainerInjector) toFlagdProxyConfig(ctx context.Context, object
350350
return types.SourceConfig{
351351
Provider: "grpc",
352352
Selector: fmt.Sprintf("core.openfeature.dev/%s/%s", ns, n),
353-
URI: fmt.Sprintf("%s.%s.svc.cluster.local:%d", flagdproxy.FlagdProxyServiceName, fi.FlagdProxyConfig.Namespace, fi.FlagdProxyConfig.Port),
353+
URI: fmt.Sprintf("%s.%s.svc.%s:%d", flagdproxy.FlagdProxyServiceName, fi.FlagdProxyConfig.Namespace, fi.FlagdProxyConfig.ClusterDomain, fi.FlagdProxyConfig.Port),
354354
}, nil
355355
}
356356

internal/common/flagdinjector/flagdinjector_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -951,6 +951,7 @@ func getProxyConfig() *flagdproxy.FlagdProxyConfiguration {
951951
Image: testImage,
952952
Tag: testTag,
953953
Namespace: "my-namespace",
954+
ClusterDomain: "cluster.local",
954955
}
955956
}
956957

internal/common/flagdproxy/flagdproxy.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ type FlagdProxyConfiguration struct {
4646
ImagePullSecrets []string
4747
Labels map[string]string
4848
Annotations map[string]string
49+
ClusterDomain string
4950
}
5051

5152
func NewFlagdProxyConfiguration(env types.EnvConfig, imagePullSecrets []string, labels map[string]string, annotations map[string]string) *FlagdProxyConfiguration {
@@ -61,6 +62,7 @@ func NewFlagdProxyConfiguration(env types.EnvConfig, imagePullSecrets []string,
6162
ImagePullSecrets: imagePullSecrets,
6263
Labels: labels,
6364
Annotations: annotations,
65+
ClusterDomain: env.ClusterDomain,
6466
}
6567
}
6668

internal/common/flagdproxy/flagdproxy_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@ func TestNewFlagdProxyConfiguration(t *testing.T) {
205205
FlagdProxyPort: 8015,
206206
FlagdProxyManagementPort: 8016,
207207
FlagdProxyReplicaCount: 123,
208+
ClusterDomain: "cluster.local",
208209
}, pullSecrets, labels, annotations)
209210

210211
require.NotNil(t, kpConfig)
@@ -217,6 +218,7 @@ func TestNewFlagdProxyConfiguration(t *testing.T) {
217218
Replicas: 123,
218219
Labels: labels,
219220
Annotations: annotations,
221+
ClusterDomain: "cluster.local",
220222
}, kpConfig)
221223
}
222224

internal/common/types/envconfig.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ type EnvConfig struct {
1010
FlagdProxyPort int `envconfig:"FLAGD_PROXY_PORT" default:"8015"`
1111
FlagdProxyManagementPort int `envconfig:"FLAGD_PROXY_MANAGEMENT_PORT" default:"8016"`
1212
FlagdProxyDebugLogging bool `envconfig:"FLAGD_PROXY_DEBUG_LOGGING" default:"false"`
13+
ClusterDomain string `envconfig:"CLUSTER_DOMAIN" default:"cluster.local"`
1314

1415
FlagdImage string `envconfig:"FLAGD_IMAGE" default:"ghcr.io/open-feature/flagd"`
1516
// renovate: datasource=github-tags depName=open-feature/flagd/flagd

0 commit comments

Comments
 (0)