Skip to content

Commit 7553e9a

Browse files
authored
Remove Kafka scaler requirement for CA/cert/key (#1288)
Signed-off-by: iterion <[email protected]>
1 parent dfc8604 commit 7553e9a

File tree

2 files changed

+15
-18
lines changed

2 files changed

+15
-18
lines changed

pkg/scalers/kafka_scaler.go

+7-10
Original file line numberDiff line numberDiff line change
@@ -155,19 +155,16 @@ func parseKafkaMetadata(config *ScalerConfig) (kafkaMetadata, error) {
155155
val = strings.TrimSpace(val)
156156

157157
if val == "enable" {
158-
if config.AuthParams["ca"] == "" {
159-
return meta, errors.New("no ca given")
158+
certGiven := config.AuthParams["cert"] != ""
159+
keyGiven := config.AuthParams["key"] != ""
160+
if certGiven && !keyGiven {
161+
return meta, errors.New("key must be provided with cert")
160162
}
161-
meta.ca = config.AuthParams["ca"]
162-
163-
if config.AuthParams["cert"] == "" {
164-
return meta, errors.New("no cert given")
163+
if keyGiven && !certGiven {
164+
return meta, errors.New("cert must be provided with key")
165165
}
166+
meta.ca = config.AuthParams["ca"]
166167
meta.cert = config.AuthParams["cert"]
167-
168-
if config.AuthParams["key"] == "" {
169-
return meta, errors.New("no key given")
170-
}
171168
meta.key = config.AuthParams["key"]
172169
meta.enableTLS = true
173170
} else {

pkg/scalers/kafka_scaler_test.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,10 @@ var parseKafkaAuthParamsTestDataset = []parseKafkaAuthParamsTestData{
7171
{map[string]string{"sasl": "scram_sha512", "username": "admin", "password": "admin"}, false, false},
7272
// success, TLS only
7373
{map[string]string{"tls": "enable", "ca": "caaa", "cert": "ceert", "key": "keey"}, false, true},
74+
// success, TLS cert/key and assumed public CA
75+
{map[string]string{"tls": "enable", "cert": "ceert", "key": "keey"}, false, true},
76+
// success, TLS CA only
77+
{map[string]string{"tls": "enable", "ca": "caaa"}, false, true},
7478
// success, SASL + TLS
7579
{map[string]string{"sasl": "plaintext", "username": "admin", "password": "admin", "tls": "enable", "ca": "caaa", "cert": "ceert", "key": "keey"}, false, true},
7680
// failure, SASL incorrect type
@@ -79,14 +83,12 @@ var parseKafkaAuthParamsTestDataset = []parseKafkaAuthParamsTestData{
7983
{map[string]string{"sasl": "plaintext", "password": "admin"}, true, false},
8084
// failure, SASL missing password
8185
{map[string]string{"sasl": "plaintext", "username": "admin"}, true, false},
82-
// failure, TLS incorrect
83-
{map[string]string{"tls": "yes", "cert": "ceert", "key": "keey"}, true, false},
84-
// failure, TLS missing ca
85-
{map[string]string{"tls": "yes", "ca": "caaa", "key": "keey"}, true, false},
8686
// failure, TLS missing cert
87-
{map[string]string{"tls": "yes", "ca": "caaa", "cert": "ceert", "key": "keey"}, true, false},
87+
{map[string]string{"tls": "enable", "ca": "caaa", "key": "keey"}, true, false},
8888
// failure, TLS missing key
89-
{map[string]string{"tls": "yes", "ca": "caaa", "cert": "ceert"}, true, false},
89+
{map[string]string{"tls": "enable", "ca": "caaa", "cert": "ceert"}, true, false},
90+
// failure, TLS invalid
91+
{map[string]string{"tls": "yes", "ca": "caaa", "cert": "ceert", "key": "keey"}, true, false},
9092
// failure, SASL + TLS, incorrect sasl
9193
{map[string]string{"sasl": "foo", "username": "admin", "password": "admin", "tls": "enable", "ca": "caaa", "cert": "ceert", "key": "keey"}, true, false},
9294
// failure, SASL + TLS, incorrect tls
@@ -95,8 +97,6 @@ var parseKafkaAuthParamsTestDataset = []parseKafkaAuthParamsTestData{
9597
{map[string]string{"sasl": "plaintext", "password": "admin", "tls": "enable", "ca": "caaa", "cert": "ceert", "key": "keey"}, true, false},
9698
// failure, SASL + TLS, missing password
9799
{map[string]string{"sasl": "plaintext", "username": "admin", "tls": "enable", "ca": "caaa", "cert": "ceert", "key": "keey"}, true, false},
98-
// failure, SASL + TLS, missing ca
99-
{map[string]string{"sasl": "plaintext", "username": "admin", "password": "admin", "tls": "enable", "cert": "ceert", "key": "keey"}, true, false},
100100
// failure, SASL + TLS, missing cert
101101
{map[string]string{"sasl": "plaintext", "username": "admin", "password": "admin", "tls": "enable", "ca": "caaa", "key": "keey"}, true, false},
102102
// failure, SASL + TLS, missing key

0 commit comments

Comments
 (0)