diff --git a/apis/browser/v1/selenosis_keys.go b/apis/browser/v1/selenosis_keys.go new file mode 100644 index 0000000..958de59 --- /dev/null +++ b/apis/browser/v1/selenosis_keys.go @@ -0,0 +1,6 @@ +package v1 + +var ( + SelenosisOptionsAnnotationKey = "selenosis.io/options" + SelenosisOwnerLabelKey = "selenosis.io/owner" +) diff --git a/controllers/browser/browser_reconciler.go b/controllers/browser/browser_reconciler.go index a0d4541..bff1c65 100644 --- a/controllers/browser/browser_reconciler.go +++ b/controllers/browser/browser_reconciler.go @@ -33,8 +33,6 @@ const ( browserContainerName = "browser" sidecarContainerName = "seleniferous" - - selenosisOptionsAnnotationKey = "selenosis.io/options" ) type SelenosisOptions struct { @@ -808,7 +806,7 @@ func buildBrowserPod(browser *browserv1.Browser, cfg *configv1.BrowserVersionCon pod.Annotations = map[string]string{} } for k, v := range browser.Annotations { - if k == selenosisOptionsAnnotationKey { + if k == browserv1.SelenosisOptionsAnnotationKey { continue } pod.Annotations[k] = v @@ -867,14 +865,14 @@ func parseSelenosisOptions(ann map[string]string) (*SelenosisOptions, error) { if ann == nil { return nil, nil } - raw := ann[selenosisOptionsAnnotationKey] + raw := ann[browserv1.SelenosisOptionsAnnotationKey] if raw == "" { return nil, nil } var opts SelenosisOptions if err := json.Unmarshal([]byte(raw), &opts); err != nil { - return nil, fmt.Errorf("unmarshal %s: %w", selenosisOptionsAnnotationKey, err) + return nil, fmt.Errorf("unmarshal %s: %w", browserv1.SelenosisOptionsAnnotationKey, err) } return &opts, nil } diff --git a/controllers/browser/browser_reconciler_test.go b/controllers/browser/browser_reconciler_test.go index bbc9822..d93fced 100644 --- a/controllers/browser/browser_reconciler_test.go +++ b/controllers/browser/browser_reconciler_test.go @@ -179,13 +179,13 @@ func TestBuildBrowserPod(t *testing.T) { func TestParseSelenosisOptionsInvalidJSON(t *testing.T) { ann := map[string]string{ - selenosisOptionsAnnotationKey: "{nope", + browserv1.SelenosisOptionsAnnotationKey: "{nope", } _, err := parseSelenosisOptions(ann) if err == nil { t.Fatalf("expected error") } - if !strings.Contains(err.Error(), selenosisOptionsAnnotationKey) { + if !strings.Contains(err.Error(), browserv1.SelenosisOptionsAnnotationKey) { t.Fatalf("expected error to mention annotation key, got %v", err) } } @@ -199,7 +199,7 @@ func TestParseSelenosisOptionsEmpty(t *testing.T) { t.Fatalf("expected nil options for nil annotations") } - opts, err = parseSelenosisOptions(map[string]string{selenosisOptionsAnnotationKey: ""}) + opts, err = parseSelenosisOptions(map[string]string{browserv1.SelenosisOptionsAnnotationKey: ""}) if err != nil { t.Fatalf("expected no error, got %v", err) } @@ -210,7 +210,7 @@ func TestParseSelenosisOptionsEmpty(t *testing.T) { func TestParseSelenosisOptionsValidJSON(t *testing.T) { ann := map[string]string{ - selenosisOptionsAnnotationKey: `{"labels":{"a":"b"},"containers":{"browser":{"env":{"X":"1"}}}}`, + browserv1.SelenosisOptionsAnnotationKey: `{"labels":{"a":"b"},"containers":{"browser":{"env":{"X":"1"}}}}`, } opts, err := parseSelenosisOptions(ann) if err != nil { @@ -378,7 +378,7 @@ func TestHandleMissingPodInvalidSelenosisOptions(t *testing.T) { Name: "b1", Namespace: "ns", Annotations: map[string]string{ - selenosisOptionsAnnotationKey: "{bad-json", + browserv1.SelenosisOptionsAnnotationKey: "{bad-json", }, }, Spec: browserv1.BrowserSpec{