From 42a53e37d4ae285dfaa41f0b808390653e41757b Mon Sep 17 00:00:00 2001 From: Mario Rodriguez Molins Date: Mon, 21 Aug 2023 16:02:04 +0200 Subject: [PATCH 1/4] Create elasticsearch client in stack --- cmd/benchmark.go | 6 ++--- cmd/dump.go | 3 ++- cmd/testrunner.go | 4 ++-- internal/dump/installedobjects_test.go | 4 ++-- internal/elasticsearch/client.go | 30 +++++++++++++------------ internal/elasticsearch/error.go | 3 +++ internal/elasticsearch/test/httptest.go | 5 +++-- internal/stack/clients.go | 26 +++++++++++++++++++++ 8 files changed, 57 insertions(+), 24 deletions(-) create mode 100644 internal/stack/clients.go diff --git a/cmd/benchmark.go b/cmd/benchmark.go index 2e14384fdf..1f80f7436e 100644 --- a/cmd/benchmark.go +++ b/cmd/benchmark.go @@ -15,6 +15,7 @@ import ( "github.com/elastic/elastic-package/internal/corpusgenerator" "github.com/elastic/elastic-package/internal/install" "github.com/elastic/elastic-package/internal/kibana" + "github.com/elastic/elastic-package/internal/stack" "github.com/spf13/cobra" @@ -25,7 +26,6 @@ import ( "github.com/elastic/elastic-package/internal/benchrunner/runners/system" "github.com/elastic/elastic-package/internal/cobraext" "github.com/elastic/elastic-package/internal/common" - "github.com/elastic/elastic-package/internal/elasticsearch" "github.com/elastic/elastic-package/internal/packages" "github.com/elastic/elastic-package/internal/signal" "github.com/elastic/elastic-package/internal/testrunner" @@ -161,7 +161,7 @@ func pipelineCommandAction(cmd *cobra.Command, args []string) error { return errors.New("no pipeline benchmarks found") } - esClient, err := elasticsearch.NewClient() + esClient, err := stack.NewElasticsearchClient() if err != nil { return fmt.Errorf("can't create Elasticsearch client: %w", err) } @@ -258,7 +258,7 @@ func systemCommandAction(cmd *cobra.Command, args []string) error { signal.Enable() - esClient, err := elasticsearch.NewClient() + esClient, err := stack.NewElasticsearchClient() if err != nil { return fmt.Errorf("can't create Elasticsearch client: %w", err) } diff --git a/cmd/dump.go b/cmd/dump.go index 939b52170b..6768f0f750 100644 --- a/cmd/dump.go +++ b/cmd/dump.go @@ -13,6 +13,7 @@ import ( "github.com/elastic/elastic-package/internal/dump" "github.com/elastic/elastic-package/internal/elasticsearch" "github.com/elastic/elastic-package/internal/kibana" + "github.com/elastic/elastic-package/internal/stack" ) const dumpLongDescription = `Use this command as an exploratory tool to dump resources from Elastic Stack (objects installed as part of package and agent policies).` @@ -79,7 +80,7 @@ func dumpInstalledObjectsCmdAction(cmd *cobra.Command, args []string) error { if tlsSkipVerify { clientOptions = append(clientOptions, elasticsearch.OptionWithSkipTLSVerify()) } - client, err := elasticsearch.NewClient(clientOptions...) + client, err := stack.NewElasticsearchClient(clientOptions...) if err != nil { return fmt.Errorf("failed to initialize Elasticsearch client: %w", err) } diff --git a/cmd/testrunner.go b/cmd/testrunner.go index 3880fe4fd1..73c33c7cb5 100644 --- a/cmd/testrunner.go +++ b/cmd/testrunner.go @@ -15,10 +15,10 @@ import ( "github.com/elastic/elastic-package/internal/cobraext" "github.com/elastic/elastic-package/internal/common" - "github.com/elastic/elastic-package/internal/elasticsearch" "github.com/elastic/elastic-package/internal/install" "github.com/elastic/elastic-package/internal/packages" "github.com/elastic/elastic-package/internal/signal" + "github.com/elastic/elastic-package/internal/stack" "github.com/elastic/elastic-package/internal/testrunner" "github.com/elastic/elastic-package/internal/testrunner/reporters/formats" "github.com/elastic/elastic-package/internal/testrunner/reporters/outputs" @@ -214,7 +214,7 @@ func testTypeCommandActionFactory(runner testrunner.TestRunner) cobraext.Command return err } - esClient, err := elasticsearch.NewClient() + esClient, err := stack.NewElasticsearchClient() if err != nil { return fmt.Errorf("can't create Elasticsearch client: %w", err) } diff --git a/internal/dump/installedobjects_test.go b/internal/dump/installedobjects_test.go index d83d5a0df4..fd6e62b4ef 100644 --- a/internal/dump/installedobjects_test.go +++ b/internal/dump/installedobjects_test.go @@ -17,9 +17,9 @@ import ( "github.com/stretchr/testify/require" "github.com/stretchr/testify/suite" - "github.com/elastic/elastic-package/internal/elasticsearch" estest "github.com/elastic/elastic-package/internal/elasticsearch/test" "github.com/elastic/elastic-package/internal/files" + "github.com/elastic/elastic-package/internal/stack" ) func TestDumpInstalledObjects(t *testing.T) { @@ -64,7 +64,7 @@ type installedObjectsDumpSuite struct { func (s *installedObjectsDumpSuite) SetupTest() { _, err := os.Stat(s.DumpDir) if errors.Is(err, os.ErrNotExist) { - client, err := elasticsearch.NewClient() + client, err := stack.NewElasticsearchClient() s.Require().NoError(err) dumper := NewInstalledObjectsDumper(client.API, s.PackageName) diff --git a/internal/elasticsearch/client.go b/internal/elasticsearch/client.go index 4b6a8ae070..ba43aa33e4 100644 --- a/internal/elasticsearch/client.go +++ b/internal/elasticsearch/client.go @@ -12,14 +12,12 @@ import ( "fmt" "io" "net/http" - "os" "strings" "github.com/elastic/go-elasticsearch/v7" "github.com/elastic/go-elasticsearch/v7/esapi" "github.com/elastic/elastic-package/internal/certs" - "github.com/elastic/elastic-package/internal/stack" ) // API contains the elasticsearch APIs @@ -47,16 +45,6 @@ type clientOptions struct { skipTLSVerify bool } -// defaultOptionsFromEnv returns clientOptions initialized with values from environmet variables. -func defaultOptionsFromEnv() clientOptions { - return clientOptions{ - address: os.Getenv(stack.ElasticsearchHostEnv), - username: os.Getenv(stack.ElasticsearchUsernameEnv), - password: os.Getenv(stack.ElasticsearchPasswordEnv), - certificateAuthority: os.Getenv(stack.CACertificateEnv), - } -} - type ClientOption func(*clientOptions) // OptionWithAddress sets the address to be used by the client. @@ -66,6 +54,20 @@ func OptionWithAddress(address string) ClientOption { } } +// OptionWithUsername sets the username to be used by the client. +func OptionWithUsername(username string) ClientOption { + return func(opts *clientOptions) { + opts.username = username + } +} + +// OptionWithPassword sets the password to be used by the client. +func OptionWithPassword(password string) ClientOption { + return func(opts *clientOptions) { + opts.password = password + } +} + // OptionWithCertificateAuthority sets the certificate authority to be used by the client. func OptionWithCertificateAuthority(certificateAuthority string) ClientOption { return func(opts *clientOptions) { @@ -87,13 +89,13 @@ type Client struct { // NewClient method creates new instance of the Elasticsearch client. func NewClient(customOptions ...ClientOption) (*Client, error) { - options := defaultOptionsFromEnv() + options := clientOptions{} for _, option := range customOptions { option(&options) } if options.address == "" { - return nil, stack.UndefinedEnvError(stack.ElasticsearchHostEnv) + return nil, ErrUndefinedAddress } config := elasticsearch.Config{ diff --git a/internal/elasticsearch/error.go b/internal/elasticsearch/error.go index fb717f300b..0385fdfc6b 100644 --- a/internal/elasticsearch/error.go +++ b/internal/elasticsearch/error.go @@ -7,6 +7,7 @@ package elasticsearch import ( "bytes" "encoding/json" + "errors" "fmt" ) @@ -74,3 +75,5 @@ func NewError(body []byte) error { // Fall back to including to raw body if it cannot be parsed. return fmt.Errorf("elasticsearch error: %v", string(body)) } + +var ErrUndefinedAddress = errors.New("missing elasticsearch address") diff --git a/internal/elasticsearch/test/httptest.go b/internal/elasticsearch/test/httptest.go index 486e683276..fffa49de05 100644 --- a/internal/elasticsearch/test/httptest.go +++ b/internal/elasticsearch/test/httptest.go @@ -16,6 +16,7 @@ import ( "github.com/stretchr/testify/require" "github.com/elastic/elastic-package/internal/elasticsearch" + "github.com/elastic/elastic-package/internal/stack" ) // NewClient returns a client for a testing http server that uses prerecorded @@ -26,7 +27,7 @@ func NewClient(t *testing.T, serverDataDir string) *elasticsearch.Client { server := testElasticsearchServer(t, serverDataDir) t.Cleanup(func() { server.Close() }) - client, err := elasticsearch.NewClient( + client, err := stack.NewElasticsearchClient( elasticsearch.OptionWithAddress(server.URL), ) require.NoError(t, err) @@ -56,7 +57,7 @@ func pathForURL(url string) string { } func recordRequest(t *testing.T, r *http.Request, path string) { - client, err := elasticsearch.NewClient() + client, err := stack.NewElasticsearchClient() require.NoError(t, err) t.Logf("Recording %s in %s", r.URL.Path, path) diff --git a/internal/stack/clients.go b/internal/stack/clients.go new file mode 100644 index 0000000000..0cadcb0b6a --- /dev/null +++ b/internal/stack/clients.go @@ -0,0 +1,26 @@ +package stack + +import ( + "errors" + "os" + + "github.com/elastic/elastic-package/internal/elasticsearch" +) + +func NewElasticsearchClient(customOptions ...elasticsearch.ClientOption) (*elasticsearch.Client, error) { + + options := []elasticsearch.ClientOption{ + elasticsearch.OptionWithAddress(os.Getenv(ElasticsearchHostEnv)), + elasticsearch.OptionWithPassword(os.Getenv(ElasticsearchPasswordEnv)), + elasticsearch.OptionWithUsername(os.Getenv(ElasticsearchUsernameEnv)), + elasticsearch.OptionWithCertificateAuthority(os.Getenv(CACertificateEnv)), + } + options = append(options, customOptions...) + client, err := elasticsearch.NewClient(options...) + + if errors.Is(err, elasticsearch.ErrUndefinedAddress) { + return nil, UndefinedEnvError(ElasticsearchHostEnv) + } + + return client, err +} From d91a5397f4c6ec718b5f77c861250f356a17ccc3 Mon Sep 17 00:00:00 2001 From: Mario Rodriguez Molins Date: Mon, 21 Aug 2023 16:59:35 +0200 Subject: [PATCH 2/4] Create kibana client in stack --- cmd/benchmark.go | 3 +- cmd/dump.go | 2 +- cmd/export.go | 3 +- cmd/install.go | 4 +-- cmd/uninstall.go | 4 +-- internal/dump/agentpolicies_test.go | 7 ++-- internal/kibana/client.go | 34 +++++++++++-------- internal/stack/clients.go | 18 ++++++++++ internal/testrunner/runners/asset/runner.go | 4 +-- internal/testrunner/runners/system/runner.go | 2 +- .../system/servicedeployer/custom_agent.go | 3 +- .../system/servicedeployer/kubernetes.go | 3 +- 12 files changed, 54 insertions(+), 33 deletions(-) diff --git a/cmd/benchmark.go b/cmd/benchmark.go index 1f80f7436e..065295e8ff 100644 --- a/cmd/benchmark.go +++ b/cmd/benchmark.go @@ -14,7 +14,6 @@ import ( "github.com/elastic/elastic-package/internal/corpusgenerator" "github.com/elastic/elastic-package/internal/install" - "github.com/elastic/elastic-package/internal/kibana" "github.com/elastic/elastic-package/internal/stack" "github.com/spf13/cobra" @@ -267,7 +266,7 @@ func systemCommandAction(cmd *cobra.Command, args []string) error { return err } - kc, err := kibana.NewClient() + kc, err := stack.NewKibanaClient() if err != nil { return fmt.Errorf("can't create Kibana client: %w", err) } diff --git a/cmd/dump.go b/cmd/dump.go index 6768f0f750..40ef778767 100644 --- a/cmd/dump.go +++ b/cmd/dump.go @@ -120,7 +120,7 @@ func dumpAgentPoliciesCmdAction(cmd *cobra.Command, args []string) error { if tlsSkipVerify { clientOptions = append(clientOptions, kibana.TLSSkipVerify()) } - kibanaClient, err := kibana.NewClient(clientOptions...) + kibanaClient, err := stack.NewKibanaClient(clientOptions...) if err != nil { return fmt.Errorf("failed to initialize Kibana client: %w", err) } diff --git a/cmd/export.go b/cmd/export.go index b72bb8a1c1..19ee8d009d 100644 --- a/cmd/export.go +++ b/cmd/export.go @@ -15,6 +15,7 @@ import ( "github.com/elastic/elastic-package/internal/common" "github.com/elastic/elastic-package/internal/export" "github.com/elastic/elastic-package/internal/kibana" + "github.com/elastic/elastic-package/internal/stack" ) const exportLongDescription = `Use this command to export assets relevant for the package, e.g. Kibana dashboards.` @@ -65,7 +66,7 @@ func exportDashboardsCmd(cmd *cobra.Command, args []string) error { return cobraext.FlagParsingError(err, cobraext.AllowSnapshotFlagName) } - kibanaClient, err := kibana.NewClient(opts...) + kibanaClient, err := stack.NewKibanaClient(opts...) if err != nil { return fmt.Errorf("can't create Kibana client: %w", err) } diff --git a/cmd/install.go b/cmd/install.go index ddfbf370b4..d826270d99 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -11,9 +11,9 @@ import ( "github.com/spf13/cobra" "github.com/elastic/elastic-package/internal/cobraext" - "github.com/elastic/elastic-package/internal/kibana" "github.com/elastic/elastic-package/internal/packages" "github.com/elastic/elastic-package/internal/packages/installer" + "github.com/elastic/elastic-package/internal/stack" ) const installLongDescription = `Use this command to install the package in Kibana. @@ -49,7 +49,7 @@ func installCommandAction(cmd *cobra.Command, _ []string) error { return cobraext.FlagParsingError(err, cobraext.BuildSkipValidationFlagName) } - kibanaClient, err := kibana.NewClient() + kibanaClient, err := stack.NewKibanaClient() if err != nil { return fmt.Errorf("could not create kibana client: %w", err) } diff --git a/cmd/uninstall.go b/cmd/uninstall.go index 4d3a5b0d59..b9736931ff 100644 --- a/cmd/uninstall.go +++ b/cmd/uninstall.go @@ -11,9 +11,9 @@ import ( "github.com/spf13/cobra" "github.com/elastic/elastic-package/internal/cobraext" - "github.com/elastic/elastic-package/internal/kibana" "github.com/elastic/elastic-package/internal/packages" "github.com/elastic/elastic-package/internal/packages/installer" + "github.com/elastic/elastic-package/internal/stack" ) const uninstallLongDescription = `Use this command to uninstall the package in Kibana. @@ -40,7 +40,7 @@ func uninstallCommandAction(cmd *cobra.Command, args []string) error { return fmt.Errorf("locating package root failed: %w", err) } - kibanaClient, err := kibana.NewClient() + kibanaClient, err := stack.NewKibanaClient() if err != nil { return fmt.Errorf("could not create kibana client: %w", err) } diff --git a/internal/dump/agentpolicies_test.go b/internal/dump/agentpolicies_test.go index d60f105abe..681fb74a6a 100644 --- a/internal/dump/agentpolicies_test.go +++ b/internal/dump/agentpolicies_test.go @@ -13,6 +13,7 @@ import ( "github.com/stretchr/testify/suite" "github.com/elastic/elastic-package/internal/kibana" + "github.com/elastic/elastic-package/internal/stack" ) func TestDumpAgentPolicies(t *testing.T) { @@ -72,7 +73,7 @@ type agentPoliciesDumpSuite struct { func (s *agentPoliciesDumpSuite) SetupTest() { _, err := os.Stat(s.DumpDirAll) if errors.Is(err, os.ErrNotExist) { - client, err := kibana.NewClient() + client, err := stack.NewKibanaClient() s.Require().NoError(err) dumper := NewAgentPoliciesDumper(client) @@ -85,7 +86,7 @@ func (s *agentPoliciesDumpSuite) SetupTest() { _, err = os.Stat(s.DumpDirPackage) if errors.Is(err, os.ErrNotExist) { - client, err := kibana.NewClient() + client, err := stack.NewKibanaClient() s.Require().NoError(err) dumper := NewAgentPoliciesDumper(client) @@ -98,7 +99,7 @@ func (s *agentPoliciesDumpSuite) SetupTest() { _, err = os.Stat(s.DumpDirAgentPolicy) if errors.Is(err, os.ErrNotExist) { - client, err := kibana.NewClient() + client, err := stack.NewKibanaClient() s.Require().NoError(err) dumper := NewAgentPoliciesDumper(client) diff --git a/internal/kibana/client.go b/internal/kibana/client.go index f47d9d599d..beb292a332 100644 --- a/internal/kibana/client.go +++ b/internal/kibana/client.go @@ -7,18 +7,19 @@ package kibana import ( "bytes" "crypto/tls" + "errors" "fmt" "io" "net/http" "net/url" - "os" "github.com/elastic/elastic-package/internal/certs" "github.com/elastic/elastic-package/internal/install" "github.com/elastic/elastic-package/internal/logger" - "github.com/elastic/elastic-package/internal/stack" ) +var ErrUndefinedHost = errors.New("missing kibana host") + // Client is responsible for exporting dashboards from Kibana. type Client struct { host string @@ -34,24 +35,13 @@ type ClientOption func(*Client) // NewClient creates a new instance of the client. func NewClient(opts ...ClientOption) (*Client, error) { - host := os.Getenv(stack.KibanaHostEnv) - username := os.Getenv(stack.ElasticsearchUsernameEnv) - password := os.Getenv(stack.ElasticsearchPasswordEnv) - certificateAuthority := os.Getenv(stack.CACertificateEnv) - - c := &Client{ - host: host, - username: username, - password: password, - certificateAuthority: certificateAuthority, - } - + c := &Client{} for _, opt := range opts { opt(c) } if c.host == "" { - return nil, stack.UndefinedEnvError(stack.KibanaHostEnv) + return nil, ErrUndefinedHost } return c, nil @@ -71,6 +61,20 @@ func TLSSkipVerify() ClientOption { } } +// Username option sets the username to be used by the client. +func Username(username string) ClientOption { + return func(c *Client) { + c.username = username + } +} + +// Password option sets the password to be used by the client. +func Password(password string) ClientOption { + return func(c *Client) { + c.password = password + } +} + // CertificateAuthority sets the certificate authority to be used by the client. func CertificateAuthority(certificateAuthority string) ClientOption { return func(c *Client) { diff --git a/internal/stack/clients.go b/internal/stack/clients.go index 0cadcb0b6a..4b31d2cb84 100644 --- a/internal/stack/clients.go +++ b/internal/stack/clients.go @@ -5,6 +5,7 @@ import ( "os" "github.com/elastic/elastic-package/internal/elasticsearch" + "github.com/elastic/elastic-package/internal/kibana" ) func NewElasticsearchClient(customOptions ...elasticsearch.ClientOption) (*elasticsearch.Client, error) { @@ -24,3 +25,20 @@ func NewElasticsearchClient(customOptions ...elasticsearch.ClientOption) (*elast return client, err } + +func NewKibanaClient(customOptions ...kibana.ClientOption) (*kibana.Client, error) { + options := []kibana.ClientOption{ + kibana.Address(os.Getenv(KibanaHostEnv)), + kibana.Password(os.Getenv(ElasticsearchPasswordEnv)), + kibana.Username(os.Getenv(ElasticsearchUsernameEnv)), + kibana.CertificateAuthority(os.Getenv(CACertificateEnv)), + } + options = append(options, customOptions...) + client, err := kibana.NewClient(options...) + + if errors.Is(err, kibana.ErrUndefinedHost) { + return nil, UndefinedEnvError(ElasticsearchHostEnv) + } + + return client, err +} diff --git a/internal/testrunner/runners/asset/runner.go b/internal/testrunner/runners/asset/runner.go index bbb997d161..e218410a2b 100644 --- a/internal/testrunner/runners/asset/runner.go +++ b/internal/testrunner/runners/asset/runner.go @@ -8,10 +8,10 @@ import ( "fmt" "strings" - "github.com/elastic/elastic-package/internal/kibana" "github.com/elastic/elastic-package/internal/logger" "github.com/elastic/elastic-package/internal/packages" "github.com/elastic/elastic-package/internal/packages/installer" + "github.com/elastic/elastic-package/internal/stack" "github.com/elastic/elastic-package/internal/testrunner" ) @@ -76,7 +76,7 @@ func (r *runner) run() ([]testrunner.TestResult, error) { } logger.Debug("installing package...") - kibanaClient, err := kibana.NewClient() + kibanaClient, err := stack.NewKibanaClient() if err != nil { return result.WithError(fmt.Errorf("could not create kibana client: %w", err)) } diff --git a/internal/testrunner/runners/system/runner.go b/internal/testrunner/runners/system/runner.go index ab5359f7ac..915f530f0e 100644 --- a/internal/testrunner/runners/system/runner.go +++ b/internal/testrunner/runners/system/runner.go @@ -479,7 +479,7 @@ func (r *runner) runTest(config *testConfig, ctxt servicedeployer.ServiceContext return result.WithError(fmt.Errorf("unable to reload system test case configuration: %w", err)) } - kib, err := kibana.NewClient() + kib, err := stack.NewKibanaClient() if err != nil { return result.WithError(fmt.Errorf("can't create Kibana client: %w", err)) } diff --git a/internal/testrunner/runners/system/servicedeployer/custom_agent.go b/internal/testrunner/runners/system/servicedeployer/custom_agent.go index 42563745b9..41841c672a 100644 --- a/internal/testrunner/runners/system/servicedeployer/custom_agent.go +++ b/internal/testrunner/runners/system/servicedeployer/custom_agent.go @@ -15,7 +15,6 @@ import ( "github.com/elastic/elastic-package/internal/docker" "github.com/elastic/elastic-package/internal/files" "github.com/elastic/elastic-package/internal/install" - "github.com/elastic/elastic-package/internal/kibana" "github.com/elastic/elastic-package/internal/logger" "github.com/elastic/elastic-package/internal/profile" "github.com/elastic/elastic-package/internal/stack" @@ -54,7 +53,7 @@ func (d *CustomAgentDeployer) SetUp(inCtxt ServiceContext) (DeployedService, err return nil, fmt.Errorf("can't read application configuration: %w", err) } - kibanaClient, err := kibana.NewClient() + kibanaClient, err := stack.NewKibanaClient() if err != nil { return nil, fmt.Errorf("can't create Kibana client: %w", err) } diff --git a/internal/testrunner/runners/system/servicedeployer/kubernetes.go b/internal/testrunner/runners/system/servicedeployer/kubernetes.go index c2fe36d9e2..0c20bd9c32 100644 --- a/internal/testrunner/runners/system/servicedeployer/kubernetes.go +++ b/internal/testrunner/runners/system/servicedeployer/kubernetes.go @@ -16,7 +16,6 @@ import ( "text/template" "github.com/elastic/elastic-package/internal/install" - "github.com/elastic/elastic-package/internal/kibana" "github.com/elastic/elastic-package/internal/kind" "github.com/elastic/elastic-package/internal/kubectl" "github.com/elastic/elastic-package/internal/logger" @@ -149,7 +148,7 @@ func findKubernetesDefinitions(definitionsDir string) ([]string, error) { func installElasticAgentInCluster() error { logger.Debug("install Elastic Agent in the Kubernetes cluster") - kibanaClient, err := kibana.NewClient() + kibanaClient, err := stack.NewKibanaClient() if err != nil { return fmt.Errorf("can't create Kibana client: %w", err) } From 82a188fd7774cf6db690285e4ab02a759d59240b Mon Sep 17 00:00:00 2001 From: Mario Rodriguez Molins Date: Mon, 21 Aug 2023 17:22:08 +0200 Subject: [PATCH 3/4] Add license headers --- internal/stack/clients.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/stack/clients.go b/internal/stack/clients.go index 4b31d2cb84..0756c8b781 100644 --- a/internal/stack/clients.go +++ b/internal/stack/clients.go @@ -1,3 +1,7 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + package stack import ( From f27b30b93575e9a81a77c1e93fa18b90205ba81a Mon Sep 17 00:00:00 2001 From: Mario Rodriguez Molins Date: Mon, 21 Aug 2023 19:14:24 +0200 Subject: [PATCH 4/4] Apply suggestions from code review Co-authored-by: Jaime Soriano Pastor --- internal/elasticsearch/error.go | 2 +- internal/stack/clients.go | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/internal/elasticsearch/error.go b/internal/elasticsearch/error.go index 0385fdfc6b..3ad52c19f4 100644 --- a/internal/elasticsearch/error.go +++ b/internal/elasticsearch/error.go @@ -76,4 +76,4 @@ func NewError(body []byte) error { return fmt.Errorf("elasticsearch error: %v", string(body)) } -var ErrUndefinedAddress = errors.New("missing elasticsearch address") +var ErrUndefinedAddress = errors.New("missing Elasticsearch address") diff --git a/internal/stack/clients.go b/internal/stack/clients.go index 0756c8b781..447f8e3f24 100644 --- a/internal/stack/clients.go +++ b/internal/stack/clients.go @@ -13,7 +13,6 @@ import ( ) func NewElasticsearchClient(customOptions ...elasticsearch.ClientOption) (*elasticsearch.Client, error) { - options := []elasticsearch.ClientOption{ elasticsearch.OptionWithAddress(os.Getenv(ElasticsearchHostEnv)), elasticsearch.OptionWithPassword(os.Getenv(ElasticsearchPasswordEnv)),