Commit Graph

51 Commits

Author SHA1 Message Date
amery 7f5d48b2b0 cluster: rework env output to qualify zones using the region
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-07-17 15:54:35 +00:00
amery 948eff76d3 cluster: migrate to using pkg/rings for Addresses
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-06-03 20:45:29 +00:00
amery 187149c129 cluster: decouple RingID from WireguardInterfaceID
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-06-03 20:45:29 +00:00
amery 982e16581c cluster: pre-compute Zone's primary region
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-06-03 13:59:31 +00:00
amery cede95e119 cluster: run initRegions() before scanZoneIDs()
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-06-03 13:59:31 +00:00
amery 14e1c447c9 cluster: assign valid rings.RegionID to each primary region
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-06-03 13:59:31 +00:00
amery 99dece1e43 cluster: use rings.ZoneID and rings.NodeID types
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-06-03 13:59:31 +00:00
amery fefbfa16a2 env: export ZONE{zoneID}_REGION
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-03-19 16:47:42 +00:00
amery 7986e0fd3b env: add REGIONS list to output
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-03-19 16:47:42 +00:00
amery 3ba721bf7f env: add []string writer
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-03-19 16:47:42 +00:00
amery e410797413 env: use foo= instead of foo="" for empty variables
to improve readability

Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-03-19 16:47:42 +00:00
amery 0158dc3a3c cluster: add recursive RegionIterator to Zone
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-03-19 16:46:13 +00:00
amery 9226cf2dfd cluster: introduce RegionIterator
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-03-19 16:46:13 +00:00
amery 173dba0c3b cluster: decouple getRegion() from finishRegion()
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-03-19 16:46:13 +00:00
amery 019143820f cluster: remove k8s_token files from zones on write if found
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-03-19 16:42:56 +00:00
amery d3bbe6d270 cluster: introduce Region.Cluster and m/{region}/k8s_token
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-03-19 16:42:56 +00:00
amery 7125e28b74 cluster: extend usage of the ZoneRegionsFileName constant
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-03-19 16:42:56 +00:00
amery f64f4e08fe cluster: remove unused variables on scan option factories
Signed-off-by: Alejandro Mery <amery@jpi.io>
2024-03-02 18:51:10 +00:00
amery 00cf3959a2 cluster: load regions when scanning a directory
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-30 19:47:20 +00:00
amery 0db3e18227 cluster: introduce SyncRegions() to write regions file
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-30 19:47:20 +00:00
amery 0094450ca8 cluster: fix regions/zones mapping when the region exists
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-30 19:47:20 +00:00
amery 99998dc7e8 cluster: mark Machine as Inactive if the "region" file contains "none"
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-30 19:21:08 +00:00
amery 892d849740 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.

v2:
- Machine.Active() renamed to Machine.IsActive()

Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-30 19:20:45 +00:00
amery 1580c09746 cluster: add Machine.ReadLines() shortcut
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-30 18:52:28 +00:00
amery 66fc213f64 Merge pull request 'cluster: improve defaults to ease initialisation of new machines' (#31)
Reviewed-on: #31
2023-10-30 19:48:40 +01:00
amery 1492061ab8 jpictl: create machine directories on jpictl write
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-30 18:46:48 +00:00
amery 57e1077a85 cluster: add MkdirAll() support
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-10-30 18:46:46 +00:00
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 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 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 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 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