raijin-server 0.2.30__tar.gz → 0.2.32__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.

Potentially problematic release.


This version of raijin-server might be problematic. Click here for more details.

Files changed (54) hide show
  1. {raijin_server-0.2.30/src/raijin_server.egg-info → raijin_server-0.2.32}/PKG-INFO +1 -1
  2. {raijin_server-0.2.30 → raijin_server-0.2.32}/setup.cfg +1 -1
  3. raijin_server-0.2.32/src/raijin_server/__init__.py +5 -0
  4. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/kong.py +17 -12
  5. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/ssh_hardening.py +12 -4
  6. {raijin_server-0.2.30 → raijin_server-0.2.32/src/raijin_server.egg-info}/PKG-INFO +1 -1
  7. raijin_server-0.2.30/src/raijin_server/__init__.py +0 -5
  8. {raijin_server-0.2.30 → raijin_server-0.2.32}/LICENSE +0 -0
  9. {raijin_server-0.2.30 → raijin_server-0.2.32}/README.md +0 -0
  10. {raijin_server-0.2.30 → raijin_server-0.2.32}/pyproject.toml +0 -0
  11. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/cli.py +0 -0
  12. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/config.py +0 -0
  13. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/healthchecks.py +0 -0
  14. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/module_manager.py +0 -0
  15. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/__init__.py +0 -0
  16. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/apokolips_demo.py +0 -0
  17. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/bootstrap.py +0 -0
  18. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/calico.py +0 -0
  19. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/cert_manager.py +0 -0
  20. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/essentials.py +0 -0
  21. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/firewall.py +0 -0
  22. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/full_install.py +0 -0
  23. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/grafana.py +0 -0
  24. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/hardening.py +0 -0
  25. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/harness.py +0 -0
  26. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/istio.py +0 -0
  27. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/kafka.py +0 -0
  28. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/kubernetes.py +0 -0
  29. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/loki.py +0 -0
  30. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/metallb.py +0 -0
  31. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/minio.py +0 -0
  32. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/network.py +0 -0
  33. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/observability_dashboards.py +0 -0
  34. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/observability_ingress.py +0 -0
  35. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/prometheus.py +0 -0
  36. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/sanitize.py +0 -0
  37. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/secrets.py +0 -0
  38. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/traefik.py +0 -0
  39. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/velero.py +0 -0
  40. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/modules/vpn.py +0 -0
  41. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/scripts/__init__.py +0 -0
  42. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/scripts/checklist.sh +0 -0
  43. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/scripts/install.sh +0 -0
  44. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/scripts/log_size_metric.sh +0 -0
  45. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/scripts/pre-deploy-check.sh +0 -0
  46. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/utils.py +0 -0
  47. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server/validators.py +0 -0
  48. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server.egg-info/SOURCES.txt +0 -0
  49. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server.egg-info/dependency_links.txt +0 -0
  50. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server.egg-info/entry_points.txt +0 -0
  51. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server.egg-info/requires.txt +0 -0
  52. {raijin_server-0.2.30 → raijin_server-0.2.32}/src/raijin_server.egg-info/top_level.txt +0 -0
  53. {raijin_server-0.2.30 → raijin_server-0.2.32}/tests/test_full_install_sequence.py +0 -0
  54. {raijin_server-0.2.30 → raijin_server-0.2.32}/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.30
3
+ Version: 0.2.32
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.30
3
+ version = 0.2.32
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.32"
4
+
5
+ __all__ = ["__version__"]
@@ -150,23 +150,28 @@ def _uninstall_kong(ctx: ExecutionContext) -> None:
150
150
  )
151
151
 
152
152
  run_cmd(
153
- ["kubectl", "delete", "namespace", "kong", "--ignore-not-found"],
153
+ ["kubectl", "delete", "namespace", "kong", "--ignore-not-found", "--wait=false"],
154
154
  ctx,
155
155
  check=False,
156
156
  )
157
157
 
158
- # Remove CRDs do Kong tambem
159
- crds = _check_orphan_crds(ctx)
160
- if crds:
161
- typer.echo(f"Removendo {len(crds)} CRDs do Kong...")
162
- for crd in crds:
163
- run_cmd(
164
- ["kubectl", "delete", "crd", crd, "--ignore-not-found"],
165
- ctx,
166
- check=False,
167
- )
158
+ # Remove CRDs do Kong diretamente (mais confiável)
159
+ typer.echo("Removendo CRDs do Kong...")
160
+ run_cmd(
161
+ ["sh", "-c", "kubectl get crd -o name | grep konghq.com | xargs -r kubectl delete --ignore-not-found"],
162
+ ctx,
163
+ check=False,
164
+ )
165
+
166
+ # Aguarda namespace terminar de deletar
167
+ typer.echo("Aguardando limpeza completa...")
168
+ run_cmd(
169
+ ["kubectl", "wait", "--for=delete", "namespace/kong", "--timeout=60s"],
170
+ ctx,
171
+ check=False,
172
+ )
168
173
 
169
- time.sleep(5)
174
+ time.sleep(3)
170
175
 
171
176
 
172
177
  def _wait_for_kong_ready(ctx: ExecutionContext, timeout: int = 180) -> bool:
@@ -43,7 +43,8 @@ def _write_authorized_keys(username: str, content: str, ctx: ExecutionContext) -
43
43
 
44
44
  ssh_dir.mkdir(parents=True, exist_ok=True)
45
45
  os.chmod(ssh_dir, 0o700)
46
- auth_file.write_text(AUTHORIZED_KEYS_TEMPLATE.format(key=content.strip()))
46
+ normalized_key = content.replace("\r\n", "\n").strip() # normaliza CRLF de chaves geradas no Windows
47
+ auth_file.write_text(AUTHORIZED_KEYS_TEMPLATE.format(key=normalized_key))
47
48
  os.chmod(auth_file, 0o600)
48
49
  run_cmd(["chown", "-R", f"{username}:{username}", str(ssh_dir)], ctx)
49
50
 
@@ -69,12 +70,16 @@ def run(ctx: ExecutionContext) -> None:
69
70
  username = typer.prompt("Usuario administrativo para SSH", default="adminops")
70
71
  ssh_port = typer.prompt("Porta SSH", default="22")
71
72
  sudo_access = typer.confirm("Adicionar usuario ao grupo sudo?", default=True)
73
+ extra_users = typer.prompt(
74
+ "Usuarios adicionais permitidos (opcional, separados por espaco)", default=""
75
+ ).strip()
72
76
  pubkey_path = typer.prompt(
73
- "Arquivo com chave publica (ENTER para ~/.ssh/id_ed25519.pub)",
74
- default=str(Path.home() / ".ssh/id_ed25519.pub"),
77
+ "Arquivo com chave publica ou authorized_keys existente",
78
+ default=str(Path.home() / ".ssh/authorized_keys"),
75
79
  )
76
80
 
77
81
  public_key = _load_public_key(pubkey_path)
82
+ allow_users = " ".join(part for part in [username, extra_users] if part).strip()
78
83
 
79
84
  _ensure_user(username, ctx)
80
85
  if sudo_access:
@@ -91,7 +96,10 @@ PasswordAuthentication no
91
96
  PermitEmptyPasswords no
92
97
  ChallengeResponseAuthentication no
93
98
  UsePAM yes
94
- AllowUsers {username}
99
+ KbdInteractiveAuthentication no
100
+ PubkeyAuthentication yes
101
+ AuthorizedKeysFile %h/.ssh/authorized_keys
102
+ AllowUsers {allow_users}
95
103
  AuthenticationMethods publickey
96
104
  X11Forwarding no
97
105
  ClientAliveInterval 300
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: raijin-server
3
- Version: 0.2.30
3
+ Version: 0.2.32
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.30"
4
-
5
- __all__ = ["__version__"]
File without changes
File without changes