raijin-server 0.2.13__tar.gz → 0.2.14__tar.gz

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.
Files changed (53) hide show
  1. {raijin_server-0.2.13/src/raijin_server.egg-info → raijin_server-0.2.14}/PKG-INFO +1 -1
  2. {raijin_server-0.2.13 → raijin_server-0.2.14}/setup.cfg +1 -1
  3. raijin_server-0.2.14/src/raijin_server/__init__.py +5 -0
  4. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/metallb.py +45 -2
  5. {raijin_server-0.2.13 → raijin_server-0.2.14/src/raijin_server.egg-info}/PKG-INFO +1 -1
  6. raijin_server-0.2.13/src/raijin_server/__init__.py +0 -5
  7. {raijin_server-0.2.13 → raijin_server-0.2.14}/LICENSE +0 -0
  8. {raijin_server-0.2.13 → raijin_server-0.2.14}/README.md +0 -0
  9. {raijin_server-0.2.13 → raijin_server-0.2.14}/pyproject.toml +0 -0
  10. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/cli.py +0 -0
  11. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/config.py +0 -0
  12. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/healthchecks.py +0 -0
  13. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/__init__.py +0 -0
  14. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/apokolips_demo.py +0 -0
  15. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/bootstrap.py +0 -0
  16. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/calico.py +0 -0
  17. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/cert_manager.py +0 -0
  18. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/essentials.py +0 -0
  19. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/firewall.py +0 -0
  20. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/full_install.py +0 -0
  21. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/grafana.py +0 -0
  22. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/hardening.py +0 -0
  23. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/harness.py +0 -0
  24. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/istio.py +0 -0
  25. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/kafka.py +0 -0
  26. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/kong.py +0 -0
  27. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/kubernetes.py +0 -0
  28. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/loki.py +0 -0
  29. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/minio.py +0 -0
  30. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/network.py +0 -0
  31. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/observability_dashboards.py +0 -0
  32. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/observability_ingress.py +0 -0
  33. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/prometheus.py +0 -0
  34. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/sanitize.py +0 -0
  35. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/secrets.py +0 -0
  36. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/ssh_hardening.py +0 -0
  37. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/traefik.py +0 -0
  38. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/velero.py +0 -0
  39. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/modules/vpn.py +0 -0
  40. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/scripts/__init__.py +0 -0
  41. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/scripts/checklist.sh +0 -0
  42. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/scripts/install.sh +0 -0
  43. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/scripts/log_size_metric.sh +0 -0
  44. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/scripts/pre-deploy-check.sh +0 -0
  45. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/utils.py +0 -0
  46. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server/validators.py +0 -0
  47. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server.egg-info/SOURCES.txt +0 -0
  48. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server.egg-info/dependency_links.txt +0 -0
  49. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server.egg-info/entry_points.txt +0 -0
  50. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server.egg-info/requires.txt +0 -0
  51. {raijin_server-0.2.13 → raijin_server-0.2.14}/src/raijin_server.egg-info/top_level.txt +0 -0
  52. {raijin_server-0.2.13 → raijin_server-0.2.14}/tests/test_full_install_sequence.py +0 -0
  53. {raijin_server-0.2.13 → raijin_server-0.2.14}/tests/test_registry.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: raijin-server
3
- Version: 0.2.13
3
+ Version: 0.2.14
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,6 +1,6 @@
1
1
  [metadata]
2
2
  name = raijin-server
3
- version = 0.2.13
3
+ version = 0.2.14
4
4
  description = CLI para automacao de setup e hardening de servidores Ubuntu Server.
5
5
  long_description = file: README.md
6
6
  long_description_content_type = text/markdown
@@ -0,0 +1,5 @@
1
+ """Pacote principal do CLI Raijin Server."""
2
+
3
+ __version__ = "0.2.14"
4
+
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,29 @@ 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
+ f"controller.nodeSelector.kubernetes.io/hostname={node_name}",
93
+ f"speaker.nodeSelector.kubernetes.io/hostname={node_name}",
94
+ ]
95
+
53
96
  # Instala control-plane + speaker
54
97
  helm_upgrade_install(
55
98
  release="metallb",
@@ -58,7 +101,7 @@ def run(ctx: ExecutionContext) -> None:
58
101
  repo="metallb",
59
102
  repo_url="https://metallb.github.io/metallb",
60
103
  ctx=ctx,
61
- values=[],
104
+ values=values,
62
105
  )
63
106
 
64
107
  # 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.14
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,5 +0,0 @@
1
- """Pacote principal do CLI Raijin Server."""
2
-
3
- __version__ = "0.2.13"
4
-
5
- __all__ = ["__version__"]
File without changes
File without changes