clickhouse-users-cli 0.1.0__tar.gz → 0.1.1__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 (17) hide show
  1. {clickhouse_users_cli-0.1.0 → clickhouse_users_cli-0.1.1}/PKG-INFO +2 -2
  2. {clickhouse_users_cli-0.1.0 → clickhouse_users_cli-0.1.1}/README.md +1 -1
  3. {clickhouse_users_cli-0.1.0 → clickhouse_users_cli-0.1.1}/clickhouse_users_cli/__init__.py +1 -1
  4. {clickhouse_users_cli-0.1.0 → clickhouse_users_cli-0.1.1}/clickhouse_users_cli/app.py +5 -3
  5. {clickhouse_users_cli-0.1.0 → clickhouse_users_cli-0.1.1}/clickhouse_users_cli.egg-info/PKG-INFO +2 -2
  6. {clickhouse_users_cli-0.1.0 → clickhouse_users_cli-0.1.1}/LICENSE +0 -0
  7. {clickhouse_users_cli-0.1.0 → clickhouse_users_cli-0.1.1}/clickhouse_users_cli/db.py +0 -0
  8. {clickhouse_users_cli-0.1.0 → clickhouse_users_cli-0.1.1}/clickhouse_users_cli/sql_builder.py +0 -0
  9. {clickhouse_users_cli-0.1.0 → clickhouse_users_cli-0.1.1}/clickhouse_users_cli/style.py +0 -0
  10. {clickhouse_users_cli-0.1.0 → clickhouse_users_cli-0.1.1}/clickhouse_users_cli/validators.py +0 -0
  11. {clickhouse_users_cli-0.1.0 → clickhouse_users_cli-0.1.1}/clickhouse_users_cli.egg-info/SOURCES.txt +0 -0
  12. {clickhouse_users_cli-0.1.0 → clickhouse_users_cli-0.1.1}/clickhouse_users_cli.egg-info/dependency_links.txt +0 -0
  13. {clickhouse_users_cli-0.1.0 → clickhouse_users_cli-0.1.1}/clickhouse_users_cli.egg-info/entry_points.txt +0 -0
  14. {clickhouse_users_cli-0.1.0 → clickhouse_users_cli-0.1.1}/clickhouse_users_cli.egg-info/requires.txt +0 -0
  15. {clickhouse_users_cli-0.1.0 → clickhouse_users_cli-0.1.1}/clickhouse_users_cli.egg-info/top_level.txt +0 -0
  16. {clickhouse_users_cli-0.1.0 → clickhouse_users_cli-0.1.1}/pyproject.toml +0 -0
  17. {clickhouse_users_cli-0.1.0 → clickhouse_users_cli-0.1.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clickhouse-users-cli
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: CLI interativa para criar usuarios ClickHouse com privilegio minimo (least privilege)
5
5
  License-Expression: MIT
6
6
  Keywords: clickhouse,cli,users,access-control,least-privilege
@@ -88,7 +88,7 @@ GRANT SHOW, SELECT ON `vendas`.`clientes` TO `analyst_julho`;
88
88
 
89
89
  Decisões de UX:
90
90
 
91
- - **Sistemas por último e desmarcados** (`system`, `information_schema`) para evitar `GRANT` acidental.
91
+ - **Nada pré-marcado + opção `✓ Todos os bancos`** (least privilege: acesso só via opt-in explícito; sistemas vão por último com tag `(sistema)`).
92
92
  - **Ctrl+C = saída limpa**, nada executa sem confirmação final.
93
93
  - **SQL separado da UI** (`clickhouse_users_cli/sql_builder.py`) — dá para testar sem banco.
94
94
  - **Escape correto** de identificadores (backticks) e strings (aspas simples).
@@ -65,7 +65,7 @@ GRANT SHOW, SELECT ON `vendas`.`clientes` TO `analyst_julho`;
65
65
 
66
66
  Decisões de UX:
67
67
 
68
- - **Sistemas por último e desmarcados** (`system`, `information_schema`) para evitar `GRANT` acidental.
68
+ - **Nada pré-marcado + opção `✓ Todos os bancos`** (least privilege: acesso só via opt-in explícito; sistemas vão por último com tag `(sistema)`).
69
69
  - **Ctrl+C = saída limpa**, nada executa sem confirmação final.
70
70
  - **SQL separado da UI** (`clickhouse_users_cli/sql_builder.py`) — dá para testar sem banco.
71
71
  - **Escape correto** de identificadores (backticks) e strings (aspas simples).
@@ -1,5 +1,5 @@
1
1
  """ClickHouse Users CLI — crie usuários com escopo mínimo (least privilege)."""
2
2
 
3
- __version__ = "0.1.0"
3
+ __version__ = "0.1.1"
4
4
 
5
5
  __all__ = ["__version__"]
@@ -152,12 +152,12 @@ def ask_databases(admin: ClickHouseAdmin) -> list[str]:
152
152
  error("Nenhum banco encontrado.")
153
153
  raise SystemExit(1)
154
154
 
155
- choices = [
155
+ choices = [Q.Choice(title="✓ Todos os bancos", value="__ALL__")] + [
156
156
  Q.Choice(
157
157
  title=f"{db} (sistema)" if db in SYSTEM_DATABASES else db,
158
158
  value=db,
159
- # UX: sistema desmarcado por padrão para evitar GRANT acidental.
160
- checked=db not in SYSTEM_DATABASES,
159
+ # UX: nada pré-marcado (least privilege) — o usuário opta explicitamente.
160
+ checked=False,
161
161
  )
162
162
  for db in databases
163
163
  ]
@@ -170,6 +170,8 @@ def ask_databases(admin: ClickHouseAdmin) -> list[str]:
170
170
  instruction="(espaço marca · enter confirma)",
171
171
  )
172
172
  )
173
+ if "__ALL__" in selected:
174
+ return list(databases)
173
175
  return selected
174
176
 
175
177
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clickhouse-users-cli
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: CLI interativa para criar usuarios ClickHouse com privilegio minimo (least privilege)
5
5
  License-Expression: MIT
6
6
  Keywords: clickhouse,cli,users,access-control,least-privilege
@@ -88,7 +88,7 @@ GRANT SHOW, SELECT ON `vendas`.`clientes` TO `analyst_julho`;
88
88
 
89
89
  Decisões de UX:
90
90
 
91
- - **Sistemas por último e desmarcados** (`system`, `information_schema`) para evitar `GRANT` acidental.
91
+ - **Nada pré-marcado + opção `✓ Todos os bancos`** (least privilege: acesso só via opt-in explícito; sistemas vão por último com tag `(sistema)`).
92
92
  - **Ctrl+C = saída limpa**, nada executa sem confirmação final.
93
93
  - **SQL separado da UI** (`clickhouse_users_cli/sql_builder.py`) — dá para testar sem banco.
94
94
  - **Escape correto** de identificadores (backticks) e strings (aspas simples).