Alejandro Mery
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>
1 year ago
Alejandro Mery
6a071ba5f0
zones: ignore unknown wireguard endpoints
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
3e90e3ab1e
zones: ErrUnknownNode and ErrInvalidNode
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
90dd0c1239
zones: ignore machine-less zones
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
033ca2f20e
zones: validate Machine names
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
1bca1f7da1
zones: add logger to Zone and Machine
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
5e5958d22e
zones: introduce (private) logger interface
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
45447275a7
zones: introduce WithLogger() scan option
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
a655603343
env: export FSID
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
c291b218a4
zones: improve GetCephFSID() to generate a new UUID if none was found
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
f10ea1dc22
jpictl: write m/ceph.conf on sync
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
ac87757b06
ceph: zones.Zones.WriteCephConfig() and ceph.Config.WriteTo()
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
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>
1 year ago
Alejandro Mery
cea8362fe6
zones: extend scan to ensure every zone has a ceph monitor
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
b772ec0a3d
zones: store ceph FSID on scan
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
77ad016e99
zones: set Machine.CephMonitor if its referenced as monitor on ceph.conf
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
bf4bfeb3fc
zones: introduce GenCephConfig()
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
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>
1 year ago
Alejandro Mery
05e04c758b
zones: introduce Zones.GetCephConfig() accessor for m/ceph.conf
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
94011a3a03
ceph: add NewConfigFromReader() and initial ceph.conf parser
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
025b9072b4
zones: introduce Machine.CephMonitor field
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
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>
1 year ago
Alejandro Mery
296d4007ff
zones: add methods to work with files at the root of m/
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
71a1d1a7c2
zones: Env: allow multiple gateways on a Zone
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
de45fa6c30
zones: Env: minor tidy up
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
94daf5ad59
zones: export Machine.LookupNetIP() and Machine.UpdatePublicAddresses()
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
0989dec5e8
zones: add ResolvePublicAddresses() ScanOption to prevent early LookupIP calls
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
216bf5aa29
zones: WithLookuper()/WithResolver()
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
9af88f6593
zones: introduce ScanOption/ScanOptions for New()/NewFS()
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
af2d836000
zones: Env: drop unused ZONE{zoneID}_IP
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
f63ce6c4e7
zones: introduce Zone.GatewayIDs()
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
1885c76198
zones: FilterMachines() creates a Machines subset
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
2224e70638
zones: introduce Machines type. iterable and sortable
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
6ee848e6ca
jpictl: introduce `-e` for `jpictl env` to export variables
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
864eb02f9d
zones: turn Zones.WriteEnv() into Zones.Env().WriteTo()
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
9da2f8711f
zones: fix PruneWireguardConfig recursion
...
Zones and Zone implementation should call Machine's directly
instead jumping back to Zone's for each Machine again and again
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
2a14205e7e
wireguard: fix misspellings
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
a5d9466fb8
zones: change WriteEnv() to not fake gateways
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
3d638e9a85
zones: add Zone.SetGateway() to set one by ID
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
60d3a2c290
zones: set first node of a Zone as ring0 gateway if it doesn't have one already
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
af90825f13
zones: Machine.SetGateway()
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
b4f1d2e4d9
wireguard: implement Machine.SyncWireguardConfig()
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
acf9e0e81d
zones: extend WriteWireguardConfig to include a Name indicating the ring ID
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
3b43e0c9ea
wireguard: add support for optional Name comment
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
9762e78f5e
jpictl: do SyncWireguardConfig() on `write`
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
3534e7b755
zones: SyncWireguardConfig() as Prune+Write
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
b80dc84a26
zones: introduce WireguardConfigWriters
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
c0ef6ae9c4
zones: rearrange code around WireguardConfigPruner
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
58867031ea
zones: rearrange code around WireguardKeysWriter
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago
Alejandro Mery
b95d1f1878
zones: introduce Wireguard Ring Config factory
...
Signed-off-by: Alejandro Mery <amery@jpi.io>
1 year ago