()
| 514 | } |
| 515 | |
| 516 | func (c *LocalApiServerCfg) LoadAutoRegister() error { |
| 517 | if c.AutoRegister == nil { |
| 518 | c.AutoRegister = &LocalAPIAutoRegisterCfg{ |
| 519 | Enable: new(false), |
| 520 | } |
| 521 | |
| 522 | return nil |
| 523 | } |
| 524 | |
| 525 | // Disable by default |
| 526 | if c.AutoRegister.Enable == nil { |
| 527 | c.AutoRegister.Enable = new(false) |
| 528 | } |
| 529 | |
| 530 | if !*c.AutoRegister.Enable { |
| 531 | return nil |
| 532 | } |
| 533 | |
| 534 | if c.AutoRegister.Token == "" { |
| 535 | return errors.New("missing token value for api.server.auto_register") |
| 536 | } |
| 537 | |
| 538 | if len(c.AutoRegister.Token) < 32 { |
| 539 | return errors.New("token value for api.server.auto_register is too short (min 32 characters)") |
| 540 | } |
| 541 | |
| 542 | if c.AutoRegister.AllowedRanges == nil { |
| 543 | return errors.New("missing allowed_ranges value for api.server.auto_register") |
| 544 | } |
| 545 | |
| 546 | c.AutoRegister.AllowedRangesParsed = make([]*net.IPNet, 0, len(c.AutoRegister.AllowedRanges)) |
| 547 | |
| 548 | for _, ipRange := range c.AutoRegister.AllowedRanges { |
| 549 | _, ipNet, err := net.ParseCIDR(ipRange) |
| 550 | if err != nil { |
| 551 | return fmt.Errorf("auto_register: failed to parse allowed range '%s': %w", ipRange, err) |
| 552 | } |
| 553 | |
| 554 | c.AutoRegister.AllowedRangesParsed = append(c.AutoRegister.AllowedRangesParsed, ipNet) |
| 555 | } |
| 556 | |
| 557 | return nil |
| 558 | } |
no outgoing calls