Skip to content

Commit

Permalink
Put TLS config in seperate Go package.
Browse files Browse the repository at this point in the history
  • Loading branch information
andrejvanderzee committed Mar 6, 2019
1 parent 778df68 commit 4291908
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 32 deletions.
18 changes: 2 additions & 16 deletions tools/kafka-console-consumer/kafka-console-consumer.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package main

import (
"crypto/tls"
"flag"
"fmt"
"log"
Expand All @@ -12,6 +11,7 @@ import (
"sync"

"github.com/Shopify/sarama"
"github.com/Shopify/sarama/tools/tls"
)

var (
Expand Down Expand Up @@ -57,7 +57,7 @@ func main() {

config := sarama.NewConfig()
if *tlsEnabled {
tlsConfig, err := newTLSConfig(*tlsClientCert, *tlsClientKey)
tlsConfig, err := tls.NewConfig(*tlsClientCert, *tlsClientKey)
if err != nil {
printErrorAndExit(69, "Failed to create TLS config: %s", err)
}
Expand Down Expand Up @@ -161,17 +161,3 @@ func printUsageErrorAndExit(format string, values ...interface{}) {
flag.PrintDefaults()
os.Exit(64)
}

func newTLSConfig(clientCert, clientKey string) (*tls.Config, error) {
tlsConfig := tls.Config{}

if clientCert != "" && clientKey != "" {
cert, err := tls.LoadX509KeyPair(clientCert, clientKey)
if err != nil {
return &tlsConfig, err
}
tlsConfig.Certificates = []tls.Certificate{cert}
}

return &tlsConfig, nil
}
18 changes: 2 additions & 16 deletions tools/kafka-console-producer/kafka-console-producer.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package main

import (
"crypto/tls"
"flag"
"fmt"
"io/ioutil"
Expand All @@ -10,6 +9,7 @@ import (
"strings"

"github.com/Shopify/sarama"
"github.com/Shopify/sarama/tools/tls"
"github.com/rcrowley/go-metrics"
)

Expand Down Expand Up @@ -51,7 +51,7 @@ func main() {
config.Producer.Return.Successes = true

if *tlsEnabled {
tlsConfig, err := newTLSConfig(*tlsClientCert, *tlsClientKey)
tlsConfig, err := tls.NewConfig(*tlsClientCert, *tlsClientKey)
if err != nil {
printErrorAndExit(69, "Failed to create TLS config: %s", err)
}
Expand Down Expand Up @@ -138,17 +138,3 @@ func stdinAvailable() bool {
stat, _ := os.Stdin.Stat()
return (stat.Mode() & os.ModeCharDevice) == 0
}

func newTLSConfig(clientCert, clientKey string) (*tls.Config, error) {
tlsConfig := tls.Config{}

if clientCert != "" && clientKey != "" {
cert, err := tls.LoadX509KeyPair(clientCert, clientKey)
if err != nil {
return &tlsConfig, err
}
tlsConfig.Certificates = []tls.Certificate{cert}
}

return &tlsConfig, nil
}
17 changes: 17 additions & 0 deletions tools/tls/config.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package tls

import "crypto/tls"

func NewConfig(clientCert, clientKey string) (*tls.Config, error) {
tlsConfig := tls.Config{}

if clientCert != "" && clientKey != "" {
cert, err := tls.LoadX509KeyPair(clientCert, clientKey)
if err != nil {
return &tlsConfig, err
}
tlsConfig.Certificates = []tls.Certificate{cert}
}

return &tlsConfig, nil
}

0 comments on commit 4291908

Please sign in to comment.