zones: load wireguard key pairs on Machine.init()

Signed-off-by: Alejandro Mery <amery@jpi.io>
This commit is contained in:
2023-08-24 14:35:40 +00:00
parent 975e166da7
commit 61374d4cc5
3 changed files with 33 additions and 0 deletions
+20
View File
@@ -61,6 +61,26 @@ func (m *Machine) GetWireguardKeys(ring int) (*wireguard.KeyPair, error) {
return kp, nil
}
func (m *Machine) tryReadWireguardKeys(ring int) error {
kp, err := m.GetWireguardKeys(ring)
switch {
case os.IsNotExist(err):
// ignore
return nil
case err != nil:
// something went wrong
return err
default:
// import keys
ri := &RingInfo{
Ring: ring,
Keys: kp,
}
return m.applyRingInfo(ring, ri)
}
}
// GetWireguardConfig reads a wgN.conf file
func (m *Machine) GetWireguardConfig(ring int) (*wireguard.Config, error) {
data, err := m.ReadFile("wg%v.conf", ring)