Commit Graph

32 Commits

Author SHA1 Message Date
amery 75206e4fa5 zones: Zones.WriteEnv() writing env variables describing the cluster
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 22:26:48 +00:00
amery b084e103b9 zones: introduce Machine.getRingInfo()
and refactor Machine.applyRingInfo()

Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 22:25:11 +00:00
amery 223edf846b zones: introduce Zone.ForEachMachine()
and refactor Zones.ForEachMachine() using it

Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 22:25:09 +00:00
amery fdb0f0324f zones: finish scan sorting the content
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 21:29:12 +00:00
amery 9aef92f32d zones: assign zoneID to zones inferable ID
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 21:02:21 +00:00
amery e5baf53758 zones: import wireguard keys from wgN.conf files
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 20:37:10 +00:00
amery 0fe451eed0 zones: introduce RingInfo.Merge()
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 20:32:29 +00:00
amery cb5ea80e66 zones: introduce Zones.GetMachineByName()
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 20:32:26 +00:00
amery f7da9519fa zones: allow iterators to terminate
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 20:12:05 +00:00
amery 589fb2f0e1 zones: set zoneID based on wireguard config files
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 19:39:30 +00:00
amery f5ee63e5aa wireguard: cleanup Config parser using BinaryKey
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 19:39:28 +00:00
amery 0de2e3f4d9 wireguard: introduce BinaryKey.Equal()
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 19:39:26 +00:00
amery c92873f07d zones: introduce RingInfo and Machine.Rings
RingInfo includes Wireguard ring related details

Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 17:11:19 +00:00
amery 4d25ea1d16 wireguard: introduce initial BinaryKey and KeyPair structs
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 17:11:18 +00:00
amery 0d14510958 zones: introduce RingAddressEncoder and RingZero/RingOne implementations
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 15:57:10 +00:00
amery c3b47ba812 zones: introduce ValidZoneID() and ValidNodeID()
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 15:43:42 +00:00
amery 15f5aab449 zones: rename address.go to rings.go
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 15:43:40 +00:00
amery 7cf3ee04f5 zones: use cloudflare's resolver
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 03:31:12 +00:00
amery a3e3cde4c4 zones: fix scanMachines to run after all zones have been read
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 02:54:35 +00:00
amery a4a10d0226 zones: add helpers to compose and parse wg0/wg1 addresses
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 02:50:54 +00:00
amery 06e755ecd2 zones: scan for Machine details after they've all been added
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 02:01:00 +00:00
amery b15f394199 wireguard: add EndpointAddress.Name() removing the domain from Host
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 01:51:15 +00:00
amery f225e15b2c wireguard: rename EndpointAddress.Name to Host
and add String() method

Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 01:51:14 +00:00
amery 5d946e4e93 wireguard: adds wgN.conf parser
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 01:35:35 +00:00
amery 979324f151 zones: adds ForEachZone iterator
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 00:38:41 +00:00
amery be9da490ff zones: adds ForEachMachine() iterator
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 00:38:38 +00:00
amery 3599812072 zones: introduce Machine.ReadFile()
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-22 00:38:38 +00:00
amery 7e6c53c5f5 zones: introduce Machine.PublicAddresses()
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-21 22:20:30 +00:00
amery 5f924dcb00 zones: introduce Machine.FullName()
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-21 22:20:28 +00:00
amery ee63e80f77 zones: add resolver and domain
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-21 21:53:28 +00:00
amery 1ea1ab4ac4 zones: add initial m/ scanner
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-21 21:33:33 +00:00
amery a3f8e2fee3 build-sys: import Makefile from darvaza.org
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-21 18:00:27 +00:00