Skip to content

Commit 50e5e17

Browse files
authored
Merge pull request #100 from questdb/remove-tlscertfile-backend
Remove file-path TLS references and usage
2 parents 8ba8ae1 + 348ad5e commit 50e5e17

File tree

8 files changed

+6
-73
lines changed

8 files changed

+6
-73
lines changed

README.md

-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ datasources:
5959
port: 8812
6060
username: admin
6161
tlsMode: disable
62-
# tlsCACertFile: <string>
6362
# timeout: <seconds>
6463
# queryTimeout: <seconds>
6564
maxOpenConnections: 100

pkg/plugin/driver.go

-14
Original file line numberDiff line numberDiff line change
@@ -171,20 +171,6 @@ A24pDtdOHydwtSB5+zFqFLfmVZplQM/g5kb4so70Yw==
171171
connStr += fmt.Sprintf(" sslcert='%s' sslkey='%s'", escape(tlsClientCert), escape(tlsClientKey))
172172
}
173173

174-
} else if settings.ConfigurationMethod == "file-path" {
175-
// Attach root certificate if provided
176-
if settings.TlsCACertFile != "" {
177-
log.DefaultLogger.Debug("Setting server root certificate", "tlsRootCertFile", settings.TlsCACertFile)
178-
connStr += fmt.Sprintf(" sslrootcert='%s'", escape(settings.TlsCACertFile))
179-
}
180-
181-
// Attach client certificate and key if both are provided
182-
if settings.TlsClientCertFile != "" && settings.TlsClientKeyFile != "" {
183-
log.DefaultLogger.Debug("Setting TLS/SSL client auth", "tlsCertFile", settings.TlsClientCertFile, "tlsKeyFile", settings.TlsClientKeyFile)
184-
connStr += fmt.Sprintf(" sslcert='%s' sslkey='%s'", escape(settings.TlsClientCertFile), escape(settings.TlsClientKeyFile))
185-
} else if settings.TlsClientCertFile != "" || settings.TlsClientKeyFile != "" {
186-
return "", fmt.Errorf("TLS/SSL client certificate and key files must both be specified")
187-
}
188174
} else if settings.ConfigurationMethod != "" {
189175
return "", errors.New(fmt.Sprintf("invalid ssl configuration method: %s", settings.ConfigurationMethod))
190176
}

pkg/plugin/settings.go

-4
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ type Settings struct {
3232
TlsMode string `json:"tlsMode"`
3333
ConfigurationMethod string `json:"tlsConfigurationMethod"`
3434

35-
TlsCACertFile string `json:"tlsCaCertFile"`
3635
TlsClientCertFile string `json:"tlsClientCertFile"`
3736
TlsClientKeyFile string `json:"tlsClientKeyFile"`
3837
}
@@ -130,9 +129,6 @@ func LoadSettings(config backend.DataSourceInstanceSettings) (settings Settings,
130129
settings.TlsMode = jsonData["tlsMode"].(string)
131130
}
132131

133-
if jsonData["tlsCACertFile"] != nil {
134-
settings.TlsCACertFile = jsonData["tlsCACertFile"].(string)
135-
}
136132
if jsonData["tlsClientCertFile"] != nil {
137133
settings.TlsClientCertFile = jsonData["tlsClientCertFile"].(string)
138134
}

pkg/plugin/settings_test.go

-41
Original file line numberDiff line numberDiff line change
@@ -88,47 +88,6 @@ func TestLoadSettings(t *testing.T) {
8888
},
8989
expectedErr: nil,
9090
},
91-
{
92-
name: "should parse json with tls and file-path mode",
93-
args: args{
94-
config: backend.DataSourceInstanceSettings{
95-
UID: "ds-uid",
96-
JSONData: []byte(`{ "server": "test", "port": 8812, "username": "john",
97-
"enableSecureSocksProxy": true, "tlsMode": "verify-ca", "tlsConfigurationMethod": "file-path",
98-
"tlsCACertFile": "/var/caCertFile", "tlsClientCertFile": "/var/clientCertFile", "tlsClientKeyFile": "/var/clientKeyFile",
99-
"timeout": 10, "queryTimeout": 50, "maxOpenConnections": 100, "maxIdleConnections": 100, "maxConnectionLifetime": 14400 }`),
100-
DecryptedSecureJSONData: map[string]string{"password": "rambo", "secureSocksProxyPassword": "test"},
101-
},
102-
},
103-
expectedSettings: Settings{
104-
Server: "test",
105-
Port: 8812,
106-
Username: "john",
107-
Password: "rambo",
108-
TlsCACertFile: "/var/caCertFile",
109-
TlsClientCertFile: "/var/clientCertFile",
110-
TlsClientKeyFile: "/var/clientKeyFile",
111-
Timeout: 10,
112-
QueryTimeout: 50,
113-
MaxOpenConnections: 100,
114-
MaxIdleConnections: 100,
115-
MaxConnectionLifetime: 14400,
116-
TlsMode: "verify-ca",
117-
ConfigurationMethod: "file-path",
118-
ProxyOptions: &proxy.Options{
119-
Enabled: true,
120-
Auth: &proxy.AuthOptions{
121-
Username: "ds-uid",
122-
Password: "test",
123-
},
124-
Timeouts: &proxy.TimeoutOptions{
125-
Timeout: 10 * time.Second,
126-
KeepAlive: proxy.DefaultTimeoutOptions.KeepAlive,
127-
},
128-
},
129-
},
130-
expectedErr: nil,
131-
},
13291
{
13392
name: "should converting string values to the correct type",
13493
args: args{

provisioning/datasources/questdb_questdb_datasource.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ datasources:
77
port: 8812
88
username: admin
99
tlsMode: disable
10-
# tlsCACertFile: <string>
1110
# timeout: <seconds>
1211
# queryTimeout: <seconds>
1312
maxOpenConnections: 100

src/selectors.ts

-5
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,6 @@ export const Components = {
3636
placeholder: 'Client Key. Begins with -----BEGIN RSA PRIVATE KEY-----',
3737
},
3838

39-
TLSCACertFile: {
40-
label: 'TLS/SSL Root Certificate File',
41-
placeholder:
42-
'If the selected TLS/SSL mode requires a server root certificate, provide the path to the file here.',
43-
},
4439
TLSClientCertFile: {
4540
label: 'TLS/SSL Client Certificate File',
4641
placeholder:

src/types.ts

-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ export interface QuestDBConfig extends DataSourceJsonData {
3333
tlsMode?: PostgresTLSModes;
3434
tlsConfigurationMethod?: PostgresTLSMethods;
3535

36-
tlsCACertFile?: string;
3736
tlsClientCertFile?: string;
3837
tlsClientKeyFile?: string;
3938
}

src/views/QuestDBConfigEditor.test.tsx

+6-6
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ describe('ConfigEditor', () => {
2222
expect(screen.getByPlaceholderText(Components.ConfigEditor.Username.placeholder)).toBeInTheDocument();
2323
expect(screen.getByPlaceholderText(Components.ConfigEditor.Password.placeholder)).toBeInTheDocument();
2424
expect(screen.getByText(Components.ConfigEditor.TlsMode.placeholder)).toBeInTheDocument();
25+
expect(screen.getByText(Components.ConfigEditor.TlsMethod.label)).toBeInTheDocument();
2526
});
2627
it('with password', async () => {
2728
render(
@@ -53,7 +54,6 @@ describe('ConfigEditor', () => {
5354
);
5455
expect(screen.queryByText(PostgresTLSModes.disable)).toBeInTheDocument();
5556
expect(screen.queryByPlaceholderText(Components.ConfigEditor.TlsMethod.placeholder)).not.toBeInTheDocument();
56-
expect(screen.queryByPlaceholderText(Components.ConfigEditor.TLSCACertFile.placeholder)).not.toBeInTheDocument();
5757
expect(
5858
screen.queryByPlaceholderText(Components.ConfigEditor.TLSClientCertFile.placeholder)
5959
).not.toBeInTheDocument();
@@ -62,7 +62,7 @@ describe('ConfigEditor', () => {
6262
expect(screen.queryByPlaceholderText(Components.ConfigEditor.TLSClientCert.placeholder)).not.toBeInTheDocument();
6363
expect(screen.queryByPlaceholderText(Components.ConfigEditor.TLSClientKey.placeholder)).not.toBeInTheDocument();
6464
});
65-
it('with verifyCA tlsMode and fileContent tlsMethod', async () => {
65+
it('with tlsMode and filePath tlsMethod', async () => {
6666
render(
6767
<ConfigEditor
6868
{...mockConfigEditorProps()}
@@ -71,14 +71,14 @@ describe('ConfigEditor', () => {
7171
jsonData: {
7272
...mockConfigEditorProps().options.jsonData,
7373
tlsMode: PostgresTLSModes.verifyCA,
74-
tlsConfigurationMethod: PostgresTLSMethods.fileContent,
74+
tlsConfigurationMethod: PostgresTLSMethods.filePath,
7575
},
7676
}}
7777
/>
7878
);
7979
expect(screen.queryByText(PostgresTLSModes.verifyCA)).toBeInTheDocument();
80-
expect(screen.queryByPlaceholderText(Components.ConfigEditor.TLSCACertFile.placeholder)).not.toBeInTheDocument();
81-
expect(screen.queryByPlaceholderText(Components.ConfigEditor.TLSCACert.placeholder)).toBeInTheDocument();
80+
expect(screen.queryByText(Components.ConfigEditor.TlsMethod.placeholder)).toBeInTheDocument();
81+
expect(screen.queryByPlaceholderText(Components.ConfigEditor.TLSCACert.placeholder)).not.toBeInTheDocument();
8282
});
8383

8484
it('with verifyFull tlsMode and fileContent tlsMethod', async () => {
@@ -96,7 +96,7 @@ describe('ConfigEditor', () => {
9696
/>
9797
);
9898
expect(screen.queryByText(PostgresTLSModes.verifyFull)).toBeInTheDocument();
99-
expect(screen.queryByPlaceholderText(Components.ConfigEditor.TLSCACertFile.placeholder)).not.toBeInTheDocument();
99+
expect(screen.queryByText(Components.ConfigEditor.TlsMethod.placeholder)).toBeInTheDocument();
100100
expect(screen.queryByPlaceholderText(Components.ConfigEditor.TLSCACert.placeholder)).toBeInTheDocument();
101101
});
102102

0 commit comments

Comments
 (0)