Add new fields to HCP bootstrap config request and push state request
To support linking cluster, HCP needs to know the datacenter and if ACLs are enabled. Otherwise hosted Consul Core UI won't work properly.
This commit is contained in:
parent
4bc89b823f
commit
90a25d39f1
|
@ -1995,6 +1995,7 @@ func (s *Server) hcpServerStatus(deps Deps) hcp.StatusCallback {
|
|||
status.LanAddress = s.config.RPCAdvertise.IP.String()
|
||||
status.GossipPort = s.config.SerfLANConfig.MemberlistConfig.AdvertisePort
|
||||
status.RPCPort = s.config.RPCAddr.Port
|
||||
status.Datacenter = s.config.Datacenter
|
||||
|
||||
tlsCert := s.tlsConfigurator.Cert()
|
||||
if tlsCert != nil {
|
||||
|
@ -2036,6 +2037,8 @@ func (s *Server) hcpServerStatus(deps Deps) hcp.StatusCallback {
|
|||
status.ScadaStatus = deps.HCP.Provider.SessionStatus()
|
||||
}
|
||||
|
||||
status.ACL.Enabled = s.config.ACLsEnabled
|
||||
|
||||
return status, nil
|
||||
}
|
||||
}
|
||||
|
|
|
@ -80,10 +80,12 @@ func httpClient(c config.CloudConfig) (*httptransport.Runtime, error) {
|
|||
}
|
||||
|
||||
func (c *hcpClient) FetchBootstrap(ctx context.Context) (*BootstrapConfig, error) {
|
||||
version := version.GetHumanVersion()
|
||||
params := hcpgnm.NewAgentBootstrapConfigParamsWithContext(ctx).
|
||||
WithID(c.resource.ID).
|
||||
WithLocationOrganizationID(c.resource.Organization).
|
||||
WithLocationProjectID(c.resource.Project)
|
||||
WithLocationProjectID(c.resource.Project).
|
||||
WithConsulVersion(&version)
|
||||
|
||||
resp, err := c.gnm.AgentBootstrapConfig(params, nil)
|
||||
if err != nil {
|
||||
|
@ -132,10 +134,12 @@ type ServerStatus struct {
|
|||
LanAddress string
|
||||
GossipPort int
|
||||
RPCPort int
|
||||
Datacenter string
|
||||
|
||||
Autopilot ServerAutopilot
|
||||
Raft ServerRaft
|
||||
TLS ServerTLSInfo
|
||||
ACL ServerACLInfo
|
||||
|
||||
ScadaStatus string
|
||||
}
|
||||
|
@ -155,6 +159,10 @@ type ServerRaft struct {
|
|||
TimeSinceLastContact time.Duration
|
||||
}
|
||||
|
||||
type ServerACLInfo struct {
|
||||
Enabled bool
|
||||
}
|
||||
|
||||
type ServerTLSInfo struct {
|
||||
Enabled bool
|
||||
CertExpiry time.Time
|
||||
|
@ -199,6 +207,10 @@ func serverStatusToHCP(s *ServerStatus) *gnmmod.HashicorpCloudGlobalNetworkManag
|
|||
},
|
||||
Version: s.Version,
|
||||
ScadaStatus: s.ScadaStatus,
|
||||
ACL: &gnmmod.HashicorpCloudGlobalNetworkManager20220215ACLInfo{
|
||||
Enabled: s.ACL.Enabled,
|
||||
},
|
||||
Datacenter: s.Datacenter,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
2
go.mod
2
go.mod
|
@ -61,7 +61,7 @@ require (
|
|||
github.com/hashicorp/golang-lru v0.5.4
|
||||
github.com/hashicorp/hcl v1.0.0
|
||||
github.com/hashicorp/hcp-scada-provider v0.2.3
|
||||
github.com/hashicorp/hcp-sdk-go v0.40.1-0.20230404193545-846aea419cd1
|
||||
github.com/hashicorp/hcp-sdk-go v0.44.1-0.20230508124639-28da4c5b03f3
|
||||
github.com/hashicorp/hil v0.0.0-20200423225030-a18a1cd20038
|
||||
github.com/hashicorp/memberlist v0.5.0
|
||||
github.com/hashicorp/raft v1.5.0
|
||||
|
|
4
go.sum
4
go.sum
|
@ -604,8 +604,8 @@ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
|
|||
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
|
||||
github.com/hashicorp/hcp-scada-provider v0.2.3 h1:AarYR+/Pcv+cMvPdAlb92uOBmZfEH6ny4+DT+4NY2VQ=
|
||||
github.com/hashicorp/hcp-scada-provider v0.2.3/go.mod h1:ZFTgGwkzNv99PLQjTsulzaCplCzOTBh0IUQsPKzrQFo=
|
||||
github.com/hashicorp/hcp-sdk-go v0.40.1-0.20230404193545-846aea419cd1 h1:C1des4/oIeUqQJVUWypnZth19Kg+k01q+V59OVNMB+Q=
|
||||
github.com/hashicorp/hcp-sdk-go v0.40.1-0.20230404193545-846aea419cd1/go.mod h1:hZqky4HEzsKwvLOt4QJlZUrjeQmb4UCZUhDP2HyQFfc=
|
||||
github.com/hashicorp/hcp-sdk-go v0.44.1-0.20230508124639-28da4c5b03f3 h1:9QstZdsLIS6iPyYxQoyymRz8nBw9jMdEbGy29gtgzVQ=
|
||||
github.com/hashicorp/hcp-sdk-go v0.44.1-0.20230508124639-28da4c5b03f3/go.mod h1:hZqky4HEzsKwvLOt4QJlZUrjeQmb4UCZUhDP2HyQFfc=
|
||||
github.com/hashicorp/hil v0.0.0-20200423225030-a18a1cd20038 h1:n9J0rwVWXDpNd5iZnwY7w4WZyq53/rROeI7OVvLW8Ok=
|
||||
github.com/hashicorp/hil v0.0.0-20200423225030-a18a1cd20038/go.mod h1:n2TSygSNwsLJ76m8qFXTSc7beTb+auJxYdqrnoqwZWE=
|
||||
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
|
||||
|
|
Loading…
Reference in New Issue