Commit Graph

187 Commits

Author SHA1 Message Date
amery ee2ac83536 cluster: fix regions/zones mapping when the region exists
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-30 00:17:24 +00:00
amery dc2c690151 cluster: mark Machine as Inactive if the "region" file contains "none"
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-30 00:04:50 +00:00
amery 285a2fa324 cluster: introduce Machine.Inactive flag
if a Machine is Inactive, it won't be included on the DNS
aliases for the zone or it's regions.

Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-30 00:04:50 +00:00
amery 5d95b4509b cluster: add Machine.ReadLines() shortcut
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-30 00:04:50 +00:00
amery 6a6cdfcfe8 Merge branch 'pr-amery-region-sort' into next-amery 2023-10-30 00:03:47 +00:00
amery 884b11d1f9 cluster: sort regions, for jpictl dump' sake
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-30 00:00:57 +00:00
amery 5bbe15ef24 cluster: move SortRegions() from dns to cluster
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-30 00:00:22 +00:00
amery 8866650a47 Merge branch 'pr-amery-files' into next-amery
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-29 23:32:50 +00:00
amery fd1c57d377 cluster: introduce Cluster.ReadLines()
reading a file, splitting and trimming lines, and
allowing # to comment a line out

Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-29 23:28:57 +00:00
amery 2fd5947f1b cluster: introduce Cluster.WriteStringFile()
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-29 23:28:45 +00:00
amery 14b3d91191 cluster: introduce Cluster.RemoveFile()
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-29 23:27:04 +00:00
amery b1544c251c Merge branch 'pr-amery-dns-write' into next-amery 2023-10-29 02:32:50 +00:00
amery abe3005769 dns: sort zones when writing data
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-29 02:32:18 +00:00
amery 7ea3906d63 Merge branch 'pr-amery-wireguard-ini' into next-amery 2023-10-29 01:13:19 +00:00
amery 6e0bf95fdf Merge branch 'pr-amery-wg-auto-init' into next-amery 2023-10-29 01:13:13 +00:00
amery 30b15da87d Merge branch 'pr-amery-mkdirall' into next-amery 2023-10-29 01:13:00 +00:00
amery da38250465 jpictl: create machine directories on jpictl write
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-29 01:12:21 +00:00
amery bdf0192ac5 cluster: add MkdirAll() support
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-29 01:12:21 +00:00
amery 194f03c86a cluster: refactor Machine.ReadFile() and Machine.OpenFile()
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-29 01:12:21 +00:00
amery 634941a1ef wireguard: implement EndpointAddress.UnmarshalText
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-28 15:55:09 +00:00
amery 1da505fd3d wireguard: implement UnmarshalText for PrivateKey and PublicKey
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-28 15:54:33 +00:00
amery 8d62bb0aae wireguard: switch from gcfg to asciigoat.org/ini/basic
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-27 20:17:47 +00:00
amery e748babf08 wireguard: implement EndpointAddress.UnmarshalText
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-27 20:16:32 +00:00
amery 71fafb1f21 wireguard: implement UnmarshalText for PrivateKey and PublicKey
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-27 20:16:32 +00:00
amery e5639b2f4e cluster: generate ring keys on scan if missing
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-27 19:55:46 +00:00
amery 543824a54a cluster: allow empty wgN.conf files as markers to enable the ring
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-27 19:55:46 +00:00
amery 9ab7594bcc Merge pull request 'jpictl: add initial dns add command' (#29)
Reviewed-on: #29
2023-10-27 18:56:11 +02:00
amery 142ea00577 wireguard: fix KeyPair.Validate()
PrivateKey and PublicKey are now fixed length arrays,
so testing for len 0 is invalid

Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-27 15:55:27 +00:00
amery 052f89152c jpictl/dns: introduce add command to register new machines
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-27 15:52:50 +00:00
amery 557f156579 dns: refactor asSyncRecords()
for direct access of the unsorted map

Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-27 15:52:48 +00:00
amery 9da49f2d86 dns/show: sort records
v2: change Name to lower case and Type to upper case before comparing

Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-26 18:47:29 +00:00
amery 356322bc94 dns/show: introduce writeRecords() helper
to print a whole []libdns.Record

Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-26 18:41:32 +00:00
amery 7dac96f474 dns/show: refactor Record formatting
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-24 17:35:26 +00:00
amery 440dcde50a jpictl: introduce jpictl dns show command
to list dns entries

Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-23 23:15:00 +00:00
amery b0f4be7047 dns: refactor GetRecords() to allow commands other than sync
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-23 23:15:00 +00:00
amery 986db350b4 cluster: make unreachable panic explicit
making revive 1.3.4 happy

Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-23 20:55:28 +00:00
amery 99ae34e98c chore: update darvaza.org/core to v0.10.0
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-23 20:50:41 +00:00
amery dd585b0fa2 dns: add Sync() mechanism to update A/AAAA records on the DNS provider
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-12 20:30:02 +00:00
amery 172752ab90 dns: add RecordSetter and RecordAppender to Provider
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-12 20:30:02 +00:00
amery 1a47985bd7 dns: Manager.WriteTo() generates BIND config, fully qualifies
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-12 15:56:07 +00:00
amery f5ea72740c dns: introduce initial DNS Manager
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-12 15:56:07 +00:00
amery 357c85dc1a dns: SortRegions() by ISO3166
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-12 15:55:38 +00:00
amery 00aec477a4 dns: DefaultDNSProvider() using CLOUDFLARE_DNS_API_TOKEN
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-12 15:55:38 +00:00
amery e0d8592dc1 dns: introduce AddrRecord{} to abstract A/AAAA entries
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-12 15:55:38 +00:00
amery c397ca29ac cluster: introduce Region interators
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-12 15:55:38 +00:00
amery 6e7f24f491 cluster: ensure ceph monitors are set when loading a config file
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-12 12:47:24 +00:00
amery c702d649e0 cluster: introduce Regions to group zones
only available via config-file

Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-12 02:17:50 +00:00
amery e2941cf2c0 Merge pull request 'jpictl: introduce --config-file/-f as alternative to scanning m/' (#19)
Reviewed-on: #19
2023-09-11 23:44:39 +02:00
amery 1c199ed923 jpictl: update all hosts files on jpictl write
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-11 18:57:26 +00:00
amery 5dc5c95aa1 hosts: add generators for hosts files
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-11 18:56:52 +00:00