From 2ad47f8615b656d1de649602ce4a252b372ee38f Mon Sep 17 00:00:00 2001 From: Michal Pristas Date: Tue, 23 Nov 2021 09:13:22 +0100 Subject: [PATCH] [Elastic-Agent] IUse itnernal port for local fleet server (#28993) [Elastic-Agent] IUse itnernal port for local fleet server (#28993) (cherry picked from commit 9b154ad3bc2d5cfa028392300072750f9ad1b8e1) --- x-pack/elastic-agent/pkg/agent/cmd/enroll.go | 2 + .../elastic-agent/pkg/agent/cmd/enroll_cmd.go | 37 +++++++++++++++---- .../pkg/agent/configuration/fleet_server.go | 13 ++++--- .../pkg/agent/program/supported.go | 2 +- x-pack/elastic-agent/spec/fleet-server.yml | 1 + 5 files changed, 40 insertions(+), 15 deletions(-) diff --git a/x-pack/elastic-agent/pkg/agent/cmd/enroll.go b/x-pack/elastic-agent/pkg/agent/cmd/enroll.go index a80a9abc22b..126161fa4c4 100644 --- a/x-pack/elastic-agent/pkg/agent/cmd/enroll.go +++ b/x-pack/elastic-agent/pkg/agent/cmd/enroll.go @@ -291,6 +291,7 @@ func enroll(streams *cli.IOStreams, cmd *cobra.Command, args []string) error { fPolicy, _ := cmd.Flags().GetString("fleet-server-policy") fHost, _ := cmd.Flags().GetString("fleet-server-host") fPort, _ := cmd.Flags().GetUint16("fleet-server-port") + fInternalPort, _ := cmd.Flags().GetUint16("fleet-server-internal-port") fCert, _ := cmd.Flags().GetString("fleet-server-cert") fCertKey, _ := cmd.Flags().GetString("fleet-server-cert-key") fInsecure, _ := cmd.Flags().GetBool("fleet-server-insecure-http") @@ -336,6 +337,7 @@ func enroll(streams *cli.IOStreams, cmd *cobra.Command, args []string) error { SpawnAgent: !fromInstall, Headers: mapFromEnvList(fHeaders), Timeout: fTimeout, + InternalPort: fInternalPort, }, } diff --git a/x-pack/elastic-agent/pkg/agent/cmd/enroll_cmd.go b/x-pack/elastic-agent/pkg/agent/cmd/enroll_cmd.go index 3a96a25330c..25365c9afe9 100644 --- a/x-pack/elastic-agent/pkg/agent/cmd/enroll_cmd.go +++ b/x-pack/elastic-agent/pkg/agent/cmd/enroll_cmd.go @@ -44,11 +44,13 @@ import ( ) const ( - maxRetriesstoreAgentInfo = 5 - waitingForAgent = "Waiting for Elastic Agent to start" - waitingForFleetServer = "Waiting for Elastic Agent to start Fleet Server" - defaultFleetServerHost = "0.0.0.0" - defaultFleetServerPort = 8220 + maxRetriesstoreAgentInfo = 5 + waitingForAgent = "Waiting for Elastic Agent to start" + waitingForFleetServer = "Waiting for Elastic Agent to start Fleet Server" + defaultFleetServerHost = "0.0.0.0" + defaultFleetServerPort = 8220 + defaultFleetServerInternalHost = "localhost" + defaultFleetServerInternalPort = 8221 ) var ( @@ -80,6 +82,7 @@ type enrollCmdFleetServerOption struct { PolicyID string Host string Port uint16 + InternalPort uint16 Cert string CertKey string Insecure bool @@ -91,6 +94,7 @@ type enrollCmdFleetServerOption struct { // enrollCmdOption define all the supported enrollment option. type enrollCmdOption struct { URL string `yaml:"url,omitempty"` + InternalURL string `yaml:"-"` CAs []string `yaml:"ca,omitempty"` CASha256 []string `yaml:"ca_sha256,omitempty"` Insecure bool `yaml:"insecure,omitempty"` @@ -306,7 +310,7 @@ func (c *enrollCmd) fleetServerBootstrap(ctx context.Context, persistentConfig m fleetConfig, err := createFleetServerBootstrapConfig( c.options.FleetServer.ConnStr, c.options.FleetServer.ServiceToken, c.options.FleetServer.PolicyID, - c.options.FleetServer.Host, c.options.FleetServer.Port, + c.options.FleetServer.Host, c.options.FleetServer.Port, c.options.FleetServer.InternalPort, c.options.FleetServer.Cert, c.options.FleetServer.CertKey, c.options.FleetServer.ElasticsearchCA, c.options.FleetServer.Headers, c.options.ProxyURL, @@ -401,6 +405,14 @@ func (c *enrollCmd) prepareFleetTLS() error { if c.options.URL == "" { return errors.New("url is required when a certificate is provided") } + + if c.options.FleetServer.InternalPort > 0 { + if c.options.FleetServer.InternalPort != defaultFleetServerInternalPort { + c.log.Warnf("Internal endpoint configured to: %d. Changing this value is not supported.", c.options.FleetServer.InternalPort) + } + c.options.InternalURL = fmt.Sprintf("%s:%d", defaultFleetServerInternalHost, c.options.FleetServer.InternalPort) + } + return nil } @@ -504,7 +516,7 @@ func (c *enrollCmd) enroll(ctx context.Context, persistentConfig map[string]inte serverConfig, err := createFleetServerBootstrapConfig( c.options.FleetServer.ConnStr, c.options.FleetServer.ServiceToken, c.options.FleetServer.PolicyID, - c.options.FleetServer.Host, c.options.FleetServer.Port, + c.options.FleetServer.Host, c.options.FleetServer.Port, c.options.FleetServer.InternalPort, c.options.FleetServer.Cert, c.options.FleetServer.CertKey, c.options.FleetServer.ElasticsearchCA, c.options.FleetServer.Headers, c.options.ProxyURL, c.options.ProxyDisabled, c.options.ProxyHeaders, @@ -516,6 +528,10 @@ func (c *enrollCmd) enroll(ctx context.Context, persistentConfig map[string]inte // no longer need bootstrap at this point serverConfig.Server.Bootstrap = false fleetConfig.Server = serverConfig.Server + // use internal URL for future requests + if c.options.InternalURL != "" { + fleetConfig.Client.Host = c.options.InternalURL + } } configToStore := map[string]interface{}{ @@ -836,7 +852,7 @@ func storeAgentInfo(s saver, reader io.Reader) error { func createFleetServerBootstrapConfig( connStr, serviceToken, policyID, host string, - port uint16, + port uint16, internalPort uint16, cert, key, esCA string, headers map[string]string, proxyURL string, @@ -865,6 +881,9 @@ func createFleetServerBootstrapConfig( if port == 0 { port = defaultFleetServerPort } + if internalPort == 0 { + internalPort = defaultFleetServerInternalPort + } if len(headers) > 0 { if es.Headers == nil { es.Headers = make(map[string]string) @@ -888,6 +907,7 @@ func createFleetServerBootstrapConfig( Host: host, Port: port, } + if policyID != "" { cfg.Server.Policy = &configuration.FleetServerPolicyConfig{ID: policyID} } @@ -905,6 +925,7 @@ func createFleetServerBootstrapConfig( if localFleetServer { cfg.Client.Transport.Proxy.Disable = true + cfg.Server.InternalPort = internalPort } if err := cfg.Valid(); err != nil { diff --git a/x-pack/elastic-agent/pkg/agent/configuration/fleet_server.go b/x-pack/elastic-agent/pkg/agent/configuration/fleet_server.go index 25298c6e2b5..425d899a55b 100644 --- a/x-pack/elastic-agent/pkg/agent/configuration/fleet_server.go +++ b/x-pack/elastic-agent/pkg/agent/configuration/fleet_server.go @@ -13,12 +13,13 @@ import ( // FleetServerConfig is the configuration written so Elastic Agent can run Fleet Server. type FleetServerConfig struct { - Bootstrap bool `config:"bootstrap" yaml:"bootstrap,omitempty"` - Policy *FleetServerPolicyConfig `config:"policy" yaml:"policy,omitempty"` - Output FleetServerOutputConfig `config:"output" yaml:"output,omitempty"` - Host string `config:"host" yaml:"host,omitempty"` - Port uint16 `config:"port" yaml:"port,omitempty"` - TLS *tlscommon.Config `config:"ssl" yaml:"ssl,omitempty"` + Bootstrap bool `config:"bootstrap" yaml:"bootstrap,omitempty"` + Policy *FleetServerPolicyConfig `config:"policy" yaml:"policy,omitempty"` + Output FleetServerOutputConfig `config:"output" yaml:"output,omitempty"` + Host string `config:"host" yaml:"host,omitempty"` + Port uint16 `config:"port" yaml:"port,omitempty"` + InternalPort uint16 `config:"internal_port" yaml:"internal_port,omitempty"` + TLS *tlscommon.Config `config:"ssl" yaml:"ssl,omitempty"` } // FleetServerPolicyConfig is the configuration for the policy Fleet Server should run on. diff --git a/x-pack/elastic-agent/pkg/agent/program/supported.go b/x-pack/elastic-agent/pkg/agent/program/supported.go index c655b239402..70e7c6f716f 100644 --- a/x-pack/elastic-agent/pkg/agent/program/supported.go +++ b/x-pack/elastic-agent/pkg/agent/program/supported.go @@ -25,7 +25,7 @@ func init() { // spec/metricbeat.yml // spec/osquerybeat.yml // spec/packetbeat.yml - unpacked := packer.MustUnpack("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") + unpacked := packer.MustUnpack("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") SupportedMap = make(map[string]Spec) for f, v := range unpacked { diff --git a/x-pack/elastic-agent/spec/fleet-server.yml b/x-pack/elastic-agent/spec/fleet-server.yml index abb4ad4a502..ea7af0e3b89 100644 --- a/x-pack/elastic-agent/spec/fleet-server.yml +++ b/x-pack/elastic-agent/spec/fleet-server.yml @@ -32,6 +32,7 @@ rules: selectors: - fleet.server.host - fleet.server.port + - fleet.server.internal_port - fleet.server.ssl path: inputs.0.server