raijin-server 0.2.13__tar.gz → 0.2.16__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.16}/PKG-INFO +1 -1
  2. {raijin_server-0.2.13 → raijin_server-0.2.16}/setup.cfg +1 -1
  3. raijin_server-0.2.16/src/raijin_server/__init__.py +5 -0
  4. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/metallb.py +46 -2
  5. {raijin_server-0.2.13 → raijin_server-0.2.16/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.16}/LICENSE +0 -0
  8. {raijin_server-0.2.13 → raijin_server-0.2.16}/README.md +0 -0
  9. {raijin_server-0.2.13 → raijin_server-0.2.16}/pyproject.toml +0 -0
  10. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/cli.py +0 -0
  11. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/config.py +0 -0
  12. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/healthchecks.py +0 -0
  13. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/__init__.py +0 -0
  14. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/apokolips_demo.py +0 -0
  15. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/bootstrap.py +0 -0
  16. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/calico.py +0 -0
  17. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/cert_manager.py +0 -0
  18. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/essentials.py +0 -0
  19. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/firewall.py +0 -0
  20. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/full_install.py +0 -0
  21. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/grafana.py +0 -0
  22. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/hardening.py +0 -0
  23. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/harness.py +0 -0
  24. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/istio.py +0 -0
  25. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/kafka.py +0 -0
  26. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/kong.py +0 -0
  27. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/kubernetes.py +0 -0
  28. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/loki.py +0 -0
  29. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/minio.py +0 -0
  30. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/network.py +0 -0
  31. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/observability_dashboards.py +0 -0
  32. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/observability_ingress.py +0 -0
  33. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/prometheus.py +0 -0
  34. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/sanitize.py +0 -0
  35. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/secrets.py +0 -0
  36. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/ssh_hardening.py +0 -0
  37. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/traefik.py +0 -0
  38. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/velero.py +0 -0
  39. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/modules/vpn.py +0 -0
  40. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/scripts/__init__.py +0 -0
  41. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/scripts/checklist.sh +0 -0
  42. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/scripts/install.sh +0 -0
  43. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/scripts/log_size_metric.sh +0 -0
  44. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/scripts/pre-deploy-check.sh +0 -0
  45. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/utils.py +0 -0
  46. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server/validators.py +0 -0
  47. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server.egg-info/SOURCES.txt +0 -0
  48. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server.egg-info/dependency_links.txt +0 -0
  49. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server.egg-info/entry_points.txt +0 -0
  50. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server.egg-info/requires.txt +0 -0
  51. {raijin_server-0.2.13 → raijin_server-0.2.16}/src/raijin_server.egg-info/top_level.txt +0 -0
  52. {raijin_server-0.2.13 → raijin_server-0.2.16}/tests/test_full_install_sequence.py +0 -0
  53. {raijin_server-0.2.13 → raijin_server-0.2.16}/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.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,6 +1,6 @@
1
1
  [metadata]
2
2
  name = raijin-server
3
- version = 0.2.13
3
+ version = 0.2.16
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.16"
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,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,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