From 89c40edce22222971fb33ba2140a6d3945969195 Mon Sep 17 00:00:00 2001 From: Jon Jackson Date: Tue, 9 Sep 2025 16:47:00 -0400 Subject: [PATCH 1/3] CONSOLE-4764: Add tech preview feature flag support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add --tech-preview command line flag to enable tech preview features - Include TechPreviewEnabled field in ClusterInfo configuration - Log warning when tech preview features are enabled 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- cmd/bridge/main.go | 5 +++++ pkg/serverconfig/config.go | 4 ++++ pkg/serverconfig/types.go | 1 + 3 files changed, 10 insertions(+) diff --git a/cmd/bridge/main.go b/cmd/bridge/main.go index a3b2be7f081..37f2ef7864e 100644 --- a/cmd/bridge/main.go +++ b/cmd/bridge/main.go @@ -166,6 +166,7 @@ func main() { fNodeArchitectures := fs.String("node-architectures", "", "List of node architectures. Example --node-architecture=amd64,arm64") fNodeOperatingSystems := fs.String("node-operating-systems", "", "List of node operating systems. Example --node-operating-system=linux,windows") fCopiedCSVsDisabled := fs.Bool("copied-csvs-disabled", false, "Flag to indicate if OLM copied CSVs are disabled.") + fTechPreview := fs.Bool("tech-preview", false, "Flag to indicate if tech preview features should be enabled.") cfg, err := serverconfig.Parse(fs, os.Args[1:], "BRIDGE") if err != nil { @@ -178,6 +179,10 @@ func main() { os.Exit(1) } + if *fTechPreview { + klog.Warning("Tech preview features are enabled") + } + authOptions.ApplyConfig(&cfg.Auth) sessionOptions.ApplyConfig(&cfg.Session) diff --git a/pkg/serverconfig/config.go b/pkg/serverconfig/config.go index 63c770013d5..c8cd6be0b80 100644 --- a/pkg/serverconfig/config.go +++ b/pkg/serverconfig/config.go @@ -288,6 +288,10 @@ func addClusterInfo(fs *flag.FlagSet, clusterInfo *ClusterInfo) { if clusterInfo.CopiedCSVsDisabled { fs.Set("copied-csvs-disabled", "true") } + + if clusterInfo.TechPreviewEnabled { + fs.Set("tech-preview", "true") + } } func addProviders(fs *flag.FlagSet, providers *Providers) { diff --git a/pkg/serverconfig/types.go b/pkg/serverconfig/types.go index 8d372361c5c..6150bb82d0d 100644 --- a/pkg/serverconfig/types.go +++ b/pkg/serverconfig/types.go @@ -81,6 +81,7 @@ type ClusterInfo struct { NodeArchitectures []string `yaml:"nodeArchitectures,omitempty"` NodeOperatingSystems []string `yaml:"nodeOperatingSystems,omitempty"` CopiedCSVsDisabled bool `yaml:"copiedCSVsDisabled,omitempty"` + TechPreviewEnabled bool `yaml:"techPreviewEnabled,omitempty"` } // Auth holds configuration for authenticating with OpenShift. The auth method is assumed to be "openshift". From 53a053916d341f0d24d676720002c8e1c63a5f28 Mon Sep 17 00:00:00 2001 From: Jon Jackson Date: Wed, 17 Sep 2025 12:12:18 -0400 Subject: [PATCH 2/3] update log message to be more informative --- cmd/bridge/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/bridge/main.go b/cmd/bridge/main.go index 37f2ef7864e..1071abc72e5 100644 --- a/cmd/bridge/main.go +++ b/cmd/bridge/main.go @@ -180,7 +180,7 @@ func main() { } if *fTechPreview { - klog.Warning("Tech preview features are enabled") + klog.Warning("Technology Preview features are enabled. These features are experimental and not supported for production use. If you encounter issues, send feedback through the usual support or bug-reporting channels.") } authOptions.ApplyConfig(&cfg.Auth) From d116a47efb332e6c99baa47658380c36fe3d97bf Mon Sep 17 00:00:00 2001 From: Jon Jackson Date: Thu, 18 Sep 2025 09:32:00 -0400 Subject: [PATCH 3/3] update wording of tech preview flag description --- cmd/bridge/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/bridge/main.go b/cmd/bridge/main.go index 1071abc72e5..91df7519816 100644 --- a/cmd/bridge/main.go +++ b/cmd/bridge/main.go @@ -166,7 +166,7 @@ func main() { fNodeArchitectures := fs.String("node-architectures", "", "List of node architectures. Example --node-architecture=amd64,arm64") fNodeOperatingSystems := fs.String("node-operating-systems", "", "List of node operating systems. Example --node-operating-system=linux,windows") fCopiedCSVsDisabled := fs.Bool("copied-csvs-disabled", false, "Flag to indicate if OLM copied CSVs are disabled.") - fTechPreview := fs.Bool("tech-preview", false, "Flag to indicate if tech preview features should be enabled.") + fTechPreview := fs.Bool("tech-preview", false, "Enable console Technology Preview features.") cfg, err := serverconfig.Parse(fs, os.Args[1:], "BRIDGE") if err != nil {