From 4480d332a20fdda264d20982998896fd0d08dc79 Mon Sep 17 00:00:00 2001 From: Steven Masley Date: Tue, 22 Apr 2025 10:23:47 -0500 Subject: [PATCH 1/2] chore: revert dynamic params as a safe experiment --- codersdk/deployment.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/codersdk/deployment.go b/codersdk/deployment.go index cf1952f1b50a2..4dd4dee51fc2a 100644 --- a/codersdk/deployment.go +++ b/codersdk/deployment.go @@ -3258,13 +3258,11 @@ const ( ExperimentDynamicParameters Experiment = "dynamic-parameters" // Enables dynamic parameters when creating a workspace. ) -// ExperimentsAll should include all experiments that are safe for +// ExperimentsAllSafe should include all experiments that are safe for // users to opt-in to via --experimental='*'. // Experiments that are not ready for consumption by all users should // not be included here and will be essentially hidden. -var ExperimentsAll = Experiments{ - ExperimentDynamicParameters, -} +var ExperimentsAllSafe = Experiments{} // Experiments is a list of experiments. // Multiple experiments may be enabled at the same time. From ef35a4d457a822fbd4ada4ec0b75dcf8aaae5ef0 Mon Sep 17 00:00:00 2001 From: Steven Masley Date: Tue, 22 Apr 2025 10:28:23 -0500 Subject: [PATCH 2/2] rename var --- coderd/coderd.go | 4 ++-- coderd/experiments.go | 2 +- coderd/experiments_test.go | 10 +++++----- coderd/prometheusmetrics/prometheusmetrics.go | 2 +- coderd/prometheusmetrics/prometheusmetrics_test.go | 8 ++++---- codersdk/deployment.go | 4 ++-- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/coderd/coderd.go b/coderd/coderd.go index e9d7a15a53059..cb069fd6bf29d 100644 --- a/coderd/coderd.go +++ b/coderd/coderd.go @@ -1816,10 +1816,10 @@ func ReadExperiments(log slog.Logger, raw []string) codersdk.Experiments { for _, v := range raw { switch v { case "*": - exps = append(exps, codersdk.ExperimentsAll...) + exps = append(exps, codersdk.ExperimentsSafe...) default: ex := codersdk.Experiment(strings.ToLower(v)) - if !slice.Contains(codersdk.ExperimentsAll, ex) { + if !slice.Contains(codersdk.ExperimentsSafe, ex) { log.Warn(context.Background(), "🐉 HERE BE DRAGONS: opting into hidden experiment", slog.F("experiment", ex)) } exps = append(exps, ex) diff --git a/coderd/experiments.go b/coderd/experiments.go index f7debd8c68bbb..6f03daa4e9d88 100644 --- a/coderd/experiments.go +++ b/coderd/experiments.go @@ -29,6 +29,6 @@ func (api *API) handleExperimentsGet(rw http.ResponseWriter, r *http.Request) { func handleExperimentsSafe(rw http.ResponseWriter, r *http.Request) { ctx := r.Context() httpapi.Write(ctx, rw, http.StatusOK, codersdk.AvailableExperiments{ - Safe: codersdk.ExperimentsAll, + Safe: codersdk.ExperimentsSafe, }) } diff --git a/coderd/experiments_test.go b/coderd/experiments_test.go index 4288b9953fec6..8f5944609ab80 100644 --- a/coderd/experiments_test.go +++ b/coderd/experiments_test.go @@ -69,8 +69,8 @@ func Test_Experiments(t *testing.T) { experiments, err := client.Experiments(ctx) require.NoError(t, err) require.NotNil(t, experiments) - require.ElementsMatch(t, codersdk.ExperimentsAll, experiments) - for _, ex := range codersdk.ExperimentsAll { + require.ElementsMatch(t, codersdk.ExperimentsSafe, experiments) + for _, ex := range codersdk.ExperimentsSafe { require.True(t, experiments.Enabled(ex)) } require.False(t, experiments.Enabled("danger")) @@ -91,8 +91,8 @@ func Test_Experiments(t *testing.T) { experiments, err := client.Experiments(ctx) require.NoError(t, err) require.NotNil(t, experiments) - require.ElementsMatch(t, append(codersdk.ExperimentsAll, "danger"), experiments) - for _, ex := range codersdk.ExperimentsAll { + require.ElementsMatch(t, append(codersdk.ExperimentsSafe, "danger"), experiments) + for _, ex := range codersdk.ExperimentsSafe { require.True(t, experiments.Enabled(ex)) } require.True(t, experiments.Enabled("danger")) @@ -131,6 +131,6 @@ func Test_Experiments(t *testing.T) { experiments, err := client.SafeExperiments(ctx) require.NoError(t, err) require.NotNil(t, experiments) - require.ElementsMatch(t, codersdk.ExperimentsAll, experiments.Safe) + require.ElementsMatch(t, codersdk.ExperimentsSafe, experiments.Safe) }) } diff --git a/coderd/prometheusmetrics/prometheusmetrics.go b/coderd/prometheusmetrics/prometheusmetrics.go index ccd88a9e3fc1d..4fd2cfda607ed 100644 --- a/coderd/prometheusmetrics/prometheusmetrics.go +++ b/coderd/prometheusmetrics/prometheusmetrics.go @@ -655,7 +655,7 @@ func Experiments(registerer prometheus.Registerer, active codersdk.Experiments) return err } - for _, exp := range codersdk.ExperimentsAll { + for _, exp := range codersdk.ExperimentsSafe { var val float64 for _, enabled := range active { if exp == enabled { diff --git a/coderd/prometheusmetrics/prometheusmetrics_test.go b/coderd/prometheusmetrics/prometheusmetrics_test.go index 9911a026ea67a..be804b3a855b0 100644 --- a/coderd/prometheusmetrics/prometheusmetrics_test.go +++ b/coderd/prometheusmetrics/prometheusmetrics_test.go @@ -612,7 +612,7 @@ func TestAgentStats(t *testing.T) { func TestExperimentsMetric(t *testing.T) { t.Parallel() - if len(codersdk.ExperimentsAll) == 0 { + if len(codersdk.ExperimentsSafe) == 0 { t.Skip("No experiments are currently defined; skipping test.") } @@ -624,17 +624,17 @@ func TestExperimentsMetric(t *testing.T) { { name: "Enabled experiment is exported in metrics", experiments: codersdk.Experiments{ - codersdk.ExperimentsAll[0], + codersdk.ExperimentsSafe[0], }, expected: map[codersdk.Experiment]float64{ - codersdk.ExperimentsAll[0]: 1, + codersdk.ExperimentsSafe[0]: 1, }, }, { name: "Disabled experiment is exported in metrics", experiments: codersdk.Experiments{}, expected: map[codersdk.Experiment]float64{ - codersdk.ExperimentsAll[0]: 0, + codersdk.ExperimentsSafe[0]: 0, }, }, { diff --git a/codersdk/deployment.go b/codersdk/deployment.go index 4dd4dee51fc2a..864a883330776 100644 --- a/codersdk/deployment.go +++ b/codersdk/deployment.go @@ -3258,11 +3258,11 @@ const ( ExperimentDynamicParameters Experiment = "dynamic-parameters" // Enables dynamic parameters when creating a workspace. ) -// ExperimentsAllSafe should include all experiments that are safe for +// ExperimentsSafe should include all experiments that are safe for // users to opt-in to via --experimental='*'. // Experiments that are not ready for consumption by all users should // not be included here and will be essentially hidden. -var ExperimentsAllSafe = Experiments{} +var ExperimentsSafe = Experiments{} // Experiments is a list of experiments. // Multiple experiments may be enabled at the same time. pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy