Commit Graph

170 Commits

Author SHA1 Message Date
amery 5a3d483f98 cluster: refactor Machine.ReadFile() and Machine.OpenFile()
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-30 18:45:01 +00:00
amery 0ff17abd59 Merge pull request 'cluster: add top level ReadLines(), WriteStringFile() and RemoveFile() helpers' (#36)
Reviewed-on: #36
2023-10-30 19:42:50 +01:00
amery a742bad084 Merge pull request 'dns: sort zones when writing data' (#35)
Reviewed-on: #35
2023-10-30 19:41:16 +01: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 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 abe3005769 dns: sort zones when writing data
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-29 02:32:18 +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
amery 70008e0ead cluster: NewFromConfig() trying JSON and YAML
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-11 18:43:42 +00:00
amery ec2b30c1e7 cluster: add DirFS() using hackpadfs/os
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-11 18:43:42 +00:00
amery d0b0698c10 cluster: make domain, basedir and cluster name public fields
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-11 18:10:47 +00:00
amery 2a2e6c121e cluster: group default option factories
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-11 18:10:47 +00:00
amery 24059dc9ee cluster: rename Zones to Cluster
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-11 18:10:47 +00:00
amery bedf62977f cluster: move Machines to a dedicated file
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-11 18:10:47 +00:00
amery 5abb4c2f92 cluster: rename pkg/zones to pkg/cluster
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-11 18:10:46 +00:00
amery 6aec17d079 Merge pull request 'drop toml support' (#16)
Reviewed-on: #16
2023-09-11 15:17:46 +02:00
amery ab8ffdd507 Merge pull request 'zones: warn but not fail when scanning finds unknown monitors' (#13)
Reviewed-on: #13
2023-09-11 15:15:19 +02:00
amery 422e119f88 Merge pull request 'zones: add structured logs to zone scanning' (#14)
Reviewed-on: #14
2023-09-11 01:46:09 +02:00
amery 204f3a49a1 drop toml support
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-10 19:53:52 +00:00
amery 32046fc1ec zones: fix jpictl dump by explicitly omitting Machine.logger and Zone.logger
if they were fields, as in Zones, they would be ignored automatically.
but they aren't

Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-08 13:12:56 +00:00
amery 2016b27707 zones: add structured logs to zone scanning
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-08 12:50:22 +00:00
amery c038ad4431 zones: warn but not fail when scanning finds unknown monitors
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-08 12:49:00 +00:00
amery 6a071ba5f0 zones: ignore unknown wireguard endpoints
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-08 12:44:59 +00:00
amery 3e90e3ab1e zones: ErrUnknownNode and ErrInvalidNode
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-08 12:44:59 +00:00
amery 90dd0c1239 zones: ignore machine-less zones
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-09-08 12:44:57 +00:00