raijin-server 0.2.13__py3-none-any.whl → 0.2.16__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
raijin_server/__init__.py CHANGED
@@ -1,5 +1,5 @@
1
1
  """Pacote principal do CLI Raijin Server."""
2
2
 
3
- __version__ = "0.2.13"
3
+ __version__ = "0.2.16"
4
4
 
5
5
  __all__ = ["__version__"]
@@ -1,10 +1,33 @@
1
1
  """Provisiona MetalLB (L2) com pool de IPs para LoadBalancer em ambientes bare metal."""
2
2
 
3
+ import socket
4
+
3
5
  import typer
4
6
 
5
7
  from raijin_server.utils import ExecutionContext, helm_upgrade_install, require_root, run_cmd
6
8
 
7
9
 
10
+ def _detect_node_name(ctx: ExecutionContext) -> str:
11
+ """Tenta obter o nome do node via kubectl; fallback para hostname local."""
12
+
13
+ result = run_cmd(
14
+ [
15
+ "kubectl",
16
+ "get",
17
+ "nodes",
18
+ "-o",
19
+ "jsonpath={.items[0].metadata.name}",
20
+ ],
21
+ ctx,
22
+ check=False,
23
+ )
24
+ if result.returncode == 0:
25
+ node_name = (result.stdout or "").strip()
26
+ if node_name:
27
+ return node_name
28
+ return socket.gethostname()
29
+
30
+
8
31
  def _rollout_wait(kind: str, name: str, ctx: ExecutionContext) -> None:
9
32
  run_cmd([
10
33
  "kubectl",
@@ -47,9 +70,30 @@ def run(ctx: ExecutionContext) -> None:
47
70
 
48
71
  pool = typer.prompt(
49
72
  "Pool de IPs (range ou CIDR) para services LoadBalancer",
50
- default="192.168.1.240-192.168.1.250",
73
+ default="192.168.1.100-192.168.1.250",
51
74
  )
52
75
 
76
+ node_name = _detect_node_name(ctx)
77
+
78
+ values = [
79
+ # Permite agendar em control-plane de cluster single-node
80
+ "controller.tolerations[0].key=node-role.kubernetes.io/control-plane",
81
+ "controller.tolerations[0].operator=Exists",
82
+ "controller.tolerations[0].effect=NoSchedule",
83
+ "controller.tolerations[1].key=node-role.kubernetes.io/master",
84
+ "controller.tolerations[1].operator=Exists",
85
+ "controller.tolerations[1].effect=NoSchedule",
86
+ "speaker.tolerations[0].key=node-role.kubernetes.io/control-plane",
87
+ "speaker.tolerations[0].operator=Exists",
88
+ "speaker.tolerations[0].effect=NoSchedule",
89
+ "speaker.tolerations[1].key=node-role.kubernetes.io/master",
90
+ "speaker.tolerations[1].operator=Exists",
91
+ "speaker.tolerations[1].effect=NoSchedule",
92
+ # Usa set em formato de mapa para preservar a chave com ponto (kubernetes.io/hostname)
93
+ f"controller.nodeSelector={{\"kubernetes.io/hostname\":\"{node_name}\"}}",
94
+ f"speaker.nodeSelector={{\"kubernetes.io/hostname\":\"{node_name}\"}}",
95
+ ]
96
+
53
97
  # Instala control-plane + speaker
54
98
  helm_upgrade_install(
55
99
  release="metallb",
@@ -58,7 +102,7 @@ def run(ctx: ExecutionContext) -> None:
58
102
  repo="metallb",
59
103
  repo_url="https://metallb.github.io/metallb",
60
104
  ctx=ctx,
61
- values=[],
105
+ values=values,
62
106
  )
63
107
 
64
108
  # Espera recursos principais ficarem prontos
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: raijin-server
3
- Version: 0.2.13
3
+ Version: 0.2.16
4
4
  Summary: CLI para automacao de setup e hardening de servidores Ubuntu Server.
5
5
  Home-page: https://example.com/raijin-server
6
6
  Author: Equipe Raijin
@@ -1,4 +1,4 @@
1
- raijin_server/__init__.py,sha256=t5hsZ_bmnm21ubi5jn7sguC6cMS69X7w1Xs1x93kIGQ,95
1
+ raijin_server/__init__.py,sha256=Oy2VcLUj08dLtY0Z6O-wy8MNhBfkYZgS_nfnLUdBcgc,95
2
2
  raijin_server/cli.py,sha256=71nn7QN0f3MJkXcHr0STXmxljr-CaPibzOoiItbOT88,28571
3
3
  raijin_server/config.py,sha256=QNiEVvrbW56XgvNn5-h3bkJm46Xc8mjNqPbvixXD8N0,4829
4
4
  raijin_server/healthchecks.py,sha256=lzXdFw6S0hOYbUKbqksh4phb04lXgXdTspP1Dsz4dx8,15401
@@ -20,7 +20,7 @@ raijin_server/modules/kafka.py,sha256=bp8k_IhuAIO6dL0IpK1UxxLZoGih6nJp0ZnzwmiZEj
20
20
  raijin_server/modules/kong.py,sha256=2EZKYBmBhm_7Nduw9PWrvrekp0VCxQbc2gElpAJqKfg,491
21
21
  raijin_server/modules/kubernetes.py,sha256=waSf2cCVnLicN5o3M47MzMzmHHtvKeFXm1__8ynQzA0,11871
22
22
  raijin_server/modules/loki.py,sha256=erwFfSiSFOv-Ul3nFdrI2RElPYuqqBPBBa_MJAwyLys,676
23
- raijin_server/modules/metallb.py,sha256=cEAbFE54aV3JjfczKWSqYN-nwfyvS-lWH5n-46-cIEI,2487
23
+ raijin_server/modules/metallb.py,sha256=tg4oSJEElHBFpYy2Sl4IR9oCzBPHN5FKNi9n6T1vLeM,4122
24
24
  raijin_server/modules/minio.py,sha256=BVvsEaJlJUV92_ep7pKsBhSYPjWZrDOB3J6XAWYAHYg,486
25
25
  raijin_server/modules/network.py,sha256=QRlYdcryCCPAWG3QQ_W7ld9gJgETI7H8gwntOU7UqFE,4818
26
26
  raijin_server/modules/observability_dashboards.py,sha256=fVz0WEOQrUTF5rJ__Nu_onyBuwL_exFmysWMmg8AE9w,7319
@@ -37,9 +37,9 @@ raijin_server/scripts/checklist.sh,sha256=j6E0Kmk1EfjLvKK1VpCqzXJAXI_7Bm67LK4ndy
37
37
  raijin_server/scripts/install.sh,sha256=Y1ickbQ4siQ0NIPs6UgrqUr8WWy7U0LHmaTQbEgavoI,3949
38
38
  raijin_server/scripts/log_size_metric.sh,sha256=Iv4SsX8AuCYRou-klYn32mX41xB6j0xJGLBO6riw4rU,1208
39
39
  raijin_server/scripts/pre-deploy-check.sh,sha256=XqMo7IMIpwUHF17YEmU0-cVmTDMoCGMBFnmS39FidI4,4912
40
- raijin_server-0.2.13.dist-info/licenses/LICENSE,sha256=kJsMCjOiRZE0AQNtxWqBa32z9kMAaF4EUxyHj3hKaJo,1105
41
- raijin_server-0.2.13.dist-info/METADATA,sha256=gmMf3SJRAM3q2EtkyclFHXOY2OPO9YWsxklhnT6htag,22476
42
- raijin_server-0.2.13.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
43
- raijin_server-0.2.13.dist-info/entry_points.txt,sha256=3ZvxDX4pvcjkIRsXAJ69wIfVmKa78LKo-C3QhqN2KVM,56
44
- raijin_server-0.2.13.dist-info/top_level.txt,sha256=Yz1xneCRtsZOzbPIcTAcrSxd-1p80pohMXYAZ74dpok,14
45
- raijin_server-0.2.13.dist-info/RECORD,,
40
+ raijin_server-0.2.16.dist-info/licenses/LICENSE,sha256=kJsMCjOiRZE0AQNtxWqBa32z9kMAaF4EUxyHj3hKaJo,1105
41
+ raijin_server-0.2.16.dist-info/METADATA,sha256=Xe2s3dtG64zsqkM6CxV5p-4tDKB7Gx4zvoCHdlXGmfE,22476
42
+ raijin_server-0.2.16.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
43
+ raijin_server-0.2.16.dist-info/entry_points.txt,sha256=3ZvxDX4pvcjkIRsXAJ69wIfVmKa78LKo-C3QhqN2KVM,56
44
+ raijin_server-0.2.16.dist-info/top_level.txt,sha256=Yz1xneCRtsZOzbPIcTAcrSxd-1p80pohMXYAZ74dpok,14
45
+ raijin_server-0.2.16.dist-info/RECORD,,