Skip to content

Commit

Permalink
feat: add tls support to konnect client
Browse files Browse the repository at this point in the history
  • Loading branch information
GGabriele committed Jan 31, 2024
1 parent da7aa1d commit 7094cba
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 10 deletions.
1 change: 1 addition & 0 deletions cmd/common_konnect.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ func GetKongClientForKonnectMode(
var konnectClient *konnect.Client
var konnectAddress string
// get Konnect client
konnectConfig.TLSConfig = rootConfig.TLSConfig
konnectClient, err = utils.GetKonnectClient(httpClient, *konnectConfig)
if err != nil {
return nil, err
Expand Down
1 change: 1 addition & 0 deletions cmd/gateway_ping.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ func pingKonnect(ctx context.Context) error {
if err != nil {
return err
}
konnectConfig.TLSConfig = rootConfig.TLSConfig
konnectClient, err := utils.GetKonnectClient(httpClient, konnectConfig)
if err != nil {
return err
Expand Down
24 changes: 17 additions & 7 deletions cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -312,9 +312,11 @@ func initConfig() {
}

rootConfig.Address = viper.GetString("kong-addr")
rootConfig.TLSServerName = viper.GetString("tls-server-name")
rootConfig.TLSSkipVerify = viper.GetBool("tls-skip-verify")
rootConfig.TLSCACert = caCertContent

tlsServerName := viper.GetString("tls-server-name")
tlsSkipVerify := viper.GetBool("tls-skip-verify")
tlsCACert := caCertContent

rootConfig.Headers = extendHeaders(viper.GetStringSlice("headers"))
rootConfig.SkipWorkspaceCrud = viper.GetBool("skip-workspace-crud")
rootConfig.Debug = (viper.GetInt("verbose") >= 1)
Expand All @@ -334,7 +336,7 @@ func initConfig() {
clientCertContent = strings.TrimRight(clientCertContent, "\n")
}
}
rootConfig.TLSClientCert = clientCertContent
tlsClientCert := clientCertContent

clientKeyContent := viper.GetString("tls-client-key")

Expand All @@ -350,15 +352,23 @@ func initConfig() {
clientKeyContent = strings.TrimRight(clientKeyContent, "\n")
}
}
rootConfig.TLSClientKey = clientKeyContent
tlsClientKey := clientKeyContent

if (rootConfig.TLSClientKey == "" && rootConfig.TLSClientCert != "") ||
(rootConfig.TLSClientKey != "" && rootConfig.TLSClientCert == "") {
if (tlsClientKey == "" && tlsClientCert != "") ||
(tlsClientKey != "" && tlsClientCert == "") {
fmt.Printf("tls-client-cert and tls-client-key / tls-client-cert-file and tls-client-key-file " +
"must be used in conjunction but only one was provided")
os.Exit(1)
}

rootConfig.TLSConfig = utils.TLSConfig{
ServerName: tlsServerName,
SkipVerify: tlsSkipVerify,
CACert: tlsCACert,
ClientCert: tlsClientCert,
ClientKey: tlsClientKey,
}

// cookie-jar support
rootConfig.CookieJarPath = viper.GetString("kong-cookie-jar-path")

Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ require (
github.com/fatih/color v1.15.0
github.com/google/go-cmp v0.6.0
github.com/kong/go-apiops v0.1.29
github.com/kong/go-database-reconciler v1.4.0
github.com/kong/go-database-reconciler v1.4.1-0.20240129211219-2e02a4fdd558
github.com/kong/go-kong v0.51.1-0.20240125175037-0c077f5b9ac7
github.com/mitchellh/go-homedir v1.1.0
github.com/spf13/cobra v1.8.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -182,8 +182,8 @@ github.com/klauspost/cpuid/v2 v2.2.3 h1:sxCkb+qR91z4vsqw4vGGZlDgPz3G7gjaLyK3V8y7
github.com/klauspost/cpuid/v2 v2.2.3/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
github.com/kong/go-apiops v0.1.29 h1:c+AB8MmGIr+K01Afm4GB2xaOmJnD/8KWMJQkr9qssnc=
github.com/kong/go-apiops v0.1.29/go.mod h1:ZNdiTZyVrAssB4wjEYWV7BfpcV9UME9LxnDDZhMPuNU=
github.com/kong/go-database-reconciler v1.4.0 h1:JlKLXUTqdq2vYABJMTiq5h3RJsn7J4EeW+wTA2ojYYk=
github.com/kong/go-database-reconciler v1.4.0/go.mod h1:Q4WgHd6b9oDid+EG8sXhArmL7R/wpA0A/8tI9w37BxU=
github.com/kong/go-database-reconciler v1.4.1-0.20240129211219-2e02a4fdd558 h1:DOCcq/LCoAPcTs1PaxaoCYdJtXi1TmDkNF1NHOePRAI=
github.com/kong/go-database-reconciler v1.4.1-0.20240129211219-2e02a4fdd558/go.mod h1:Q4WgHd6b9oDid+EG8sXhArmL7R/wpA0A/8tI9w37BxU=
github.com/kong/go-kong v0.51.1-0.20240125175037-0c077f5b9ac7 h1:/iV93Gwv410lIeJx8VCfCA4fpuvSuTw2LqZpDXsIE9Q=
github.com/kong/go-kong v0.51.1-0.20240125175037-0c077f5b9ac7/go.mod h1:YNkLvjxfOqS+BZ1J2YWOy/83wc26JM5QJbAukoeg1sY=
github.com/kong/go-slugify v1.0.0 h1:vCFAyf2sdoSlBtLcrmDWUFn0ohlpKiKvQfXZkO5vSKY=
Expand Down

0 comments on commit 7094cba

Please sign in to comment.