Metadata-Version: 2.4
Name: zt-apollo-cli
Version: 0.2.3
Summary: Apollo configuration management CLI
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: playwright>=1.40.0
Requires-Dist: requests>=2.31.0
Requires-Dist: click>=8.1.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: build>=1.4.4
Requires-Dist: twine>=6.2.0

# zt-apollo-cli

Apollo 配置管理命令行工具

## 环境要求

- Python `>=3.10`
- 可用浏览器（首次登录会自动打开）

## 安装

### 开发安装（源码）

```bash
pip install -e .
```

### 打包发布

```bash
uv build
uv public --token <your_token>
```

## 快速开始

### 1) 登录并缓存 Cookie（已登录可跳过）

首次运行会打开浏览器，请完成登录。成功后会缓存 Cookie 到本地。  
再次执行 `login` 时，如果检测到本地已有有效登录态会自动跳过；如需强制刷新可加 `--force`。

```bash
zt-apollo-cli login
zt-apollo-cli login --force
```

### 2) 查看部门列表

```bash
zt-apollo-cli sys list-org
```

### 3) 搜索应用

```bash
zt-apollo-cli app search -q bsc
```

### 4) 查看应用基本信息

```bash
zt-apollo-cli app show -a your_app_id
```

### 5) 查看应用管理员列表

```bash
zt-apollo-cli app list-admin -a your_app_id
```

### 6) 添加/移除应用管理员

```bash
zt-apollo-cli app add-admin -a your_app_id -u xxx
zt-apollo-cli app del-admin -a your_app_id -u xxx
```

### 7) 查询应用 Namespace

```bash
zt-apollo-cli app list-namespace -a your_app_id --env DEV --cluster default
```

### 8) 获取 Namespace 当前生效发布

```bash
zt-apollo-cli app show-namespace-release -a your_app_id -n application --env DEV --cluster default
```

### 9) 分配 Namespace 发布权限

```bash
zt-apollo-cli app add-namespace-publisher -a your_app_id -n application -u zt19262
zt-apollo-cli app del-namespace-publisher -a your_app_id -n application -u zt19262
zt-apollo-cli app add-namespace-release-publisher -a your_app_id -n application -u zt19262
zt-apollo-cli app del-namespace-release-publisher -a your_app_id -n application -u zt19262
```

### 10) 修改应用配置

```bash
zt-apollo-cli app update -a your_app_id --file ./app-update.json
```

## 全局参数
- `-o, --output`：输出格式，支持：
  - `json`（默认）
  - `human`（表格）

示例：

```bash
zt-apollo-cli -o human sys list-org
```

## 配置说明

默认配置目录：`~/.zt-apollo-cli`

- Cookie 缓存：`~/.zt-apollo-cli/cookies.json`
- 配置文件：`~/.zt-apollo-cli/config.yaml`

可选配置项示例：

```yaml
browser_channel: chromium
```

## 环境变量（可选）

支持通过环境变量自动填充登录页账号密码（如 SSO 页面字段可用）：

- `ZT_SSO_USERNAME`
- `ZT_SSO_PASSWORD`

未设置时可在浏览器中手动完成登录。
