Don't support legacy bootstrap format, we have to redo all bootstraps anyway
This commit is contained in:
parent
30584973be
commit
51b2fbba36
@ -1,7 +1,6 @@
|
||||
package bootstrap
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/fs"
|
||||
"path/filepath"
|
||||
@ -42,62 +41,6 @@ type Host struct {
|
||||
Garage *GarageHost `yaml:"garage,omitempty"`
|
||||
}
|
||||
|
||||
func loadHostsLegacy(bootstrapFS fs.FS) (map[string]Host, error) {
|
||||
|
||||
hosts := map[string]Host{}
|
||||
|
||||
readAsYaml := func(into interface{}, path string) error {
|
||||
b, err := fs.ReadFile(bootstrapFS, path)
|
||||
if err != nil {
|
||||
return fmt.Errorf("reading file from fs: %w", err)
|
||||
}
|
||||
|
||||
return yaml.Unmarshal(b, into)
|
||||
}
|
||||
|
||||
{
|
||||
globPath := "nebula/hosts/*.yml"
|
||||
|
||||
nebulaHostFiles, err := fs.Glob(bootstrapFS, globPath)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("listing nebula host files at %q in fs: %w", globPath, err)
|
||||
}
|
||||
|
||||
for _, nebulaHostPath := range nebulaHostFiles {
|
||||
|
||||
hostName := filepath.Base(nebulaHostPath)
|
||||
hostName = strings.TrimSuffix(hostName, filepath.Ext(hostName))
|
||||
|
||||
var nebulaHost NebulaHost
|
||||
if err := readAsYaml(&nebulaHost, nebulaHostPath); err != nil {
|
||||
return nil, fmt.Errorf("reading %q as yaml: %w", nebulaHostPath, err)
|
||||
}
|
||||
|
||||
hosts[hostName] = Host{
|
||||
Name: hostName,
|
||||
Nebula: nebulaHost,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for hostName, host := range hosts {
|
||||
|
||||
garageHostPath := filepath.Join("garage/hosts", hostName+".yml")
|
||||
|
||||
var garageHost GarageHost
|
||||
if err := readAsYaml(&garageHost, garageHostPath); errors.Is(err, fs.ErrNotExist) {
|
||||
continue
|
||||
} else if err != nil {
|
||||
return nil, fmt.Errorf("reading %q as yaml: %w", garageHostPath, err)
|
||||
}
|
||||
|
||||
host.Garage = &garageHost
|
||||
hosts[hostName] = host
|
||||
}
|
||||
|
||||
return hosts, nil
|
||||
}
|
||||
|
||||
func loadHosts(bootstrapFS fs.FS) (map[string]Host, error) {
|
||||
|
||||
hosts := map[string]Host{}
|
||||
@ -131,18 +74,6 @@ func loadHosts(bootstrapFS fs.FS) (map[string]Host, error) {
|
||||
hosts[hostName] = host
|
||||
}
|
||||
|
||||
if len(hosts) > 0 {
|
||||
return hosts, nil
|
||||
}
|
||||
|
||||
// We used to have the bootstrap file laid out differently. If no hosts were
|
||||
// found then the bootstrap file is probably in that format.
|
||||
hosts, err = loadHostsLegacy(bootstrapFS)
|
||||
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("loading hosts in legacy layout from fs: %w", err)
|
||||
}
|
||||
|
||||
if len(hosts) == 0 {
|
||||
return nil, fmt.Errorf("failed to load any hosts from fs")
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user