Skip to content

Commit cfe543a

Browse files
authored
add ca cert (#35)
1 parent d06b763 commit cfe543a

4 files changed

Lines changed: 19 additions & 14 deletions

File tree

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ CDK_TOKEN=<admin-token>
4848
````
4949
You need to define the CDK_TOKEN and CDK_BASE_URL environment variables to use this tool.
5050
You can also use the CDK_KEY,CDK_CERT to use a certificate for tls authentication.
51-
If you have an untrusted certificate you can use the CDK_INSECURE=true variable to disable tls verification
51+
If you have an untrusted certificate you can use the CDK_INSECURE=true variable to disable tls verification or you can use CACERT.
5252
5353
Usage:
5454
conduktor [flags]

‎client/client.go‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ type Client struct {
2020
kinds schema.KindCatalog
2121
}
2222

23-
func Make(token string, baseUrl string, debug bool, key, cert string, insecure bool) (*Client, error) {
23+
func Make(token string, baseUrl string, debug bool, key, cert, cacert string, insecure bool) (*Client, error) {
2424
//token is set later because it's not mandatory for getting the openapi and parsing different kind
2525
restyClient := resty.New().SetDebug(debug).SetHeader("X-CDK-CLIENT", "CLI/"+utils.GetConduktorVersion())
2626

@@ -34,6 +34,10 @@ func Make(token string, baseUrl string, debug bool, key, cert string, insecure b
3434
}
3535
}
3636

37+
if cacert != "" {
38+
restyClient.SetRootCertificate(cacert)
39+
}
40+
3741
result := &Client{
3842
token: token,
3943
baseUrl: baseUrl,
@@ -69,9 +73,10 @@ func MakeFromEnv() (*Client, error) {
6973
debug := strings.ToLower(os.Getenv("CDK_DEBUG")) == "true"
7074
key := os.Getenv("CDK_KEY")
7175
cert := os.Getenv("CDK_CERT")
76+
cacert := os.Getenv("CDK_CACERT")
7277
insecure := strings.ToLower(os.Getenv("CDK_INSECURE")) == "true"
7378

74-
client, err := Make("", baseUrl, debug, key, cert, insecure)
79+
client, err := Make("", baseUrl, debug, key, cert, cacert, insecure)
7580
if err != nil {
7681
return nil, fmt.Errorf("Cannot create client: %s", err)
7782
}

‎client/client_test.go‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ func TestApplyShouldWork(t *testing.T) {
1111
defer httpmock.Reset()
1212
baseUrl := "http://baseUrl"
1313
token := "aToken"
14-
client, err := Make(token, baseUrl, false, "", "", false)
14+
client, err := Make(token, baseUrl, false, "", "", "", false)
1515
if err != nil {
1616
panic(err)
1717
}
@@ -54,7 +54,7 @@ func TestApplyWithDryModeShouldWork(t *testing.T) {
5454
defer httpmock.Reset()
5555
baseUrl := "http://baseUrl"
5656
token := "aToken"
57-
client, err := Make(token, baseUrl, false, "", "", false)
57+
client, err := Make(token, baseUrl, false, "", "", "", false)
5858
if err != nil {
5959
panic(err)
6060
}
@@ -92,7 +92,7 @@ func TestApplyShouldFailIfNo2xx(t *testing.T) {
9292
defer httpmock.Reset()
9393
baseUrl := "http://baseUrl"
9494
token := "aToken"
95-
client, err := Make(token, baseUrl, false, "", "", false)
95+
client, err := Make(token, baseUrl, false, "", "", "", false)
9696
if err != nil {
9797
panic(err)
9898
}
@@ -130,7 +130,7 @@ func TestGetShouldWork(t *testing.T) {
130130
defer httpmock.Reset()
131131
baseUrl := "http://baseUrl"
132132
token := "aToken"
133-
client, err := Make(token, baseUrl, false, "", "", false)
133+
client, err := Make(token, baseUrl, false, "", "", "", false)
134134
if err != nil {
135135
panic(err)
136136
}
@@ -162,7 +162,7 @@ func TestGetShouldFailIfN2xx(t *testing.T) {
162162
defer httpmock.Reset()
163163
baseUrl := "http://baseUrl"
164164
token := "aToken"
165-
client, err := Make(token, baseUrl, false, "", "", false)
165+
client, err := Make(token, baseUrl, false, "", "", "", false)
166166
if err != nil {
167167
panic(err)
168168
}
@@ -193,7 +193,7 @@ func TestDescribeShouldWork(t *testing.T) {
193193
defer httpmock.Reset()
194194
baseUrl := "http://baseUrl"
195195
token := "aToken"
196-
client, err := Make(token, baseUrl, false, "", "", false)
196+
client, err := Make(token, baseUrl, false, "", "", "", false)
197197
if err != nil {
198198
panic(err)
199199
}
@@ -225,7 +225,7 @@ func TestDescribeShouldFailIfNo2xx(t *testing.T) {
225225
defer httpmock.Reset()
226226
baseUrl := "http://baseUrl/api"
227227
token := "aToken"
228-
client, err := Make(token, baseUrl, false, "", "", false)
228+
client, err := Make(token, baseUrl, false, "", "", "", false)
229229
if err != nil {
230230
panic(err)
231231
}
@@ -256,7 +256,7 @@ func TestDeleteShouldWork(t *testing.T) {
256256
defer httpmock.Reset()
257257
baseUrl := "http://baseUrl"
258258
token := "aToken"
259-
client, err := Make(token, baseUrl, false, "", "", false)
259+
client, err := Make(token, baseUrl, false, "", "", "", false)
260260
if err != nil {
261261
panic(err)
262262
}
@@ -287,7 +287,7 @@ func TestDeleteShouldFailOnNot2XX(t *testing.T) {
287287
defer httpmock.Reset()
288288
baseUrl := "http://baseUrl"
289289
token := "aToken"
290-
client, err := Make(token, baseUrl, false, "", "", false)
290+
client, err := Make(token, baseUrl, false, "", "", "", false)
291291
if err != nil {
292292
panic(err)
293293
}

‎cmd/root.go‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ var rootCmd = &cobra.Command{
2525
Use: "conduktor",
2626
Short: "Command line tools for conduktor",
2727
Long: `You need to define the CDK_TOKEN and CDK_BASE_URL environment variables to use this tool.
28-
You can also use the CDK_KEY,CDK_CERT to use a certificate for tls authentication.
29-
If you have an untrusted certificate you can use the CDK_INSECURE=true variable to disable tls verification`,
28+
You can also use the CDK_KEY,CDK_CERT, CDK_CACERT to use a certificate for tls authentication.
29+
If you have an untrusted certificate you can use the CDK_INSECURE=true variable to disable tls verification or set CDK_CACERT`,
3030
PersistentPreRun: func(cmd *cobra.Command, args []string) {
3131
if *debug {
3232
apiClient().ActivateDebug()

0 commit comments

Comments
 (0)