From 377e546bfb73d99932c08ed469bb36c0801e1e8c Mon Sep 17 00:00:00 2001 From: Vitalii Parfonov Date: Mon, 15 Jan 2024 17:08:51 +0200 Subject: [PATCH] LOG-4822: Loki output without URL should fail validation Signed-off-by: Vitalii Parfonov --- .../validate_clusterlogforwarderspec.go | 3 +-- .../validate_clusterlogforwarderspec_test.go | 11 +++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/internal/validations/clusterlogforwarder/validate_clusterlogforwarderspec.go b/internal/validations/clusterlogforwarder/validate_clusterlogforwarderspec.go index 849931c16..4d6a6635a 100644 --- a/internal/validations/clusterlogforwarder/validate_clusterlogforwarderspec.go +++ b/internal/validations/clusterlogforwarder/validate_clusterlogforwarderspec.go @@ -330,8 +330,7 @@ func verifyOutputURL(output *loggingv1.OutputSpec, conds loggingv1.NamedConditio if output.URL == "" { // Some output types allow a missing URL // TODO (alanconway) move output-specific valiation to the output implementation. - if output.Type == loggingv1.OutputTypeCloudwatch || - output.Type == loggingv1.OutputTypeGoogleCloudLogging || output.Type == loggingv1.OutputTypeLoki { + if output.Type == loggingv1.OutputTypeCloudwatch || output.Type == loggingv1.OutputTypeGoogleCloudLogging { return true } else { return fail(CondInvalid("URL is required for output type %v", output.Type)) diff --git a/internal/validations/clusterlogforwarder/validate_clusterlogforwarderspec_test.go b/internal/validations/clusterlogforwarder/validate_clusterlogforwarderspec_test.go index e6b1ca2fe..a6acfafb0 100644 --- a/internal/validations/clusterlogforwarder/validate_clusterlogforwarderspec_test.go +++ b/internal/validations/clusterlogforwarder/validate_clusterlogforwarderspec_test.go @@ -1402,6 +1402,17 @@ func Test_verifyOutputURL(t *testing.T) { }, want: false, }, + { + name: "With Loki output without URL should fail", + args: args{ + output: &loggingv1.OutputSpec{ + Name: "test-output", + Type: loggingv1.OutputTypeLoki, + }, + conds: loggingv1.NamedConditions{}, + }, + want: false, + }, } for _, tt := range tests { tt := tt // Don't bind range variable.