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
amery
033ca2f20e
zones: validate Machine names
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-09-08 12:43:00 +00:00
amery
1bca1f7da1
zones: add logger to Zone and Machine
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-09-07 14:51:01 +00:00
amery
5e5958d22e
zones: introduce (private) logger interface
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-09-07 14:49:14 +00:00
amery
45447275a7
zones: introduce WithLogger() scan option
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-09-07 14:26:14 +00:00
amery
a655603343
env: export FSID
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-09-05 19:57:39 +00:00
amery
c291b218a4
zones: improve GetCephFSID() to generate a new UUID if none was found
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-09-05 19:57:39 +00:00
amery
f10ea1dc22
jpictl: write m/ceph.conf on sync
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-09-05 16:48:17 +00:00
amery
ac87757b06
ceph: zones.Zones.WriteCephConfig() and ceph.Config.WriteTo()
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-09-05 16:48:17 +00:00
amery
fe081a4297
env: set ceph monitors variables
...
they indicate the ceph monitors on the specified zone
* MON{zoneID}_NAME
* MON{zoneID}_ID
* MON{zoneID}_IP
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-09-05 16:48:17 +00:00
amery
cea8362fe6
zones: extend scan to ensure every zone has a ceph monitor
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-09-05 16:48:17 +00:00
amery
b772ec0a3d
zones: store ceph FSID on scan
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-09-05 16:48:17 +00:00
amery
77ad016e99
zones: set Machine.CephMonitor if its referenced as monitor on ceph.conf
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-09-05 16:48:17 +00:00
amery
bf4bfeb3fc
zones: introduce GenCephConfig()
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-09-05 16:48:17 +00:00
amery
e3ab931eb1
zones: introduce Zone.GetCephMonitors()
...
returning the local ceph monitors and setting one
if there is none. non-gateway nodes are preferred
when setting a monitor automatically
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-09-05 16:48:17 +00:00
amery
05e04c758b
zones: introduce Zones.GetCephConfig() accessor for m/ceph.conf
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-09-05 16:48:17 +00:00
amery
94011a3a03
ceph: add NewConfigFromReader() and initial ceph.conf parser
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-09-05 16:48:17 +00:00
amery
025b9072b4
zones: introduce Machine.CephMonitor field
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-09-05 12:24:55 +00:00
amery
0fb8c1d44b
zones: introduce Zones.CephFSID and Zones.GetCephFSID()
...
the accessor doesn't generate one if needed yet
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-09-05 12:24:55 +00:00
amery
296d4007ff
zones: add methods to work with files at the root of m/
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-08-28 16:15:37 +00:00
amery
1a03404a07
Merge pull request 'zone.ScanOptions, custom resolver and prevent unnecessary DNS calls' ( #5 )
...
Reviewed-on: #5
2023-08-28 18:10:39 +02:00
amery
71a1d1a7c2
zones: Env: allow multiple gateways on a Zone
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-08-28 16:06:32 +00:00
amery
de45fa6c30
zones: Env: minor tidy up
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-08-28 16:06:32 +00:00
amery
94daf5ad59
zones: export Machine.LookupNetIP() and Machine.UpdatePublicAddresses()
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-08-28 15:49:26 +00:00
amery
0989dec5e8
zones: add ResolvePublicAddresses() ScanOption to prevent early LookupIP calls
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-08-28 15:49:26 +00:00
amery
216bf5aa29
zones: WithLookuper()/WithResolver()
...
Signed-off-by: Alejandro Mery <amery@jpi.io >
2023-08-28 15:49:26 +00:00