Compare commits

...

4 Commits

Author SHA1 Message Date
amery 3a586ecaf2 cluster: change wg0.conf to allow ring0/32 and ring1/32 on each peer
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-07-29 18:05:19 +00:00
amery 8db87c6102 cluster: further remove wg1 support
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-07-29 16:52:59 +00:00
amery 9810f5c6c1 cluster: drop wg1.conf generation
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-07-29 16:47:35 +00:00
amery 8948b6702a Revert "cluster: fix wg1 generation (AllowedIPs)"
This reverts commit f0c09c2176.
2024-07-29 16:47:35 +00:00
3 changed files with 9 additions and 36 deletions
+1 -1
View File
@@ -25,5 +25,5 @@ var (
// ErrInvalidRing returns an error indicating the [rings.RingID] // ErrInvalidRing returns an error indicating the [rings.RingID]
// can't be used for the intended purpose // can't be used for the intended purpose
func ErrInvalidRing(ringID rings.RingID) error { func ErrInvalidRing(ringID rings.RingID) error {
return core.QuietWrap(fs.ErrInvalid, "invalid ring %v", ringID) return core.QuietWrap(fs.ErrInvalid, "invalid ring %v", ringID-1)
} }
+4 -17
View File
@@ -27,8 +27,6 @@ func AsWireguardInterfaceID(ring rings.RingID) (WireguardInterfaceID, error) {
switch ring { switch ring {
case rings.RingZeroID: case rings.RingZeroID:
return 0, nil return 0, nil
case rings.RingOneID:
return 1, nil
default: default:
return 0, ErrInvalidRing(ring) return 0, ErrInvalidRing(ring)
} }
@@ -148,17 +146,9 @@ var (
Decode: rings.DecodeRingZeroAddress, Decode: rings.DecodeRingZeroAddress,
Encode: rings.RingZeroAddress, Encode: rings.RingZeroAddress,
} }
// RingOne is a wg1 address encoder/decoder
RingOne = RingAddressEncoder{
ID: rings.RingOneID,
Port: RingOnePort,
Decode: rings.DecodeRingOneAddress,
Encode: rings.RingOneAddress,
}
// Rings provides indexed access to the ring address encoders // Rings provides indexed access to the ring address encoders
Rings = []RingAddressEncoder{ Rings = []RingAddressEncoder{
RingZero, RingZero,
RingOne,
} }
) )
@@ -215,14 +205,11 @@ func (r *Ring) AddPeer(p *Machine) bool {
} }
func (r *Ring) setRingZeroAllowedIPs(rp *RingPeer) { func (r *Ring) setRingZeroAllowedIPs(rp *RingPeer) {
regionID, zoneID, _, _ := r.Decode(rp.Address) // ring0 peer
// everyone on ring0 is a gateway to ring1
subnet, _ := rings.RingOnePrefix(regionID, zoneID)
rp.AllowSubnet(subnet)
// peer
rp.AllowCIDR(rp.Address, 32) rp.AllowCIDR(rp.Address, 32)
// everyone on ring0 has a leg on ring1
rp.AllowCIDR(rp.Node.RingOneAddress(), 32)
} }
func (r *Ring) setRingOneGatewayAllowedIPs(rp *RingPeer) { func (r *Ring) setRingOneGatewayAllowedIPs(rp *RingPeer) {
+4 -18
View File
@@ -82,13 +82,6 @@ func (m *Cluster) WriteWireguardConfig(ring rings.RingID) error {
switch ring { switch ring {
case rings.RingZeroID: case rings.RingZeroID:
return writeWireguardConfig(m, m, ring) return writeWireguardConfig(m, m, ring)
case rings.RingOneID:
var err error
m.ForEachZone(func(z *Zone) bool {
err = writeWireguardConfig(m, z, ring)
return err != nil
})
return err
default: default:
return ErrInvalidRing(ring) return ErrInvalidRing(ring)
} }
@@ -97,10 +90,12 @@ func (m *Cluster) WriteWireguardConfig(ring rings.RingID) error {
// WriteWireguardConfig rewrites all wgN.conf on all machines // WriteWireguardConfig rewrites all wgN.conf on all machines
// on the Zone attached to that ring // on the Zone attached to that ring
func (z *Zone) WriteWireguardConfig(ring rings.RingID) error { func (z *Zone) WriteWireguardConfig(ring rings.RingID) error {
if ring == rings.RingZeroID || ring == rings.RingOneID { switch ring {
case rings.RingZeroID:
return writeWireguardConfig(z.zones, z.zones, ring) return writeWireguardConfig(z.zones, z.zones, ring)
default:
return ErrInvalidRing(ring)
} }
return ErrInvalidRing(ring)
} }
func writeWireguardConfig(z ZoneIterator, m MachineIterator, ring rings.RingID) error { func writeWireguardConfig(z ZoneIterator, m MachineIterator, ring rings.RingID) error {
@@ -161,13 +156,6 @@ func (m *Cluster) SyncWireguardConfig(ring rings.RingID) error {
switch ring { switch ring {
case rings.RingZeroID: case rings.RingZeroID:
return syncWireguardConfig(m, m, ring) return syncWireguardConfig(m, m, ring)
case rings.RingOneID:
var err error
m.ForEachZone(func(z *Zone) bool {
err = syncWireguardConfig(m, z, ring)
return err != nil
})
return err
default: default:
return ErrInvalidRing(ring) return ErrInvalidRing(ring)
} }
@@ -179,8 +167,6 @@ func (z *Zone) SyncWireguardConfig(ring rings.RingID) error {
switch ring { switch ring {
case rings.RingZeroID: case rings.RingZeroID:
return syncWireguardConfig(z.zones, z.zones, ring) return syncWireguardConfig(z.zones, z.zones, ring)
case rings.RingOneID:
return syncWireguardConfig(z.zones, z, ring)
default: default:
return ErrInvalidRing(ring) return ErrInvalidRing(ring)
} }