Skip to content

Commit

Permalink
Restore secure option to control tls in nats_consumer
Browse files Browse the repository at this point in the history
  • Loading branch information
danielnelson committed Aug 2, 2019
1 parent be7abd9 commit ffe9494
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 14 deletions.
3 changes: 3 additions & 0 deletions plugins/inputs/nats_consumer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ instances of telegraf can read from a NATS cluster in parallel.
# username = ""
# password = ""

## Use Transport Layer Security
# secure = false

## Optional TLS Config
# tls_ca = "/etc/telegraf/ca.pem"
# tls_cert = "/etc/telegraf/cert.pem"
Expand Down
25 changes: 11 additions & 14 deletions plugins/inputs/nats_consumer/nats_consumer.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,10 @@ type natsConsumer struct {
QueueGroup string `toml:"queue_group"`
Subjects []string `toml:"subjects"`
Servers []string `toml:"servers"`
Secure bool `toml:"secure"`
Username string `toml:"username"`
Password string `toml:"password"`
tls.ClientConfig
// Legacy; Should be deprecated
Secure bool `toml:"secure"`

// Client pending limits:
PendingMessageLimit int `toml:"pending_message_limit"`
Expand All @@ -66,8 +65,7 @@ type natsConsumer struct {
var sampleConfig = `
## urls of NATS servers
servers = ["nats://localhost:4222"]
## Deprecated: Use Transport Layer Security
secure = false
## subject(s) to consume
subjects = ["telegraf"]
## name a queue group
Expand All @@ -77,6 +75,9 @@ var sampleConfig = `
# username = ""
# password = ""
## Use Transport Layer Security
# secure = false
## Optional TLS Config
# tls_ca = "/etc/telegraf/ca.pem"
# tls_cert = "/etc/telegraf/cert.pem"
Expand Down Expand Up @@ -147,18 +148,14 @@ func (n *natsConsumer) Start(acc telegraf.Accumulator) error {
opts.Password = n.Password
}

// override TLS, if it was specified
tlsConfig, err := n.ClientConfig.TLSConfig()
if err != nil {
return err
}
if tlsConfig != nil {
// set NATS connection TLS options
if n.Secure {
tlsConfig, err := n.ClientConfig.TLSConfig()
if err != nil {
return err
}

opts.Secure = true
opts.TLSConfig = tlsConfig
} else {
// should be deprecated; use TLS
opts.Secure = n.Secure
}

if n.conn == nil || n.conn.IsClosed() {
Expand Down

0 comments on commit ffe9494

Please sign in to comment.