package main import ( "fmt" elastic "github.com/olivere/elastic/v7" "os" ) func ClientFromConfig(cfg ElasticConfiguration) *elastic.Client { opts := []elastic.ClientOptionFunc{ elastic.SetURL(cfg.URL), elastic.SetSniff(false), elastic.SetGzip(true), } if cfg.User != "" && cfg.Pass != "" { opts = append(opts, elastic.SetBasicAuth( cfg.User, cfg.Pass, )) } es, err := elastic.NewClient(opts...) if err != nil { fmt.Fprintf(os.Stderr, "Elastic connection error: %s\n", err.Error()) os.Exit(1) } return es }