Skip to content

Commit

Permalink
move populate to after when given_name exist
Browse files Browse the repository at this point in the history
  • Loading branch information
kradalby committed May 23, 2022
1 parent 77ceeaf commit 5fa9875
Showing 1 changed file with 33 additions and 32 deletions.
65 changes: 33 additions & 32 deletions db.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,38 +45,6 @@ func (h *Headscale) initDB() error {
// 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,
// find all occourences of "false" and drop them. Then
Expand Down Expand Up @@ -115,6 +83,39 @@ func (h *Headscale) initDB() error {
return err
}

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")
}

}
}
}

err = db.AutoMigrate(&KV{})
if err != nil {
return err
Expand Down

0 comments on commit 5fa9875

Please sign in to comment.