Compare commits
3 Commits
main
...
5526276c66
| Author | SHA1 | Date | |
|---|---|---|---|
| 5526276c66 | |||
| db92fffc56 | |||
| b6f355283f |
@@ -15,7 +15,7 @@ TMPDIR ?= .tmp
|
|||||||
REVIVE ?= $(GOBIN)/revive
|
REVIVE ?= $(GOBIN)/revive
|
||||||
REVIVE_CONF ?= $(TOOLSDIR)/revive.toml
|
REVIVE_CONF ?= $(TOOLSDIR)/revive.toml
|
||||||
REVIVE_RUN_ARGS ?= -config $(REVIVE_CONF) -formatter friendly
|
REVIVE_RUN_ARGS ?= -config $(REVIVE_CONF) -formatter friendly
|
||||||
REVIVE_INSTALL_URL ?= github.com/mgechev/revive
|
REVIVE_INSTALL_URL ?= github.com/mgechev/revive@master
|
||||||
|
|
||||||
GO_INSTALL_URLS = \
|
GO_INSTALL_URLS = \
|
||||||
$(REVIVE_INSTALL_URL) \
|
$(REVIVE_INSTALL_URL) \
|
||||||
|
|||||||
+159
@@ -0,0 +1,159 @@
|
|||||||
|
dir: m
|
||||||
|
name: m
|
||||||
|
domain: jpi.cloud
|
||||||
|
ceph_fsid: 28180b9b-6d5d-4be0-bb5b-e4b04bf03804
|
||||||
|
regions:
|
||||||
|
- name: eu
|
||||||
|
cluster: ""
|
||||||
|
regions:
|
||||||
|
- de
|
||||||
|
- nl
|
||||||
|
- name: uk
|
||||||
|
cluster: ""
|
||||||
|
- name: us
|
||||||
|
cluster: ""
|
||||||
|
- name: europe
|
||||||
|
regions:
|
||||||
|
- eu
|
||||||
|
- uk
|
||||||
|
- name: global
|
||||||
|
regions:
|
||||||
|
- europe
|
||||||
|
- us
|
||||||
|
zones:
|
||||||
|
- id: 1
|
||||||
|
name: ssd-lon
|
||||||
|
regions:
|
||||||
|
- uk
|
||||||
|
machines:
|
||||||
|
- id: 3
|
||||||
|
public:
|
||||||
|
- 63.250.53.5
|
||||||
|
- 2602:ff16:7:0:1:66:0:1
|
||||||
|
rings:
|
||||||
|
- ring: 0
|
||||||
|
enabled: true
|
||||||
|
keys:
|
||||||
|
privatekey: WJY1yrd14c0gY4qqq1O8BPck46TVYebXrT+OoMbEqG8=
|
||||||
|
publickey: aDXNwapVjufcuQKfBN+waJObe1TaeeaSNl1suA0u+00=
|
||||||
|
- ring: 1
|
||||||
|
enabled: true
|
||||||
|
keys:
|
||||||
|
privatekey: 2CDO+x8HVKfw1/iqC2WkwIEQyWZsC9XPW1otqxarR0o=
|
||||||
|
publickey: untmMfW2W4OiMgG/6nAysoivXtDh7cZ9/rxhgJ4OlC4=
|
||||||
|
- id: 4
|
||||||
|
ceph_monitor: true
|
||||||
|
public:
|
||||||
|
- 63.250.53.164
|
||||||
|
- 2602:ff16:7:0:1:50:0:1
|
||||||
|
rings:
|
||||||
|
- ring: 1
|
||||||
|
enabled: true
|
||||||
|
keys:
|
||||||
|
privatekey: wE05rSTPSlX9CUdyglpRsNqMVdh8bZSvmUlalGXArEE=
|
||||||
|
publickey: f7AcZy4H2qfi7BRtRA82VdJAqc+IXU90k88GKBp9piM=
|
||||||
|
- id: 5
|
||||||
|
public:
|
||||||
|
- 63.250.53.135
|
||||||
|
- 2602:ff16:7:0:1:156:0:1
|
||||||
|
rings:
|
||||||
|
- ring: 1
|
||||||
|
enabled: true
|
||||||
|
keys:
|
||||||
|
privatekey: oMLrZ8ZmNeWrVroGTh9lx9cJC1enWCF5VfIkv8t+jmk=
|
||||||
|
publickey: 9cUNKM8TPbD8BRjV7TG9/BuTq+2JO8KyrPCx69KW+Bk=
|
||||||
|
- id: 7
|
||||||
|
public:
|
||||||
|
- 107.155.122.3
|
||||||
|
- 2602:ff16:7:0:1:6d:0:1
|
||||||
|
rings:
|
||||||
|
- ring: 1
|
||||||
|
enabled: true
|
||||||
|
keys:
|
||||||
|
privatekey: iN4Rc3J36APlkIP/ksSpHIwAuxC/ehYLwGQ5va1AhG8=
|
||||||
|
publickey: XGVXDmxQajHpsgpzgrp+r/ZWxZUaodTpvGBJuLlZ0n4=
|
||||||
|
- id: 2
|
||||||
|
name: ssd-ams
|
||||||
|
regions:
|
||||||
|
- nl
|
||||||
|
machines:
|
||||||
|
- id: 3
|
||||||
|
public:
|
||||||
|
- 89.233.107.128
|
||||||
|
- 2602:ff16:9:0:1:1a7:0:1
|
||||||
|
rings:
|
||||||
|
- ring: 0
|
||||||
|
enabled: true
|
||||||
|
keys:
|
||||||
|
privatekey: oHVQY976pFH1lAhCrz9c40vR/e5PIXw7ZXv6pU6A5Ho=
|
||||||
|
publickey: y/Gkid2Mjxo1WO9Zi7mh+DETNYKT/AAc3K3bvr9xp3c=
|
||||||
|
- ring: 1
|
||||||
|
enabled: true
|
||||||
|
keys:
|
||||||
|
privatekey: 6I/ZMxaWUTbNc+SIGkNKxgovONqv6EAvg7NeeTRrR1c=
|
||||||
|
publickey: 9i0XI358OOYYoxoxV5lX8siqE8uiEwCsuWLo6LoFu0Y=
|
||||||
|
- id: 4
|
||||||
|
ceph_monitor: true
|
||||||
|
public:
|
||||||
|
- 89.233.107.251
|
||||||
|
- 2602:ff16:9:0:1:130:0:1
|
||||||
|
rings:
|
||||||
|
- ring: 1
|
||||||
|
enabled: true
|
||||||
|
keys:
|
||||||
|
privatekey: SPBd5Ka29ZecKYy7BW85rW7FO9dwKwoUHlSibybPG1s=
|
||||||
|
publickey: QpJupYlnJc7wc3+gAlEmbFMonsqpVnYRy7f/gnPqqBw=
|
||||||
|
- id: 5
|
||||||
|
inactive: true
|
||||||
|
public:
|
||||||
|
- 89.233.107.107
|
||||||
|
- 2602:ff16:9:0:1:74:0:1
|
||||||
|
rings:
|
||||||
|
- ring: 1
|
||||||
|
enabled: true
|
||||||
|
keys:
|
||||||
|
privatekey: mJaFvu9TBwE2i0rjhfhvpB3xZmp++3BVwa7QAvWXImY=
|
||||||
|
publickey: HDLVEwLv0uugyZ9C1C9ZWuiaWQ1qIqqe/DAUxYI0whM=
|
||||||
|
- id: 3
|
||||||
|
name: htz-fsn
|
||||||
|
regions:
|
||||||
|
- de
|
||||||
|
machines:
|
||||||
|
- id: 1
|
||||||
|
ceph_monitor: true
|
||||||
|
public:
|
||||||
|
- 157.90.209.125
|
||||||
|
- 2a01:4f8:252:168f::2
|
||||||
|
rings:
|
||||||
|
- ring: 0
|
||||||
|
enabled: true
|
||||||
|
keys:
|
||||||
|
privatekey: AMz/pCgOMVh1/2rT9uCFMox+LQgH5FrE4xUeqSs0x0M=
|
||||||
|
publickey: K9LYog8vtRFN4nW6dJWMQ9trmRrYuLpbu/Ze5kIiBGw=
|
||||||
|
- ring: 1
|
||||||
|
enabled: true
|
||||||
|
keys:
|
||||||
|
privatekey: 2JpA1G0Dp+sEuDhKnzToz0h76o2iLP+S7Qb9itlgXVA=
|
||||||
|
publickey: qWmYfgeRAQ563gWLdeYs65XjGJTSE+W8WTbpLZ0e1CQ=
|
||||||
|
- id: 4
|
||||||
|
name: ssd-nyc
|
||||||
|
regions:
|
||||||
|
- us
|
||||||
|
machines:
|
||||||
|
- id: 3
|
||||||
|
inactive: true
|
||||||
|
ceph_monitor: true
|
||||||
|
public:
|
||||||
|
- 208.87.134.41
|
||||||
|
- 2602:ff16:3:0:1:4fa:0:1
|
||||||
|
rings:
|
||||||
|
- ring: 0
|
||||||
|
enabled: true
|
||||||
|
keys:
|
||||||
|
privatekey: YNDxj+QSO3p5pXw9h7lBx0cLM0kJDv3v7BYLfc8TR3I=
|
||||||
|
publickey: 1UFgleUufTszPM1voIcwVhd0DpYZ1HwV05U6p3IS2DE=
|
||||||
|
- ring: 1
|
||||||
|
enabled: true
|
||||||
|
keys:
|
||||||
|
privatekey: APXGKqOxx1gOr587FSN3O3gRGpkGgSjt6zGlTu49UlU=
|
||||||
|
publickey: av8ni/9ZUyozabzqTjIy1sOnSJuQ9p63Tu9ECVmHB2I=
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
[global]
|
||||||
|
fsid = 28180b9b-6d5d-4be0-bb5b-e4b04bf03804
|
||||||
|
mon_initial_members = ssd-lon-4, ssd-ams-4, htz-fsn-1, ssd-nyc-3
|
||||||
|
mon_host = 10.16.0.4, 10.32.0.4, 10.48.0.1, 10.64.0.3
|
||||||
|
cluster_network = 10.0.0.0/8
|
||||||
|
|
||||||
|
; don't rewrite labels on startup
|
||||||
|
osd_class_update_on_start = false
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
de
|
||||||
|
nl
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
eu
|
||||||
|
uk
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
europe
|
||||||
|
us
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
127.0.0.1 localhost
|
||||||
|
|
||||||
|
# The following lines are desirable for IPv6 capable hosts
|
||||||
|
::1 ip6-localhost ip6-loopback
|
||||||
|
fe00::0 ip6-localnet
|
||||||
|
ff00::0 ip6-mcastprefix
|
||||||
|
ff02::1 ip6-allnodes
|
||||||
|
ff02::2 ip6-allrouters
|
||||||
|
ff02::3 ip6-allhosts
|
||||||
|
|
||||||
|
10.16.0.3 ssd-lon-3
|
||||||
|
10.16.0.4 ssd-lon-4 ssd-lon-ceph ssd-lon-k3s
|
||||||
|
10.16.0.5 ssd-lon-5
|
||||||
|
10.16.0.7 ssd-lon-7
|
||||||
|
10.32.0.3 ssd-ams-3
|
||||||
|
10.32.0.4 ssd-ams-4 ssd-ams-ceph ssd-ams-k3s
|
||||||
|
10.32.0.5 ssd-ams-5
|
||||||
|
10.48.0.1 htz-fsn-1 htz-fsn-ceph htz-fsn-k3s ceph k3s
|
||||||
|
10.64.0.3 ssd-nyc-3 ssd-nyc-ceph ssd-nyc-k3s
|
||||||
|
|
||||||
|
10.0.1.3 ssd-lon-3-0
|
||||||
|
10.0.2.3 ssd-ams-3-0
|
||||||
|
10.0.3.1 htz-fsn-1-0
|
||||||
|
10.0.4.3 ssd-nyc-3-0
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
[Interface]
|
||||||
|
# Name: htz-fsn-1-0
|
||||||
|
Address = 10.0.3.1
|
||||||
|
PrivateKey = AMz/pCgOMVh1/2rT9uCFMox+LQgH5FrE4xUeqSs0x0M=
|
||||||
|
ListenPort = 51800
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-lon-3-0
|
||||||
|
PublicKey = aDXNwapVjufcuQKfBN+waJObe1TaeeaSNl1suA0u+00=
|
||||||
|
Endpoint = ssd-lon-3.m.jpi.cloud:51800
|
||||||
|
AllowedIPs = 10.16.0.0/12, 10.0.1.3/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-ams-3-0
|
||||||
|
PublicKey = y/Gkid2Mjxo1WO9Zi7mh+DETNYKT/AAc3K3bvr9xp3c=
|
||||||
|
Endpoint = ssd-ams-3.m.jpi.cloud:51800
|
||||||
|
AllowedIPs = 10.32.0.0/12, 10.0.2.3/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-nyc-3-0
|
||||||
|
PublicKey = 1UFgleUufTszPM1voIcwVhd0DpYZ1HwV05U6p3IS2DE=
|
||||||
|
Endpoint = ssd-nyc-3.m.jpi.cloud:51800
|
||||||
|
AllowedIPs = 10.64.0.0/12, 10.0.4.3/32
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
AMz/pCgOMVh1/2rT9uCFMox+LQgH5FrE4xUeqSs0x0M=
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
K9LYog8vtRFN4nW6dJWMQ9trmRrYuLpbu/Ze5kIiBGw=
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
[Interface]
|
||||||
|
# Name: htz-fsn-1-1
|
||||||
|
Address = 10.48.0.1
|
||||||
|
PrivateKey = 2JpA1G0Dp+sEuDhKnzToz0h76o2iLP+S7Qb9itlgXVA=
|
||||||
|
ListenPort = 51810
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
2JpA1G0Dp+sEuDhKnzToz0h76o2iLP+S7Qb9itlgXVA=
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
qWmYfgeRAQ563gWLdeYs65XjGJTSE+W8WTbpLZ0e1CQ=
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
de
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
nl
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
127.0.0.1 localhost
|
||||||
|
|
||||||
|
# The following lines are desirable for IPv6 capable hosts
|
||||||
|
::1 ip6-localhost ip6-loopback
|
||||||
|
fe00::0 ip6-localnet
|
||||||
|
ff00::0 ip6-mcastprefix
|
||||||
|
ff02::1 ip6-allnodes
|
||||||
|
ff02::2 ip6-allrouters
|
||||||
|
ff02::3 ip6-allhosts
|
||||||
|
|
||||||
|
10.16.0.3 ssd-lon-3
|
||||||
|
10.16.0.4 ssd-lon-4 ssd-lon-ceph ssd-lon-k3s
|
||||||
|
10.16.0.5 ssd-lon-5
|
||||||
|
10.16.0.7 ssd-lon-7
|
||||||
|
10.32.0.3 ssd-ams-3
|
||||||
|
10.32.0.4 ssd-ams-4 ssd-ams-ceph ssd-ams-k3s ceph k3s
|
||||||
|
10.32.0.5 ssd-ams-5
|
||||||
|
10.48.0.1 htz-fsn-1 htz-fsn-ceph htz-fsn-k3s
|
||||||
|
10.64.0.3 ssd-nyc-3 ssd-nyc-ceph ssd-nyc-k3s
|
||||||
|
|
||||||
|
10.0.1.3 ssd-lon-3-0
|
||||||
|
10.0.2.3 ssd-ams-3-0
|
||||||
|
10.0.3.1 htz-fsn-1-0
|
||||||
|
10.0.4.3 ssd-nyc-3-0
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
[Interface]
|
||||||
|
# Name: ssd-ams-3-0
|
||||||
|
Address = 10.0.2.3
|
||||||
|
PrivateKey = oHVQY976pFH1lAhCrz9c40vR/e5PIXw7ZXv6pU6A5Ho=
|
||||||
|
ListenPort = 51800
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-lon-3-0
|
||||||
|
PublicKey = aDXNwapVjufcuQKfBN+waJObe1TaeeaSNl1suA0u+00=
|
||||||
|
Endpoint = ssd-lon-3.m.jpi.cloud:51800
|
||||||
|
AllowedIPs = 10.16.0.0/12, 10.0.1.3/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: htz-fsn-1-0
|
||||||
|
PublicKey = K9LYog8vtRFN4nW6dJWMQ9trmRrYuLpbu/Ze5kIiBGw=
|
||||||
|
Endpoint = htz-fsn-1.m.jpi.cloud:51800
|
||||||
|
AllowedIPs = 10.48.0.0/12, 10.0.3.1/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-nyc-3-0
|
||||||
|
PublicKey = 1UFgleUufTszPM1voIcwVhd0DpYZ1HwV05U6p3IS2DE=
|
||||||
|
Endpoint = ssd-nyc-3.m.jpi.cloud:51800
|
||||||
|
AllowedIPs = 10.64.0.0/12, 10.0.4.3/32
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
oHVQY976pFH1lAhCrz9c40vR/e5PIXw7ZXv6pU6A5Ho=
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
y/Gkid2Mjxo1WO9Zi7mh+DETNYKT/AAc3K3bvr9xp3c=
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
[Interface]
|
||||||
|
# Name: ssd-ams-3-1
|
||||||
|
Address = 10.32.0.3
|
||||||
|
PrivateKey = 6I/ZMxaWUTbNc+SIGkNKxgovONqv6EAvg7NeeTRrR1c=
|
||||||
|
ListenPort = 51810
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-ams-4-1
|
||||||
|
PublicKey = QpJupYlnJc7wc3+gAlEmbFMonsqpVnYRy7f/gnPqqBw=
|
||||||
|
Endpoint = ssd-ams-4.m.jpi.cloud:51810
|
||||||
|
AllowedIPs = 10.32.0.4/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-ams-5-1
|
||||||
|
PublicKey = HDLVEwLv0uugyZ9C1C9ZWuiaWQ1qIqqe/DAUxYI0whM=
|
||||||
|
Endpoint = ssd-ams-5.m.jpi.cloud:51810
|
||||||
|
AllowedIPs = 10.32.0.5/32
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
6I/ZMxaWUTbNc+SIGkNKxgovONqv6EAvg7NeeTRrR1c=
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
9i0XI358OOYYoxoxV5lX8siqE8uiEwCsuWLo6LoFu0Y=
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
127.0.0.1 localhost
|
||||||
|
|
||||||
|
# The following lines are desirable for IPv6 capable hosts
|
||||||
|
::1 ip6-localhost ip6-loopback
|
||||||
|
fe00::0 ip6-localnet
|
||||||
|
ff00::0 ip6-mcastprefix
|
||||||
|
ff02::1 ip6-allnodes
|
||||||
|
ff02::2 ip6-allrouters
|
||||||
|
ff02::3 ip6-allhosts
|
||||||
|
|
||||||
|
10.16.0.3 ssd-lon-3
|
||||||
|
10.16.0.4 ssd-lon-4 ssd-lon-ceph ssd-lon-k3s
|
||||||
|
10.16.0.5 ssd-lon-5
|
||||||
|
10.16.0.7 ssd-lon-7
|
||||||
|
10.32.0.3 ssd-ams-3
|
||||||
|
10.32.0.4 ssd-ams-4 ssd-ams-ceph ssd-ams-k3s ceph k3s
|
||||||
|
10.32.0.5 ssd-ams-5
|
||||||
|
10.48.0.1 htz-fsn-1 htz-fsn-ceph htz-fsn-k3s
|
||||||
|
10.64.0.3 ssd-nyc-3 ssd-nyc-ceph ssd-nyc-k3s
|
||||||
|
|
||||||
|
10.0.1.3 ssd-lon-3-0
|
||||||
|
10.0.2.3 ssd-ams-3-0
|
||||||
|
10.0.3.1 htz-fsn-1-0
|
||||||
|
10.0.4.3 ssd-nyc-3-0
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
[Interface]
|
||||||
|
# Name: ssd-ams-4-1
|
||||||
|
Address = 10.32.0.4
|
||||||
|
PrivateKey = SPBd5Ka29ZecKYy7BW85rW7FO9dwKwoUHlSibybPG1s=
|
||||||
|
ListenPort = 51810
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-ams-3-1
|
||||||
|
PublicKey = 9i0XI358OOYYoxoxV5lX8siqE8uiEwCsuWLo6LoFu0Y=
|
||||||
|
Endpoint = ssd-ams-3.m.jpi.cloud:51810
|
||||||
|
AllowedIPs = 10.32.0.3/32, 10.16.0.0/12, 10.48.0.0/12, 10.64.0.0/12, 10.0.1.3/32, 10.0.2.3/32, 10.0.3.1/32, 10.0.4.3/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-ams-5-1
|
||||||
|
PublicKey = HDLVEwLv0uugyZ9C1C9ZWuiaWQ1qIqqe/DAUxYI0whM=
|
||||||
|
Endpoint = ssd-ams-5.m.jpi.cloud:51810
|
||||||
|
AllowedIPs = 10.32.0.5/32
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
SPBd5Ka29ZecKYy7BW85rW7FO9dwKwoUHlSibybPG1s=
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
QpJupYlnJc7wc3+gAlEmbFMonsqpVnYRy7f/gnPqqBw=
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
127.0.0.1 localhost
|
||||||
|
|
||||||
|
# The following lines are desirable for IPv6 capable hosts
|
||||||
|
::1 ip6-localhost ip6-loopback
|
||||||
|
fe00::0 ip6-localnet
|
||||||
|
ff00::0 ip6-mcastprefix
|
||||||
|
ff02::1 ip6-allnodes
|
||||||
|
ff02::2 ip6-allrouters
|
||||||
|
ff02::3 ip6-allhosts
|
||||||
|
|
||||||
|
10.16.0.3 ssd-lon-3
|
||||||
|
10.16.0.4 ssd-lon-4 ssd-lon-ceph ssd-lon-k3s
|
||||||
|
10.16.0.5 ssd-lon-5
|
||||||
|
10.16.0.7 ssd-lon-7
|
||||||
|
10.32.0.3 ssd-ams-3
|
||||||
|
10.32.0.4 ssd-ams-4 ssd-ams-ceph ssd-ams-k3s ceph k3s
|
||||||
|
10.32.0.5 ssd-ams-5
|
||||||
|
10.48.0.1 htz-fsn-1 htz-fsn-ceph htz-fsn-k3s
|
||||||
|
10.64.0.3 ssd-nyc-3 ssd-nyc-ceph ssd-nyc-k3s
|
||||||
|
|
||||||
|
10.0.1.3 ssd-lon-3-0
|
||||||
|
10.0.2.3 ssd-ams-3-0
|
||||||
|
10.0.3.1 htz-fsn-1-0
|
||||||
|
10.0.4.3 ssd-nyc-3-0
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
none
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
[Interface]
|
||||||
|
# Name: ssd-ams-5-1
|
||||||
|
Address = 10.32.0.5
|
||||||
|
PrivateKey = mJaFvu9TBwE2i0rjhfhvpB3xZmp++3BVwa7QAvWXImY=
|
||||||
|
ListenPort = 51810
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-ams-3-1
|
||||||
|
PublicKey = 9i0XI358OOYYoxoxV5lX8siqE8uiEwCsuWLo6LoFu0Y=
|
||||||
|
Endpoint = ssd-ams-3.m.jpi.cloud:51810
|
||||||
|
AllowedIPs = 10.32.0.3/32, 10.16.0.0/12, 10.48.0.0/12, 10.64.0.0/12, 10.0.1.3/32, 10.0.2.3/32, 10.0.3.1/32, 10.0.4.3/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-ams-4-1
|
||||||
|
PublicKey = QpJupYlnJc7wc3+gAlEmbFMonsqpVnYRy7f/gnPqqBw=
|
||||||
|
Endpoint = ssd-ams-4.m.jpi.cloud:51810
|
||||||
|
AllowedIPs = 10.32.0.4/32
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
mJaFvu9TBwE2i0rjhfhvpB3xZmp++3BVwa7QAvWXImY=
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
HDLVEwLv0uugyZ9C1C9ZWuiaWQ1qIqqe/DAUxYI0whM=
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uk
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
127.0.0.1 localhost
|
||||||
|
|
||||||
|
# The following lines are desirable for IPv6 capable hosts
|
||||||
|
::1 ip6-localhost ip6-loopback
|
||||||
|
fe00::0 ip6-localnet
|
||||||
|
ff00::0 ip6-mcastprefix
|
||||||
|
ff02::1 ip6-allnodes
|
||||||
|
ff02::2 ip6-allrouters
|
||||||
|
ff02::3 ip6-allhosts
|
||||||
|
|
||||||
|
10.16.0.3 ssd-lon-3
|
||||||
|
10.16.0.4 ssd-lon-4 ssd-lon-ceph ssd-lon-k3s ceph k3s
|
||||||
|
10.16.0.5 ssd-lon-5
|
||||||
|
10.16.0.7 ssd-lon-7
|
||||||
|
10.32.0.3 ssd-ams-3
|
||||||
|
10.32.0.4 ssd-ams-4 ssd-ams-ceph ssd-ams-k3s
|
||||||
|
10.32.0.5 ssd-ams-5
|
||||||
|
10.48.0.1 htz-fsn-1 htz-fsn-ceph htz-fsn-k3s
|
||||||
|
10.64.0.3 ssd-nyc-3 ssd-nyc-ceph ssd-nyc-k3s
|
||||||
|
|
||||||
|
10.0.1.3 ssd-lon-3-0
|
||||||
|
10.0.2.3 ssd-ams-3-0
|
||||||
|
10.0.3.1 htz-fsn-1-0
|
||||||
|
10.0.4.3 ssd-nyc-3-0
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
[Interface]
|
||||||
|
# Name: ssd-lon-3-0
|
||||||
|
Address = 10.0.1.3
|
||||||
|
PrivateKey = WJY1yrd14c0gY4qqq1O8BPck46TVYebXrT+OoMbEqG8=
|
||||||
|
ListenPort = 51800
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-ams-3-0
|
||||||
|
PublicKey = y/Gkid2Mjxo1WO9Zi7mh+DETNYKT/AAc3K3bvr9xp3c=
|
||||||
|
Endpoint = ssd-ams-3.m.jpi.cloud:51800
|
||||||
|
AllowedIPs = 10.32.0.0/12, 10.0.2.3/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: htz-fsn-1-0
|
||||||
|
PublicKey = K9LYog8vtRFN4nW6dJWMQ9trmRrYuLpbu/Ze5kIiBGw=
|
||||||
|
Endpoint = htz-fsn-1.m.jpi.cloud:51800
|
||||||
|
AllowedIPs = 10.48.0.0/12, 10.0.3.1/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-nyc-3-0
|
||||||
|
PublicKey = 1UFgleUufTszPM1voIcwVhd0DpYZ1HwV05U6p3IS2DE=
|
||||||
|
Endpoint = ssd-nyc-3.m.jpi.cloud:51800
|
||||||
|
AllowedIPs = 10.64.0.0/12, 10.0.4.3/32
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
WJY1yrd14c0gY4qqq1O8BPck46TVYebXrT+OoMbEqG8=
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
aDXNwapVjufcuQKfBN+waJObe1TaeeaSNl1suA0u+00=
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
[Interface]
|
||||||
|
# Name: ssd-lon-3-1
|
||||||
|
Address = 10.16.0.3
|
||||||
|
PrivateKey = 2CDO+x8HVKfw1/iqC2WkwIEQyWZsC9XPW1otqxarR0o=
|
||||||
|
ListenPort = 51810
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-lon-4-1
|
||||||
|
PublicKey = f7AcZy4H2qfi7BRtRA82VdJAqc+IXU90k88GKBp9piM=
|
||||||
|
Endpoint = ssd-lon-4.m.jpi.cloud:51810
|
||||||
|
AllowedIPs = 10.16.0.4/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-lon-5-1
|
||||||
|
PublicKey = 9cUNKM8TPbD8BRjV7TG9/BuTq+2JO8KyrPCx69KW+Bk=
|
||||||
|
Endpoint = ssd-lon-5.m.jpi.cloud:51810
|
||||||
|
AllowedIPs = 10.16.0.5/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-lon-7-1
|
||||||
|
PublicKey = XGVXDmxQajHpsgpzgrp+r/ZWxZUaodTpvGBJuLlZ0n4=
|
||||||
|
Endpoint = ssd-lon-7.m.jpi.cloud:51810
|
||||||
|
AllowedIPs = 10.16.0.7/32
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
2CDO+x8HVKfw1/iqC2WkwIEQyWZsC9XPW1otqxarR0o=
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
untmMfW2W4OiMgG/6nAysoivXtDh7cZ9/rxhgJ4OlC4=
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
127.0.0.1 localhost
|
||||||
|
|
||||||
|
# The following lines are desirable for IPv6 capable hosts
|
||||||
|
::1 ip6-localhost ip6-loopback
|
||||||
|
fe00::0 ip6-localnet
|
||||||
|
ff00::0 ip6-mcastprefix
|
||||||
|
ff02::1 ip6-allnodes
|
||||||
|
ff02::2 ip6-allrouters
|
||||||
|
ff02::3 ip6-allhosts
|
||||||
|
|
||||||
|
10.16.0.3 ssd-lon-3
|
||||||
|
10.16.0.4 ssd-lon-4 ssd-lon-ceph ssd-lon-k3s ceph k3s
|
||||||
|
10.16.0.5 ssd-lon-5
|
||||||
|
10.16.0.7 ssd-lon-7
|
||||||
|
10.32.0.3 ssd-ams-3
|
||||||
|
10.32.0.4 ssd-ams-4 ssd-ams-ceph ssd-ams-k3s
|
||||||
|
10.32.0.5 ssd-ams-5
|
||||||
|
10.48.0.1 htz-fsn-1 htz-fsn-ceph htz-fsn-k3s
|
||||||
|
10.64.0.3 ssd-nyc-3 ssd-nyc-ceph ssd-nyc-k3s
|
||||||
|
|
||||||
|
10.0.1.3 ssd-lon-3-0
|
||||||
|
10.0.2.3 ssd-ams-3-0
|
||||||
|
10.0.3.1 htz-fsn-1-0
|
||||||
|
10.0.4.3 ssd-nyc-3-0
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
[Interface]
|
||||||
|
# Name: ssd-lon-4-1
|
||||||
|
Address = 10.16.0.4
|
||||||
|
PrivateKey = wE05rSTPSlX9CUdyglpRsNqMVdh8bZSvmUlalGXArEE=
|
||||||
|
ListenPort = 51810
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-lon-3-1
|
||||||
|
PublicKey = untmMfW2W4OiMgG/6nAysoivXtDh7cZ9/rxhgJ4OlC4=
|
||||||
|
Endpoint = ssd-lon-3.m.jpi.cloud:51810
|
||||||
|
AllowedIPs = 10.16.0.3/32, 10.32.0.0/12, 10.48.0.0/12, 10.64.0.0/12, 10.0.1.3/32, 10.0.2.3/32, 10.0.3.1/32, 10.0.4.3/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-lon-5-1
|
||||||
|
PublicKey = 9cUNKM8TPbD8BRjV7TG9/BuTq+2JO8KyrPCx69KW+Bk=
|
||||||
|
Endpoint = ssd-lon-5.m.jpi.cloud:51810
|
||||||
|
AllowedIPs = 10.16.0.5/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-lon-7-1
|
||||||
|
PublicKey = XGVXDmxQajHpsgpzgrp+r/ZWxZUaodTpvGBJuLlZ0n4=
|
||||||
|
Endpoint = ssd-lon-7.m.jpi.cloud:51810
|
||||||
|
AllowedIPs = 10.16.0.7/32
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
wE05rSTPSlX9CUdyglpRsNqMVdh8bZSvmUlalGXArEE=
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
f7AcZy4H2qfi7BRtRA82VdJAqc+IXU90k88GKBp9piM=
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
127.0.0.1 localhost
|
||||||
|
|
||||||
|
# The following lines are desirable for IPv6 capable hosts
|
||||||
|
::1 ip6-localhost ip6-loopback
|
||||||
|
fe00::0 ip6-localnet
|
||||||
|
ff00::0 ip6-mcastprefix
|
||||||
|
ff02::1 ip6-allnodes
|
||||||
|
ff02::2 ip6-allrouters
|
||||||
|
ff02::3 ip6-allhosts
|
||||||
|
|
||||||
|
10.16.0.3 ssd-lon-3
|
||||||
|
10.16.0.4 ssd-lon-4 ssd-lon-ceph ssd-lon-k3s ceph k3s
|
||||||
|
10.16.0.5 ssd-lon-5
|
||||||
|
10.16.0.7 ssd-lon-7
|
||||||
|
10.32.0.3 ssd-ams-3
|
||||||
|
10.32.0.4 ssd-ams-4 ssd-ams-ceph ssd-ams-k3s
|
||||||
|
10.32.0.5 ssd-ams-5
|
||||||
|
10.48.0.1 htz-fsn-1 htz-fsn-ceph htz-fsn-k3s
|
||||||
|
10.64.0.3 ssd-nyc-3 ssd-nyc-ceph ssd-nyc-k3s
|
||||||
|
|
||||||
|
10.0.1.3 ssd-lon-3-0
|
||||||
|
10.0.2.3 ssd-ams-3-0
|
||||||
|
10.0.3.1 htz-fsn-1-0
|
||||||
|
10.0.4.3 ssd-nyc-3-0
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
[Interface]
|
||||||
|
# Name: ssd-lon-5-1
|
||||||
|
Address = 10.16.0.5
|
||||||
|
PrivateKey = oMLrZ8ZmNeWrVroGTh9lx9cJC1enWCF5VfIkv8t+jmk=
|
||||||
|
ListenPort = 51810
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-lon-3-1
|
||||||
|
PublicKey = untmMfW2W4OiMgG/6nAysoivXtDh7cZ9/rxhgJ4OlC4=
|
||||||
|
Endpoint = ssd-lon-3.m.jpi.cloud:51810
|
||||||
|
AllowedIPs = 10.16.0.3/32, 10.32.0.0/12, 10.48.0.0/12, 10.64.0.0/12, 10.0.1.3/32, 10.0.2.3/32, 10.0.3.1/32, 10.0.4.3/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-lon-4-1
|
||||||
|
PublicKey = f7AcZy4H2qfi7BRtRA82VdJAqc+IXU90k88GKBp9piM=
|
||||||
|
Endpoint = ssd-lon-4.m.jpi.cloud:51810
|
||||||
|
AllowedIPs = 10.16.0.4/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-lon-7-1
|
||||||
|
PublicKey = XGVXDmxQajHpsgpzgrp+r/ZWxZUaodTpvGBJuLlZ0n4=
|
||||||
|
Endpoint = ssd-lon-7.m.jpi.cloud:51810
|
||||||
|
AllowedIPs = 10.16.0.7/32
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
oMLrZ8ZmNeWrVroGTh9lx9cJC1enWCF5VfIkv8t+jmk=
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
9cUNKM8TPbD8BRjV7TG9/BuTq+2JO8KyrPCx69KW+Bk=
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
127.0.0.1 localhost
|
||||||
|
|
||||||
|
# The following lines are desirable for IPv6 capable hosts
|
||||||
|
::1 ip6-localhost ip6-loopback
|
||||||
|
fe00::0 ip6-localnet
|
||||||
|
ff00::0 ip6-mcastprefix
|
||||||
|
ff02::1 ip6-allnodes
|
||||||
|
ff02::2 ip6-allrouters
|
||||||
|
ff02::3 ip6-allhosts
|
||||||
|
|
||||||
|
10.16.0.3 ssd-lon-3
|
||||||
|
10.16.0.4 ssd-lon-4 ssd-lon-ceph ssd-lon-k3s ceph k3s
|
||||||
|
10.16.0.5 ssd-lon-5
|
||||||
|
10.16.0.7 ssd-lon-7
|
||||||
|
10.32.0.3 ssd-ams-3
|
||||||
|
10.32.0.4 ssd-ams-4 ssd-ams-ceph ssd-ams-k3s
|
||||||
|
10.32.0.5 ssd-ams-5
|
||||||
|
10.48.0.1 htz-fsn-1 htz-fsn-ceph htz-fsn-k3s
|
||||||
|
10.64.0.3 ssd-nyc-3 ssd-nyc-ceph ssd-nyc-k3s
|
||||||
|
|
||||||
|
10.0.1.3 ssd-lon-3-0
|
||||||
|
10.0.2.3 ssd-ams-3-0
|
||||||
|
10.0.3.1 htz-fsn-1-0
|
||||||
|
10.0.4.3 ssd-nyc-3-0
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
[Interface]
|
||||||
|
# Name: ssd-lon-7-1
|
||||||
|
Address = 10.16.0.7
|
||||||
|
PrivateKey = iN4Rc3J36APlkIP/ksSpHIwAuxC/ehYLwGQ5va1AhG8=
|
||||||
|
ListenPort = 51810
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-lon-3-1
|
||||||
|
PublicKey = untmMfW2W4OiMgG/6nAysoivXtDh7cZ9/rxhgJ4OlC4=
|
||||||
|
Endpoint = ssd-lon-3.m.jpi.cloud:51810
|
||||||
|
AllowedIPs = 10.16.0.3/32, 10.32.0.0/12, 10.48.0.0/12, 10.64.0.0/12, 10.0.1.3/32, 10.0.2.3/32, 10.0.3.1/32, 10.0.4.3/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-lon-4-1
|
||||||
|
PublicKey = f7AcZy4H2qfi7BRtRA82VdJAqc+IXU90k88GKBp9piM=
|
||||||
|
Endpoint = ssd-lon-4.m.jpi.cloud:51810
|
||||||
|
AllowedIPs = 10.16.0.4/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-lon-5-1
|
||||||
|
PublicKey = 9cUNKM8TPbD8BRjV7TG9/BuTq+2JO8KyrPCx69KW+Bk=
|
||||||
|
Endpoint = ssd-lon-5.m.jpi.cloud:51810
|
||||||
|
AllowedIPs = 10.16.0.5/32
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
iN4Rc3J36APlkIP/ksSpHIwAuxC/ehYLwGQ5va1AhG8=
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
XGVXDmxQajHpsgpzgrp+r/ZWxZUaodTpvGBJuLlZ0n4=
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
us
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
127.0.0.1 localhost
|
||||||
|
|
||||||
|
# The following lines are desirable for IPv6 capable hosts
|
||||||
|
::1 ip6-localhost ip6-loopback
|
||||||
|
fe00::0 ip6-localnet
|
||||||
|
ff00::0 ip6-mcastprefix
|
||||||
|
ff02::1 ip6-allnodes
|
||||||
|
ff02::2 ip6-allrouters
|
||||||
|
ff02::3 ip6-allhosts
|
||||||
|
|
||||||
|
10.16.0.3 ssd-lon-3
|
||||||
|
10.16.0.4 ssd-lon-4 ssd-lon-ceph ssd-lon-k3s
|
||||||
|
10.16.0.5 ssd-lon-5
|
||||||
|
10.16.0.7 ssd-lon-7
|
||||||
|
10.32.0.3 ssd-ams-3
|
||||||
|
10.32.0.4 ssd-ams-4 ssd-ams-ceph ssd-ams-k3s
|
||||||
|
10.32.0.5 ssd-ams-5
|
||||||
|
10.48.0.1 htz-fsn-1 htz-fsn-ceph htz-fsn-k3s
|
||||||
|
10.64.0.3 ssd-nyc-3 ssd-nyc-ceph ssd-nyc-k3s ceph k3s
|
||||||
|
|
||||||
|
10.0.1.3 ssd-lon-3-0
|
||||||
|
10.0.2.3 ssd-ams-3-0
|
||||||
|
10.0.3.1 htz-fsn-1-0
|
||||||
|
10.0.4.3 ssd-nyc-3-0
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
none
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
[Interface]
|
||||||
|
# Name: ssd-nyc-3-0
|
||||||
|
Address = 10.0.4.3
|
||||||
|
PrivateKey = YNDxj+QSO3p5pXw9h7lBx0cLM0kJDv3v7BYLfc8TR3I=
|
||||||
|
ListenPort = 51800
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-lon-3-0
|
||||||
|
PublicKey = aDXNwapVjufcuQKfBN+waJObe1TaeeaSNl1suA0u+00=
|
||||||
|
Endpoint = ssd-lon-3.m.jpi.cloud:51800
|
||||||
|
AllowedIPs = 10.16.0.0/12, 10.0.1.3/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: ssd-ams-3-0
|
||||||
|
PublicKey = y/Gkid2Mjxo1WO9Zi7mh+DETNYKT/AAc3K3bvr9xp3c=
|
||||||
|
Endpoint = ssd-ams-3.m.jpi.cloud:51800
|
||||||
|
AllowedIPs = 10.32.0.0/12, 10.0.2.3/32
|
||||||
|
|
||||||
|
[Peer]
|
||||||
|
# Name: htz-fsn-1-0
|
||||||
|
PublicKey = K9LYog8vtRFN4nW6dJWMQ9trmRrYuLpbu/Ze5kIiBGw=
|
||||||
|
Endpoint = htz-fsn-1.m.jpi.cloud:51800
|
||||||
|
AllowedIPs = 10.48.0.0/12, 10.0.3.1/32
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
YNDxj+QSO3p5pXw9h7lBx0cLM0kJDv3v7BYLfc8TR3I=
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
1UFgleUufTszPM1voIcwVhd0DpYZ1HwV05U6p3IS2DE=
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
[Interface]
|
||||||
|
# Name: ssd-nyc-3-1
|
||||||
|
Address = 10.64.0.3
|
||||||
|
PrivateKey = APXGKqOxx1gOr587FSN3O3gRGpkGgSjt6zGlTu49UlU=
|
||||||
|
ListenPort = 51810
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
APXGKqOxx1gOr587FSN3O3gRGpkGgSjt6zGlTu49UlU=
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
av8ni/9ZUyozabzqTjIy1sOnSJuQ9p63Tu9ECVmHB2I=
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package rings
|
||||||
|
|
||||||
|
import (
|
||||||
|
"syscall"
|
||||||
|
|
||||||
|
"darvaza.org/core"
|
||||||
|
)
|
||||||
|
|
||||||
|
func ErrOutOfRange[T ~int](value T, field string) error {
|
||||||
|
return core.Wrap(syscall.EINVAL, "%v: %s out of range", value, field)
|
||||||
|
}
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
// Package rings implements ...
|
||||||
|
package rings
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/netip"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
RegionBits = 4
|
||||||
|
ZoneBits = 4
|
||||||
|
NodeBits = 12
|
||||||
|
NodeZeroBits = 8
|
||||||
|
|
||||||
|
RegionMax = (1 << RegionBits) - 1
|
||||||
|
ZoneMax = (1 << ZoneBits) - 1
|
||||||
|
NodeMax = (1 << NodeBits) - 1
|
||||||
|
NodeZeroMax = (1 << NodeZeroBits) - 1
|
||||||
|
|
||||||
|
RingZeroBits = 20
|
||||||
|
RingOneBits = 20
|
||||||
|
RingTwoBits = 20
|
||||||
|
RingThreeBits = 12
|
||||||
|
)
|
||||||
|
|
||||||
|
type (
|
||||||
|
RegionID int
|
||||||
|
ZoneID int
|
||||||
|
NodeID int
|
||||||
|
)
|
||||||
|
|
||||||
|
func (n RegionID) Valid() bool { return n > 0 && n <= RegionMax }
|
||||||
|
func (n ZoneID) Valid() bool { return n > 0 && n <= ZoneMax }
|
||||||
|
func (n NodeID) Valid() bool { return n > 0 && n <= NodeMax }
|
||||||
|
func (n NodeID) ValidZero() bool { return n > 0 && n <= NodeZeroMax }
|
||||||
|
|
||||||
|
// 10.0.(region_id << 4 + zone_id).(node_id)/20 for ring 0
|
||||||
|
func RingZeroAddress(region RegionID, zone ZoneID, node NodeID) (addr netip.Addr, err error) {
|
||||||
|
switch {
|
||||||
|
case !region.Valid():
|
||||||
|
err = ErrOutOfRange(region, "region")
|
||||||
|
case !zone.Valid():
|
||||||
|
err = ErrOutOfRange(zone, "zone")
|
||||||
|
case !node.ValidZero():
|
||||||
|
err = ErrOutOfRange(node, "node")
|
||||||
|
default:
|
||||||
|
addr = unsafeAddrFrom4(10, 0, uint(region)<<4+uint(zone), uint(node))
|
||||||
|
}
|
||||||
|
|
||||||
|
return addr, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func RingZeroPrefix(region RegionID, zone ZoneID) (cidr netip.Prefix, err error) {
|
||||||
|
switch {
|
||||||
|
case !region.Valid():
|
||||||
|
err = ErrOutOfRange(region, "region")
|
||||||
|
case !zone.Valid():
|
||||||
|
err = ErrOutOfRange(zone, "zone")
|
||||||
|
default:
|
||||||
|
addr := unsafeAddrFrom4(10, 0, uint(region)<<4+uint(zone), 0)
|
||||||
|
cidr = netip.PrefixFrom(addr, RingZeroBits)
|
||||||
|
}
|
||||||
|
|
||||||
|
return cidr, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// 10.(region_id).(zone_id << 4).(node_id)/20 for ring 1
|
||||||
|
func RingOneAddress(region RegionID, zone ZoneID, node NodeID) (addr netip.Addr, err error) {
|
||||||
|
switch {
|
||||||
|
case !region.Valid():
|
||||||
|
err = ErrOutOfRange(region, "region")
|
||||||
|
case !zone.Valid():
|
||||||
|
err = ErrOutOfRange(zone, "zone")
|
||||||
|
case !node.Valid():
|
||||||
|
err = ErrOutOfRange(node, "node")
|
||||||
|
default:
|
||||||
|
n1 := uint(node) / 8
|
||||||
|
n2 := uint(node) % 8
|
||||||
|
addr = unsafeAddrFrom4(10, uint(region), uint(zone)<<4+n1, n2)
|
||||||
|
}
|
||||||
|
return addr, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func RingOnePrefix(region RegionID, zone ZoneID) (cidr netip.Prefix, err error) {
|
||||||
|
switch {
|
||||||
|
case !region.Valid():
|
||||||
|
err = ErrOutOfRange(region, "region")
|
||||||
|
case !zone.Valid():
|
||||||
|
err = ErrOutOfRange(zone, "zone")
|
||||||
|
default:
|
||||||
|
addr := unsafeAddrFrom4(10, uint(region), uint(zone)<<4, 0)
|
||||||
|
cidr = netip.PrefixFrom(addr, RingOneBits)
|
||||||
|
}
|
||||||
|
return cidr, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// 10.(region_id).0.0/20 for ring 2
|
||||||
|
func RingTwoPrefix(region RegionID) (cidr netip.Prefix, err error) {
|
||||||
|
switch {
|
||||||
|
case !region.Valid():
|
||||||
|
err = ErrOutOfRange(region, "region")
|
||||||
|
default:
|
||||||
|
addr := unsafeAddrFrom4(10, uint(region), 0, 0)
|
||||||
|
cidr = netip.PrefixFrom(addr, RingTwoBits)
|
||||||
|
}
|
||||||
|
return cidr, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// 10.(region_id << 4).0.0/12 for ring 3
|
||||||
|
func RingThreePrefix(region RegionID) (cidr netip.Prefix, err error) {
|
||||||
|
switch {
|
||||||
|
case !region.Valid():
|
||||||
|
err = ErrOutOfRange(region, "region")
|
||||||
|
default:
|
||||||
|
addr := unsafeAddrFrom4(10, uint(region)<<4, 0, 0)
|
||||||
|
cidr = netip.PrefixFrom(addr, RingThreeBits)
|
||||||
|
}
|
||||||
|
return cidr, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func unsafeAddrFrom4[T ~int | ~uint](a, b, c, d T) netip.Addr {
|
||||||
|
return netip.AddrFrom4([4]byte{
|
||||||
|
byte(a),
|
||||||
|
byte(b),
|
||||||
|
byte(c),
|
||||||
|
byte(d),
|
||||||
|
})
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user