@@ -20,6 +20,7 @@ import (
2020
2121var version string = "development"
2222var debug bool = false
23+ var secure bool = false
2324var arraytokens config.FlashArrayList
2425
2526func fileExists (args []string ) error {
@@ -41,9 +42,10 @@ func main() {
4142 host := parser .String ("a" , "address" , & argparse.Options {Required : false , Help : "IP address for this exporter to bind to" , Default : "0.0.0.0" })
4243 port := parser .Int ("p" , "port" , & argparse.Options {Required : false , Help : "Port for this exporter to listen" , Default : 9490 })
4344 d := parser .Flag ("d" , "debug" , & argparse.Options {Required : false , Help : "Enable debug" , Default : false })
45+ s := parser .Flag ("s" , "secure" , & argparse.Options {Required : false , Help : "Enable TLS verification when connecting to array" , Default : false })
4446 at := parser .File ("t" , "tokens" , os .O_RDONLY , 0600 , & argparse.Options {Required : false , Validate : fileExists , Help : "API token(s) map file" })
45- cert := parser .String ("c" , "cert" , & argparse.Options {Required : false , Help : "SSL/TLS certificate file. Required only for TLS" })
46- key := parser .String ("k" , "key" , & argparse.Options {Required : false , Help : "SSL/TLS private key file. Required only for TLS" })
47+ cert := parser .String ("c" , "cert" , & argparse.Options {Required : false , Help : "SSL/TLS certificate file. Required only for Exporter TLS" })
48+ key := parser .String ("k" , "key" , & argparse.Options {Required : false , Help : "SSL/TLS private key file. Required only for Exporter TLS" })
4749 err := parser .Parse (os .Args )
4850 if err != nil {
4951 log .Fatalf ("Error in token file: %v" , err )
@@ -81,6 +83,7 @@ func main() {
8183 }
8284 }
8385 debug = * d
86+ secure = * s
8487 addr := fmt .Sprintf ("%s:%d" , * host , * port )
8588 log .Printf ("Start Pure FlashArray exporter %s on %s" , version , addr )
8689
@@ -159,7 +162,7 @@ func metricsHandler(w http.ResponseWriter, r *http.Request) {
159162 rid := r .Header .Get ("X-Request-ID" )
160163
161164 registry := prometheus .NewRegistry ()
162- faclient := client .NewRestClient (address , apitoken , apiver , uagent , rid , debug )
165+ faclient := client .NewRestClient (address , apitoken , apiver , uagent , rid , debug , secure )
163166 if faclient .Error != nil {
164167 log .Printf ("[ERROR] %s %s %s %s FACLIENT ERROR: %s\n " , r .RemoteAddr , r .Method , r .URL , r .Header .Get ("User-Agent" ), faclient .Error .Error ())
165168 http .Error (w , faclient .Error .Error (), http .StatusBadRequest )
0 commit comments