Commit Graph

  • 2e48f34f7f chore: update revive to 1.3.3 amery 2023-08-28 20:14:37 +00:00
  • 8e5fc44e62 Merge pull request 'jpictl: introduce gateway command' (#7) amery 2023-08-29 22:14:17 +02:00
  • 3d5a766161 jpictl: introduce gateway command #7 karasz 2023-08-29 21:49:48 +03:00
  • 6f5ca3f235 Merge pull request 'zones: add methods to work with files at the root of m/' (#6) v0.4.17 amery 2023-08-28 18:24:59 +02:00
  • 296d4007ff zones: add methods to work with files at the root of m/ #6 amery 2023-08-27 19:54:01 +00:00
  • 1a03404a07 Merge pull request 'zone.ScanOptions, custom resolver and prevent unnecessary DNS calls' (#5) v0.4.16 amery 2023-08-28 18:10:39 +02:00
  • d2f0a0744b Merge pull request 'zones: Env: allow multiple gateways and drop unused ZONE{zoneID}_IP' (#4) v0.4.15 amery 2023-08-28 18:09:00 +02:00
  • 71a1d1a7c2 zones: Env: allow multiple gateways on a Zone #4 amery 2023-08-27 16:45:54 +00:00
  • de45fa6c30 zones: Env: minor tidy up amery 2023-08-27 16:40:13 +00:00
  • 6e46d23b45 jpictl: only load Machine.PublicAddresses for jpictl dump #5 amery 2023-08-28 15:48:38 +00:00
  • 94daf5ad59 zones: export Machine.LookupNetIP() and Machine.UpdatePublicAddresses() amery 2023-08-28 15:48:00 +00:00
  • 0989dec5e8 zones: add ResolvePublicAddresses() ScanOption to prevent early LookupIP calls amery 2023-08-28 15:42:48 +00:00
  • 216bf5aa29 zones: WithLookuper()/WithResolver() amery 2023-08-28 15:36:27 +00:00
  • 9af88f6593 zones: introduce ScanOption/ScanOptions for New()/NewFS() amery 2023-08-28 15:35:37 +00:00
  • af2d836000 zones: Env: drop unused ZONE{zoneID}_IP amery 2023-08-27 16:31:50 +00:00
  • 1655ce85bc Merge pull request 'zones: FilterMachines() and Zone.GatewayIDs()' (#3) v0.4.14 amery 2023-08-28 16:47:57 +02:00
  • 9c4f6d987d Merge pull request 'env: introduce Env() factory and jpictl env -e to export variables' (#2) v0.4.13 amery 2023-08-28 16:47:37 +02:00
  • fb82a7f358 Merge pull request 'zones: fix PruneWireguardConfig recursion' (#1) v0.4.12 amery 2023-08-28 16:47:13 +02:00
  • f63ce6c4e7 zones: introduce Zone.GatewayIDs() #3 amery 2023-08-27 17:09:15 +00:00
  • 1885c76198 zones: FilterMachines() creates a Machines subset amery 2023-08-27 16:25:11 +00:00
  • 2224e70638 zones: introduce Machines type. iterable and sortable amery 2023-08-27 16:08:00 +00:00
  • 6ee848e6ca jpictl: introduce -e for jpictl env to export variables #2 amery 2023-08-27 15:26:35 +00:00
  • 864eb02f9d zones: turn Zones.WriteEnv() into Zones.Env().WriteTo() amery 2023-08-27 15:22:34 +00:00
  • 9da2f8711f zones: fix PruneWireguardConfig recursion #1 amery 2023-08-27 14:43:21 +00:00
  • 2a14205e7e wireguard: fix misspellings v0.4.11 amery 2023-08-26 18:44:02 +00:00
  • a5d9466fb8 zones: change WriteEnv() to not fake gateways v0.4.10 amery 2023-08-25 15:54:03 +00:00
  • 3d638e9a85 zones: add Zone.SetGateway() to set one by ID amery 2023-08-25 17:10:52 +00:00
  • 60d3a2c290 zones: set first node of a Zone as ring0 gateway if it doesn't have one already amery 2023-08-25 17:08:55 +00:00
  • af90825f13 zones: Machine.SetGateway() amery 2023-08-26 18:32:44 +00:00
  • b4f1d2e4d9 wireguard: implement Machine.SyncWireguardConfig() amery 2023-08-26 18:31:56 +00:00
  • acf9e0e81d zones: extend WriteWireguardConfig to include a Name indicating the ring ID v0.4.9 amery 2023-08-26 18:26:11 +00:00
  • 3b43e0c9ea wireguard: add support for optional Name comment amery 2023-08-26 18:25:05 +00:00
  • 9762e78f5e jpictl: do SyncWireguardConfig() on write amery 2023-08-26 18:09:08 +00:00
  • 3534e7b755 zones: SyncWireguardConfig() as Prune+Write amery 2023-08-26 18:08:59 +00:00
  • b80dc84a26 zones: introduce WireguardConfigWriters amery 2023-08-26 16:54:49 +00:00
  • c0ef6ae9c4 zones: rearrange code around WireguardConfigPruner amery 2023-08-26 17:14:54 +00:00
  • 58867031ea zones: rearrange code around WireguardKeysWriter amery 2023-08-26 17:05:11 +00:00
  • b95d1f1878 zones: introduce Wireguard Ring Config factory v0.4.8 amery 2023-08-26 16:37:06 +00:00
  • d38c909b0b zones: introduce ZoneIterator, implemented by Zones amery 2023-08-26 16:16:38 +00:00
  • 7dd3ea8f96 zones: Machine.Zone() v0.4.7 amery 2023-08-26 01:00:31 +00:00
  • 07b4a22752 zones: introduce MachineIterator interface amery 2023-08-26 00:09:45 +00:00
  • 609f48a2d1 wireguard: Config.WriteTo() amery 2023-08-25 17:59:59 +00:00
  • d1f7d225ae zones: fix RingOneAddress()'s generated address v0.4.6 amery 2023-08-26 03:05:33 +00:00
  • dfbb358187 jpictl: introduce write command rewriting all config files v0.4.5 amery 2023-08-25 21:20:34 +00:00
  • 26c49dff72 jpictl: refactor zones loading amery 2023-08-25 21:31:15 +01:00
  • 2043708949 zones: Zones.WriteWireguardKeys() and Zone.WriteWireguardKeys() amery 2023-08-25 21:14:47 +00:00
  • 311ae572da zones: Zones.PruneWireguardConfig() amery 2023-08-25 20:20:59 +00:00
  • 4ca77b0ac0 zones: Zone.PruneWireguardConfig() amery 2023-08-25 17:38:14 +00:00
  • 1859c8e04b zones: inject trailing new lines on Machine.WriteWireguardKeys() amery 2023-08-25 21:17:54 +00:00
  • 202f2e6dfc jpictl: change dump to default to YAML output v0.4.4 amery 2023-08-25 16:48:01 +00:00
  • 20484a5061 zones: change toml tags to match yaml and json output amery 2023-08-25 16:46:23 +00:00
  • 45b25c63d4 jpictl: refactor dump to support TOML, JSON and YAML amery 2023-08-25 16:43:01 +00:00
  • c0e2ae9bf1 zones: annotate Machine for JSON encoding amery 2023-08-25 16:32:34 +00:00
  • 080021b427 zones: annotate Machine for YAML encoding amery 2023-08-25 16:25:32 +00:00
  • 4514b44211 wireguard: implement MarshalYAML for PrivateKey and PublicKey amery 2023-08-25 16:24:17 +00:00
  • 49b82ace71 wireguard: implement MarshalJSON for PrivateKey and PublicKey amery 2023-08-25 16:12:27 +00:00
  • 2207e4a4a4 zones: fix New() to handle relative paths on hackpadfs v0.4.3 amery 2023-08-25 16:02:00 +00:00
  • 7ca01aa1e4 zones: Machine.RemoveWireguardConfig() v0.4.2 amery 2023-08-25 15:36:58 +00:00
  • 8b72667f4d zones: Machine.RemoveWireguardKeys() amery 2023-08-25 15:20:07 +00:00
  • 49694eb7cb zones: Machine.WriteWireguardKeys() v0.4.1 amery 2023-08-25 14:41:35 +00:00
  • 15a98c05ec zones: Machine.WriteStringFile() amery 2023-08-25 14:41:12 +00:00
  • a005823d44 zones: Machine.CreateFile() and Machine.CreateTruncFile() amery 2023-08-23 19:54:55 +00:00
  • 7af8484acc zones: introduce Machine.OpenFile() amery 2023-08-23 19:41:52 +00:00
  • 0f1f1ce968 zones: introduce Machine.RemoveFile() amery 2023-08-23 19:36:26 +00:00
  • 5058f286c6 zones: switch to using hackpadfs/os.FS as the standard os.FS is incomplete amery 2023-08-23 19:14:56 +00:00
  • 86075eb47f zones: move Machine.ReadFile to a dedicated machine_file.go amery 2023-08-23 18:12:06 +00:00
  • c81b782b26 zones: Machine.IsGateway() v0.4.0 amery 2023-08-23 20:04:47 +00:00
  • 0f62ee2e53 zones: rename Machine.RingAddresses to Machine.Rings amery 2023-08-24 20:52:08 +00:00
  • 30a7bceda3 wireguard: make KeyPairs solid amery 2023-08-24 19:49:59 +00:00
  • 60e2687d04 wireguard: make keys arrays instead of slices amery 2023-08-24 19:35:11 +00:00
  • 1419e55d5b zones: remove useless RingInfo.Address amery 2023-08-24 19:06:33 +00:00
  • ffdacb833b zones: add Port information to RingAddressEncoder amery 2023-08-24 17:34:00 +00:00
  • aca0a5e834 zones: calculate Machine.ID on init amery 2023-08-24 17:55:43 +00:00
  • 61374d4cc5 zones: load wireguard key pairs on Machine.init() v0.3.1 amery 2023-08-24 14:35:40 +00:00
  • 975e166da7 zones: allow RingInfo.Merge() to enable, but not disable amery 2023-08-24 14:34:00 +00:00
  • b16c648f2c zones: introduce Machine.GetWireguardKeys() amery 2023-08-23 21:03:03 +00:00
  • 47d79f7576 wireguard: introduce KeyPair.Validate() v0.3.0 amery 2023-08-23 00:29:15 +00:00
  • e2f831fd6a wireguard: introduce NewKeyPair, NewPrivateKey, and PrivateKey.Public() amery 2023-08-23 00:18:31 +00:00
  • 1d8c818ec4 wireguard: make PrivateKey and PublicKey two distinct types v0.2.0 amery 2023-08-22 23:45:37 +00:00
  • 2f51a463b2 zones: reduce writeEnvZone() complexity amery 2023-08-22 22:53:13 +00:00
  • 0c0cba6fb5 jpictl: introduce env command v0.1.0 amery 2023-08-22 22:27:11 +00:00
  • 75206e4fa5 zones: Zones.WriteEnv() writing env variables describing the cluster amery 2023-08-22 22:26:01 +00:00
  • b084e103b9 zones: introduce Machine.getRingInfo() amery 2023-08-22 22:13:16 +00:00
  • 223edf846b zones: introduce Zone.ForEachMachine() amery 2023-08-22 22:01:40 +00:00
  • fdb0f0324f zones: finish scan sorting the content v0.0.3 amery 2023-08-22 21:29:12 +00:00
  • 9aef92f32d zones: assign zoneID to zones inferable ID amery 2023-08-22 21:01:29 +00:00
  • e5baf53758 zones: import wireguard keys from wgN.conf files amery 2023-08-22 20:31:23 +00:00
  • 0fe451eed0 zones: introduce RingInfo.Merge() amery 2023-08-22 20:18:08 +00:00
  • cb5ea80e66 zones: introduce Zones.GetMachineByName() amery 2023-08-22 20:17:34 +00:00
  • f7da9519fa zones: allow iterators to terminate v0.0.2 amery 2023-08-22 20:11:41 +00:00
  • 589fb2f0e1 zones: set zoneID based on wireguard config files amery 2023-08-22 17:50:38 +00:00
  • f5ee63e5aa wireguard: cleanup Config parser using BinaryKey amery 2023-08-22 19:38:34 +00:00
  • 0de2e3f4d9 wireguard: introduce BinaryKey.Equal() amery 2023-08-22 18:56:53 +00:00
  • c92873f07d zones: introduce RingInfo and Machine.Rings amery 2023-08-22 17:10:04 +00:00
  • 4d25ea1d16 wireguard: introduce initial BinaryKey and KeyPair structs amery 2023-08-22 15:02:13 +00:00
  • 0d14510958 zones: introduce RingAddressEncoder and RingZero/RingOne implementations amery 2023-08-22 15:55:42 +00:00
  • c3b47ba812 zones: introduce ValidZoneID() and ValidNodeID() amery 2023-08-22 15:41:40 +00:00
  • 15f5aab449 zones: rename address.go to rings.go amery 2023-08-22 15:19:25 +00:00
  • 7cf3ee04f5 zones: use cloudflare's resolver amery 2023-08-22 03:30:30 +00:00
  • a3e3cde4c4 zones: fix scanMachines to run after all zones have been read amery 2023-08-22 02:54:35 +00:00