Gitaly feature flags are broken
In rails we convert _ to - in flag names. In Gitaly, we forget to convert back.
This fixes it:
diff --git a/internal/metadata/featureflag/grpc_header.go b/internal/metadata/featureflag/grpc_header.go
index 94940c9c..e5e450c9 100644
--- a/internal/metadata/featureflag/grpc_header.go
+++ b/internal/metadata/featureflag/grpc_header.go
@@ -3,6 +3,7 @@ package featureflag
import (
"context"
"fmt"
+ "strings"
"github.com/prometheus/client_golang/prometheus"
"google.golang.org/grpc/metadata"
@@ -51,5 +52,5 @@ func IsDisabled(ctx context.Context, flag string) bool {
// HeaderKey returns the feature flag key to be used in the metadata map
func HeaderKey(flag string) string {
- return fmt.Sprintf("gitaly-feature-%s", flag)
+ return fmt.Sprintf("gitaly-feature-%s", strings.ReplaceAll(flag, "_", "-"))
}
The MR that fixes this should also test this behavior.