Migrate name and nickname fields
This commit is contained in:
parent
62808cbd86
commit
06c928bc52
1 changed files with 40 additions and 2 deletions
42
db.go
42
db.go
|
@ -39,6 +39,44 @@ func (h *Headscale) initDB() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
_ = db.Migrator().RenameColumn(&Machine{}, "ip_address", "ip_addresses")
|
_ = db.Migrator().RenameColumn(&Machine{}, "ip_address", "ip_addresses")
|
||||||
|
_ = db.Migrator().RenameColumn(&Machine{}, "name", "hostname")
|
||||||
|
|
||||||
|
// GivenName is used as the primary source of DNS names, make sure
|
||||||
|
// the field is populated and normalized if it was not when the
|
||||||
|
// machine was registered.
|
||||||
|
_ = db.Migrator().RenameColumn(&Machine{}, "nickname", "given_name")
|
||||||
|
if db.Migrator().HasColumn(&Machine{}, "given_name") {
|
||||||
|
machines := Machines{}
|
||||||
|
if err := h.db.Find(&machines).Error; err != nil {
|
||||||
|
log.Error().Err(err).Msg("Error accessing db")
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, machine := range machines {
|
||||||
|
if machine.GivenName == "" {
|
||||||
|
normalizedHostname, err := NormalizeToFQDNRules(
|
||||||
|
machine.Hostname,
|
||||||
|
h.cfg.OIDC.StripEmaildomain,
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
log.Error().
|
||||||
|
Caller().
|
||||||
|
Str("hostname", machine.Hostname).
|
||||||
|
Err(err).
|
||||||
|
Msg("Failed to normalize machine hostname in DB migration")
|
||||||
|
}
|
||||||
|
|
||||||
|
err = h.RenameMachine(&machine, normalizedHostname)
|
||||||
|
if err != nil {
|
||||||
|
log.Error().
|
||||||
|
Caller().
|
||||||
|
Str("hostname", machine.Hostname).
|
||||||
|
Err(err).
|
||||||
|
Msg("Failed to save normalized machine name in DB migration")
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// If the Machine table has a column for registered,
|
// If the Machine table has a column for registered,
|
||||||
// find all occourences of "false" and drop them. Then
|
// find all occourences of "false" and drop them. Then
|
||||||
|
@ -54,13 +92,13 @@ func (h *Headscale) initDB() error {
|
||||||
|
|
||||||
for _, machine := range machines {
|
for _, machine := range machines {
|
||||||
log.Info().
|
log.Info().
|
||||||
Str("machine", machine.Name).
|
Str("machine", machine.Hostname).
|
||||||
Str("machine_key", machine.MachineKey).
|
Str("machine_key", machine.MachineKey).
|
||||||
Msg("Deleting unregistered machine")
|
Msg("Deleting unregistered machine")
|
||||||
if err := h.db.Delete(&Machine{}, machine.ID).Error; err != nil {
|
if err := h.db.Delete(&Machine{}, machine.ID).Error; err != nil {
|
||||||
log.Error().
|
log.Error().
|
||||||
Err(err).
|
Err(err).
|
||||||
Str("machine", machine.Name).
|
Str("machine", machine.Hostname).
|
||||||
Str("machine_key", machine.MachineKey).
|
Str("machine_key", machine.MachineKey).
|
||||||
Msg("Error deleting unregistered machine")
|
Msg("Error deleting unregistered machine")
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue