raijin-server 0.2.6__py3-none-any.whl → 0.2.8__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: raijin-server
3
- Version: 0.2.6
3
+ Version: 0.2.8
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
@@ -61,52 +61,29 @@ CLI em Python (Typer) para automatizar setup e hardening de servidores Ubuntu Se
61
61
 
62
62
  ## Requisitos
63
63
 
64
- - Python >= 3.9
65
- - Ubuntu Server 20.04+ (testado em 24.04)
66
- - Permissões root/sudo
67
- - Conectividade com internet
68
- - Mínimo 4GB RAM, 20GB disco livre
69
- - Ferramentas: `curl`, `apt-get`, `systemctl`
64
+ ## Instalação (sempre em venv midgard)
70
65
 
71
- Ferramentas adicionais (instaladas pelos módulos quando necessário):
72
- - `helm` (>=3.8 para OCI)
73
- - `kubectl`, `kubeadm`
74
- - `velero`, `istioctl`
75
-
76
- ## Instalacao
77
-
78
- Sem venv (global):
66
+ Use apenas o venv `~/.venvs/midgard` para padronizar ambiente e logs.
79
67
 
80
68
  ```bash
81
- python -m pip install .
82
- ```
83
-
84
- Com venv (recomendado para desenvolvimento):
85
-
86
- ```bash
87
- python -m venv .venv
88
- source .venv/bin/activate
89
- python -m pip install -e .
90
- ```
69
+ # 1) Criar/reativar venv midgard
70
+ python3 -m venv ~/.venvs/midgard
71
+ source ~/.venvs/midgard/bin/activate
72
+ pip install -U pip setuptools
91
73
 
92
- ### Instalação em Produção (Recomendado)
74
+ # 2) Instalar a partir do source (dev)
75
+ pip install -U raijin-server
93
76
 
94
- Para servidores em produção, use um venv isolado e execute com sudo preservando o ambiente:
77
+ # 3) Uso com sudo preservando o venv
78
+ sudo -E ~/.venvs/midgard/bin/raijin-server --version
79
+ sudo -E ~/.venvs/midgard/bin/raijin-server validate
80
+ sudo -E ~/.venvs/midgard/bin/raijin-server full-install
95
81
 
96
- ```bash
97
- # 1. Sair do venv atual (se estiver ativo)
82
+ # 4) Quando terminar
98
83
  deactivate
84
+ ```
99
85
 
100
- # 2. (Opcional) Remover venv antigo
101
- rm -rf ~/.venvs/raijin
102
-
103
- # 3. Criar venv novo
104
- python3 -m venv ~/.venvs/raijin
105
- source ~/.venvs/raijin/bin/activate
106
- pip install -U pip setuptools
107
-
108
- # 4. Instalar a versão mais recente
109
- pip install -U raijin-server
86
+ > Dica: se precisar reinstalar, remova o venv (`rm -rf ~/.venvs/midgard`), recrie e repita o passo 2. O `-E` no sudo mantém o venv ativo para o Python.
110
87
 
111
88
  # 5. Rodar usando root preservando o venv
112
89
  sudo -E ~/.venvs/raijin/bin/raijin-server --version
@@ -124,30 +101,70 @@ deactivate
124
101
  ### Validar Sistema
125
102
  ```bash
126
103
  # Verifica se o sistema atende pré-requisitos
127
- sudo raijin-server validate
104
+ sudo -E ~/.venvs/midgard/bin/raijin-server validate
128
105
  ```
129
106
 
130
107
  ### Menu Interativo
131
108
  ```bash
132
- # Menu visual com stautils.py`: Funções utilitárias com retry, timeout e logging.
133
- - `src/raijin_server/validators.py`: Validações de pré-requisitos e dependências.
134
- - `src/raijin_server/healthchecks.py`: Health checks pós-instalação.
135
- - `src/raijin_server/config.py`: Gerenciamento de configuração via arquivo.
136
- - `src/raijin_server/modules/`: Automações por tópico (hardening, network, essentials, firewall, kubernetes, calico, istio, traefik, kong, minio, prometheus, grafana, loki, harness, velero, kafka).
137
- - `src/raijin_server/scripts/`: Shells empacotados usados pelos módulos e scripts auxiliares.
138
- - `ARCHITECTURE.md`: Visão do desenho técnico.
139
- - `AUDIT.md`: Relatório completo de auditoria e melhorias.
140
- - `SECURITY.md`: Como reportar vulnerabilidades
109
+ # Menu visual com atalho para módulos
110
+ sudo -E ~/.venvs/midgard/bin/raijin-server menu
111
+ ```
112
+
141
113
  ### Execução Direta de Módulos
142
114
  ```bash
143
115
  # Executar módulo específico
144
- sudo raijin-server kubernetes
116
+ sudo -E ~/.venvs/midgard/bin/raijin-server kubernetes
145
117
 
146
118
  # Dry-run (simula sem aplicar)
147
- sudo raijin-server --dry-run kubernetes
119
+ sudo -E ~/.venvs/midgard/bin/raijin-server --dry-run kubernetes
148
120
 
149
121
  # Pular validações (não recomendado)
150
- sudo raijin-server --skip-validation kubernetes
122
+ sudo -E ~/.venvs/midgard/bin/raijin-server --skip-validation kubernetes
123
+ ```
124
+
125
+ ### Instalação Completa com seleção de passos
126
+ ```bash
127
+ # Rodar tudo (padrão)
128
+ sudo -E ~/.venvs/midgard/bin/raijin-server full-install
129
+
130
+ # Escolher passos antes de rodar
131
+ sudo -E ~/.venvs/midgard/bin/raijin-server full-install --select-steps
132
+
133
+ # Definir lista fixa (ordem original preservada)
134
+ sudo -E ~/.venvs/midgard/bin/raijin-server full-install --steps "kubernetes,calico,cert_manager,traefik"
135
+
136
+ # Pedir confirmação a cada módulo
137
+ sudo -E ~/.venvs/midgard/bin/raijin-server full-install --confirm-each
138
+
139
+ # Modo debug: snapshots + diagnose pós-módulo
140
+ sudo -E ~/.venvs/midgard/bin/raijin-server full-install --debug-mode
141
+
142
+ # Apenas snapshots após cada módulo (pós-kubernetes)
143
+ sudo -E ~/.venvs/midgard/bin/raijin-server full-install --snapshots
144
+
145
+ # Apenas diagnose pós-módulo (ex.: cert-manager)
146
+ sudo -E ~/.venvs/midgard/bin/raijin-server full-install --post-diagnose
147
+ ```
148
+
149
+ ### Depuração e Logs (pós-Kubernetes)
150
+ ```bash
151
+ # Ver todos os logs do CLI com pager (less)
152
+ sudo -E ~/.venvs/midgard/bin/raijin-server debug logs --lines 400
153
+
154
+ # Seguir logs em tempo real
155
+ sudo -E ~/.venvs/midgard/bin/raijin-server debug logs --follow
156
+
157
+ # Snapshot do cluster: nodes, pods e eventos (últimos 200)
158
+ sudo -E ~/.venvs/midgard/bin/raijin-server debug kube --events 200
159
+
160
+ # Focar em um namespace (ex.: cert-manager)
161
+ sudo -E ~/.venvs/midgard/bin/raijin-server debug kube --namespace cert-manager --events 150
162
+
163
+ # Consultar logs do kubelet via journalctl
164
+ sudo -E ~/.venvs/midgard/bin/raijin-server debug journal --service kubelet --lines 300
165
+
166
+ # Consultar outro serviço systemd (ex.: containerd)
167
+ sudo -E ~/.venvs/midgard/bin/raijin-server debug journal --service containerd --lines 200
151
168
  ```
152
169
 
153
170
  ### Automação via Arquivo de Configuração
@@ -161,41 +178,41 @@ sudo raijin-server --skip-validation kubernetes
161
178
 
162
179
  ```bash
163
180
  # 1. Validar sistema
164
- sudo raijin-server validate
181
+ sudo -E ~/.venvs/midgard/bin/raijin-server validate
165
182
 
166
183
  # 2. Base do sistema
167
- sudo raijin-server essentials
168
- sudo raijin-server hardening
169
- sudo raijin-server network # OPCIONAL: pule se IP já configurado via provedor ISP
170
- sudo raijin-server firewall
184
+ sudo -E ~/.venvs/midgard/bin/raijin-server essentials
185
+ sudo -E ~/.venvs/midgard/bin/raijin-server hardening
186
+ sudo -E ~/.venvs/midgard/bin/raijin-server network # OPCIONAL: pule se IP já configurado via provedor ISP
187
+ sudo -E ~/.venvs/midgard/bin/raijin-server firewall
171
188
 
172
189
  # 3. Kubernetes
173
- sudo raijin-server kubernetes
174
- sudo raijin-server calico
175
- sudo raijin-server secrets
176
- sudo raijin-server cert-manager
190
+ sudo -E ~/.venvs/midgard/bin/raijin-server kubernetes
191
+ sudo -E ~/.venvs/midgard/bin/raijin-server calico
192
+ sudo -E ~/.venvs/midgard/bin/raijin-server secrets
193
+ sudo -E ~/.venvs/midgard/bin/raijin-server cert-manager
177
194
 
178
195
  # 4. Ingress (escolha um)
179
- sudo raijin-server traefik
196
+ sudo -E ~/.venvs/midgard/bin/raijin-server traefik
180
197
  # OU
181
- sudo raijin-server kong
198
+ sudo -E ~/.venvs/midgard/bin/raijin-server kong
182
199
 
183
200
  # 5. Observabilidade
184
- sudo raijin-server prometheus
185
- sudo raijin-server grafana
186
- sudo raijin-server observability-ingress
187
- sudo raijin-server observability-dashboards
188
- sudo raijin-server loki
201
+ sudo -E ~/.venvs/midgard/bin/raijin-server prometheus
202
+ sudo -E ~/.venvs/midgard/bin/raijin-server grafana
203
+ sudo -E ~/.venvs/midgard/bin/raijin-server observability-ingress
204
+ sudo -E ~/.venvs/midgard/bin/raijin-server observability-dashboards
205
+ sudo -E ~/.venvs/midgard/bin/raijin-server loki
189
206
 
190
207
  # 6. Storage e Mensageria (opcional)
191
- sudo raijin-server minio
192
- sudo raijin-server kafka
208
+ sudo -E ~/.venvs/midgard/bin/raijin-server minio
209
+ sudo -E ~/.venvs/midgard/bin/raijin-server kafka
193
210
 
194
211
  # 7. Backup
195
- sudo raijin-server velero
212
+ sudo -E ~/.venvs/midgard/bin/raijin-server velero
196
213
 
197
214
  # 8. Service Mesh (opcional)
198
- sudo raijin-server istio
215
+ sudo -E ~/.venvs/midgard/bin/raijin-server istio
199
216
  ```
200
217
 
201
218
  ### IP Estático (pular se já configurado)
@@ -208,7 +225,7 @@ O módulo `network` é **opcional** quando:
208
225
  Para pular automaticamente em automações:
209
226
  ```bash
210
227
  export RAIJIN_SKIP_NETWORK=1
211
- sudo raijin-server full-install
228
+ sudo -E ~/.venvs/midgard/bin/raijin-server full-install
212
229
  ```
213
230
 
214
231
  O módulo detecta automaticamente se já existe um Netplan com IP estático e pergunta
@@ -222,12 +239,12 @@ se deseja pular. Se executar manualmente, basta responder "não" quando pergunta
222
239
  ### Comandos Úteis
223
240
  ```bash
224
241
  # Versão (flag ou comando)
225
- raijin-server --version
226
- raijin-server -V
227
- raijin-server version
242
+ ~/.venvs/midgard/bin/raijin-server --version
243
+ ~/.venvs/midgard/bin/raijin-server -V
244
+ ~/.venvs/midgard/bin/raijin-server version
228
245
 
229
246
  # Monitorar logs
230
- tail -f /var/log/raijin-server/raijin-server.log
247
+ sudo -E ~/.venvs/midgard/bin/raijin-server debug logs --follow
231
248
 
232
249
  # Rotacao de logs (default: 20MB, 5 backups)
233
250
  # Ajuste via env:
@@ -317,7 +334,7 @@ O helper garante o caminho absoluto correto independentemente de onde o pacote f
317
334
  O módulo [src/raijin_server/modules/apokolips_demo.py](src/raijin_server/modules/apokolips_demo.py) cria um namespace dedicado, ConfigMap com HTML, Deployment NGINX, Service e Ingress Traefik com uma landing page "Apokolips" para validar o tráfego externo.
318
335
 
319
336
  ```bash
320
- sudo raijin-server apokolips-demo
337
+ sudo -E ~/.venvs/midgard/bin/raijin-server apokolips-demo
321
338
  ```
322
339
 
323
340
  Personalização rápida:
@@ -364,7 +381,7 @@ Isso permite manter o isolamento padrão enquanto libera acesso seletivo para in
364
381
  Execute o modulo `secrets` para instalar os controladores:
365
382
 
366
383
  ```bash
367
- sudo raijin-server secrets
384
+ sudo -E ~/.venvs/midgard/bin/raijin-server secrets
368
385
  ```
369
386
 
370
387
  Passos realizados:
@@ -1,31 +1,31 @@
1
- raijin_server/__init__.py,sha256=7-69Vj-HYrv98hWrKmwDqDQ-ehtTqJebx1JeP4St6Q4,94
2
- raijin_server/cli.py,sha256=PfuIXc-pw1yZtJzCrxDVSWSsPAVBt9wqZBF-dWh6mwo,19274
3
- raijin_server/config.py,sha256=Dta2CS1d6RgNiQ84P6dTXk98boFrjzuvhs_fCdlm0I4,4810
4
- raijin_server/healthchecks.py,sha256=BJyWyUDtEswEblvGwWMejtMnsUb8kJcULVdS9iycrcc,14565
5
- raijin_server/utils.py,sha256=Gs182mcLVM3ClCADFIK9Qi1fQA7BfunaTu0ie-8pAvo,19692
1
+ raijin_server/__init__.py,sha256=30PUXP9hr-N0U9chGsPaORRkJKEeGnKMrcXhWTwR054,94
2
+ raijin_server/cli.py,sha256=aQxew8FCN-mZoN-ghBasm97gLk5WkOaIcpeucTpXpXY,24821
3
+ raijin_server/config.py,sha256=QNiEVvrbW56XgvNn5-h3bkJm46Xc8mjNqPbvixXD8N0,4829
4
+ raijin_server/healthchecks.py,sha256=lzXdFw6S0hOYbUKbqksh4phb04lXgXdTspP1Dsz4dx8,15401
5
+ raijin_server/utils.py,sha256=9RnGnPoUTYOpMVRLNa4P4lIQrJNQLkSkPUxycZRGv78,20827
6
6
  raijin_server/validators.py,sha256=qOZMHgwjHogVf17UPlxfUCpQd9qAGQW7tycd8mUvnEs,9404
7
7
  raijin_server/modules/__init__.py,sha256=e_IbkhLGPcF8to9QUmIESP6fpcTOYcIhaXLKIvqRJMY,920
8
8
  raijin_server/modules/apokolips_demo.py,sha256=8ltsXRbVDwlDwLMIvh02NG-FeAfBWw_v6lh7IGOyNqs,13725
9
9
  raijin_server/modules/bootstrap.py,sha256=oVIGNRW_JbgY8zXNHGAIP0vGbbHNHyQexthxo5zhbcw,9762
10
- raijin_server/modules/calico.py,sha256=a8N7YYv7NoaspPKdhRtwHy3V2mM4cP5xA1H8BwslB18,4139
11
- raijin_server/modules/cert_manager.py,sha256=Kb8N60j3BDjkNS8t8aTsdsKy5syRWobccP3PBpv-Q8E,45887
10
+ raijin_server/modules/calico.py,sha256=TTPF1bLFdAKb3IVOqFqRxNblULkRmMMRylsIBp4w8I8,6700
11
+ raijin_server/modules/cert_manager.py,sha256=YvqInfnI06VLFEgau4H0koyBxarFh6vwxvhv7HuQ4Z0,46961
12
12
  raijin_server/modules/essentials.py,sha256=2xUXCyCQtFGd2DnCKV81N1R6bEJqH8zaet8mLovtQ1I,689
13
13
  raijin_server/modules/firewall.py,sha256=h6AISqiZeTinVT7BjmQIS872qRAFZJLg7meqlth3cfw,757
14
- raijin_server/modules/full_install.py,sha256=aR3yOuD7y0KLI20eMrxuFBNrWWn7JMpI4HFKNizEF3o,7464
14
+ raijin_server/modules/full_install.py,sha256=xiKe2GLuZ97c4YdTmhP-kwDVuJJ9Xq3dlgcLlqSPeYM,15518
15
15
  raijin_server/modules/grafana.py,sha256=zxYpWBM-fD8vTgoJ2Hmb9P66wz_JuiidO6_cGK3jG30,1809
16
16
  raijin_server/modules/hardening.py,sha256=4hz3ifkMhPlXa2n7gPxN0gitQgzALZ-073vuU3LM4RI,1616
17
17
  raijin_server/modules/harness.py,sha256=dhZ89YIhlkuxiRU1deN6wXVWnXm0xeI03PwYf_qgfak,1527
18
18
  raijin_server/modules/istio.py,sha256=761FOGEzEXWlTLYApQxUWY8l4cnEbnIXbIHK3itk_AQ,522
19
19
  raijin_server/modules/kafka.py,sha256=bp8k_IhuAIO6dL0IpK1UxxLZoGih6nJp0ZnzwmiZEj8,950
20
20
  raijin_server/modules/kong.py,sha256=2EZKYBmBhm_7Nduw9PWrvrekp0VCxQbc2gElpAJqKfg,491
21
- raijin_server/modules/kubernetes.py,sha256=zHbgCYzzdJJwUGsxJoiyT4HCeJz2HmDSeBR88KP-v4Y,8286
21
+ raijin_server/modules/kubernetes.py,sha256=yJrBsxfhFnr1RLfWpt0eqQHBNCvB42ESwLcVXVjCwms,9076
22
22
  raijin_server/modules/loki.py,sha256=erwFfSiSFOv-Ul3nFdrI2RElPYuqqBPBBa_MJAwyLys,676
23
23
  raijin_server/modules/minio.py,sha256=BVvsEaJlJUV92_ep7pKsBhSYPjWZrDOB3J6XAWYAHYg,486
24
- raijin_server/modules/network.py,sha256=bwVljaVvTc6FbbD-XtDpqqNL-fXMB9-iWVWsXToBvt4,4804
24
+ raijin_server/modules/network.py,sha256=QRlYdcryCCPAWG3QQ_W7ld9gJgETI7H8gwntOU7UqFE,4818
25
25
  raijin_server/modules/observability_dashboards.py,sha256=fVz0WEOQrUTF5rJ__Nu_onyBuwL_exFmysWMmg8AE9w,7319
26
26
  raijin_server/modules/observability_ingress.py,sha256=Fh1rlFWueBNHnOkHuoHYyhILmpO-iQXINybSUYbYsHQ,5738
27
- raijin_server/modules/prometheus.py,sha256=Et-Tj6LrM7WDyoYRSY464E67TrEHbRe2G8T8obagC48,1066
28
- raijin_server/modules/sanitize.py,sha256=eytL_mCYF57qnjf6g752VRC4Yl27dDJ0OQP2rjxaR70,4523
27
+ raijin_server/modules/prometheus.py,sha256=Rs9BREmaoKlyteNdAQZnSIeJfsRO0RQKyyL2gTnXyCw,3716
28
+ raijin_server/modules/sanitize.py,sha256=_RnWn1DUuNrzx3NnKEbMvf5iicgjiN_ubwT59e0rYWY,6040
29
29
  raijin_server/modules/secrets.py,sha256=xpV3gIMnwQdAI2j69Ck5daIK4wlYJA_1rkWTtSfVNk0,3715
30
30
  raijin_server/modules/ssh_hardening.py,sha256=oQdk-EVnEHNMKIWvoFuZzI4jK0nNO8IAY4hkB4pj8zw,4025
31
31
  raijin_server/modules/traefik.py,sha256=DCyh9dOvryoPR8qKzvvvvZcMTBYsiTtcKXdselto9gQ,1412
@@ -33,12 +33,12 @@ raijin_server/modules/velero.py,sha256=_CV0QQnWr5L-CWXDOiD9Ef4J7GaQT-s9yNBwqp_FL
33
33
  raijin_server/modules/vpn.py,sha256=hF-0vA17VKTxhQLDBSEeqI5aPQpiaaj4IpUf9l6lr64,8297
34
34
  raijin_server/scripts/__init__.py,sha256=deduGfHf8BMVWred4ux5LfBDT2NJ5XYeJAt2sDEU4qs,53
35
35
  raijin_server/scripts/checklist.sh,sha256=j6E0Kmk1EfjLvKK1VpCqzXJAXI_7Bm67LK4ndyCxWh0,1842
36
- raijin_server/scripts/install.sh,sha256=IZOTujOSGmKpznwgL59picsQNVzYkai6FtfFS3Klf34,3908
37
- raijin_server/scripts/log_size_metric.sh,sha256=rC2Ck4xnYVJV4Qymu24-indC8bkzfZs4FBqqxGPRl1I,1143
38
- raijin_server/scripts/pre-deploy-check.sh,sha256=naPUgKjnKgsh-eGDH2623C7zcr9VjDEw1H0lfYaXW8c,4853
39
- raijin_server-0.2.6.dist-info/licenses/LICENSE,sha256=kJsMCjOiRZE0AQNtxWqBa32z9kMAaF4EUxyHj3hKaJo,1105
40
- raijin_server-0.2.6.dist-info/METADATA,sha256=KXv3RV6GSO2qQJ85n_SFJP6h10rbph0WbTJ611fG-M4,18925
41
- raijin_server-0.2.6.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
42
- raijin_server-0.2.6.dist-info/entry_points.txt,sha256=3ZvxDX4pvcjkIRsXAJ69wIfVmKa78LKo-C3QhqN2KVM,56
43
- raijin_server-0.2.6.dist-info/top_level.txt,sha256=Yz1xneCRtsZOzbPIcTAcrSxd-1p80pohMXYAZ74dpok,14
44
- raijin_server-0.2.6.dist-info/RECORD,,
36
+ raijin_server/scripts/install.sh,sha256=Y1ickbQ4siQ0NIPs6UgrqUr8WWy7U0LHmaTQbEgavoI,3949
37
+ raijin_server/scripts/log_size_metric.sh,sha256=Iv4SsX8AuCYRou-klYn32mX41xB6j0xJGLBO6riw4rU,1208
38
+ raijin_server/scripts/pre-deploy-check.sh,sha256=XqMo7IMIpwUHF17YEmU0-cVmTDMoCGMBFnmS39FidI4,4912
39
+ raijin_server-0.2.8.dist-info/licenses/LICENSE,sha256=kJsMCjOiRZE0AQNtxWqBa32z9kMAaF4EUxyHj3hKaJo,1105
40
+ raijin_server-0.2.8.dist-info/METADATA,sha256=BtszIvIFV5SCGXVm2lWngd_t33gKg6warNPa7KzVEAU,20362
41
+ raijin_server-0.2.8.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
42
+ raijin_server-0.2.8.dist-info/entry_points.txt,sha256=3ZvxDX4pvcjkIRsXAJ69wIfVmKa78LKo-C3QhqN2KVM,56
43
+ raijin_server-0.2.8.dist-info/top_level.txt,sha256=Yz1xneCRtsZOzbPIcTAcrSxd-1p80pohMXYAZ74dpok,14
44
+ raijin_server-0.2.8.dist-info/RECORD,,