Make output of hosts list more useful

This commit is contained in:
Brian Picciano 2022-11-05 16:55:17 +01:00
parent 0d7d69679f
commit 97d4aacc15
4 changed files with 22 additions and 12 deletions

View File

@ -11,10 +11,6 @@ func (b Bootstrap) GaragePeers() []garage.RemotePeer {
for _, host := range b.Hosts { for _, host := range b.Hosts {
if host.Garage == nil {
continue
}
for _, instance := range host.Garage.Instances { for _, instance := range host.Garage.Instances {
peer := garage.RemotePeer{ peer := garage.RemotePeer{
@ -49,7 +45,7 @@ func (b Bootstrap) ChooseGaragePeer() garage.RemotePeer {
thisHost := b.ThisHost() thisHost := b.ThisHost()
if thisHost.Garage != nil && len(thisHost.Garage.Instances) > 0 { if len(thisHost.Garage.Instances) > 0 {
inst := thisHost.Garage.Instances[0] inst := thisHost.Garage.Instances[0]
return garage.RemotePeer{ return garage.RemotePeer{

View File

@ -60,7 +60,7 @@ type GarageHost struct {
type Host struct { type Host struct {
Name string `yaml:"name"` Name string `yaml:"name"`
Nebula NebulaHost `yaml:"nebula"` Nebula NebulaHost `yaml:"nebula"`
Garage *GarageHost `yaml:"garage,omitempty"` Garage GarageHost `yaml:"garage,omitempty"`
} }
// IP returns the IP address encoded in the Host's nebula certificate, or panics // IP returns the IP address encoded in the Host's nebula certificate, or panics

View File

@ -26,8 +26,6 @@ func mergeDaemonConfigIntoBootstrap(
if allocs := daemonConfig.Storage.Allocations; len(allocs) > 0 { if allocs := daemonConfig.Storage.Allocations; len(allocs) > 0 {
host.Garage = new(bootstrap.GarageHost)
for _, alloc := range allocs { for _, alloc := range allocs {
id, err := garage.InitAlloc(alloc.MetaPath) id, err := garage.InitAlloc(alloc.MetaPath)

View File

@ -38,8 +38,24 @@ var subCmdHostsList = subCmd{
return fmt.Errorf("retrieving hosts from garage: %w", err) return fmt.Errorf("retrieving hosts from garage: %w", err)
} }
hosts := make([]bootstrap.Host, 0, len(hostsMap)) type host struct {
for _, host := range hostsMap { Name string `yaml:"name"`
Nebula struct {
IP string `yaml:"ip"`
} `yaml:"nebula"`
Garage bootstrap.GarageHost `yaml:"garage,omitempty"`
}
hosts := make([]host, 0, len(hostsMap))
for _, h := range hostsMap {
host := host{
Name: h.Name,
Garage: h.Garage,
}
host.Nebula.IP = h.IP().String()
hosts = append(hosts, host) hosts = append(hosts, host)
} }