# authz-service `authz-service` 现在已经整理成独立 Docker 单元。 ## 组成 - `Dockerfile` - 生产镜像构建入口 - `docker-entrypoint.sh` - 初始化数据目录并启动 `uvicorn` - `start-authz.sh` - 本地或服务器快速启动脚本 - `.env.example` - 推荐的环境变量模板 - `runtime/seed-data/` - 空白初始化数据 - `src/` - 原始 FastAPI 应用代码 ## 设计约定 - 容器监听端口:`19090` - 容器内数据目录:`/var/lib/authz-service/data` - 首次启动时如果数据目录为空,会自动写入空白 JSON - `signing_key.pem` 不会被打进镜像 - 如果挂载目录里不存在签名 key,服务会在首次启动时自动生成 ## 快速启动 ```bash cd /home/ivan/xuan/beaver_project/authz-service cp .env.example .env set -a . ./.env set +a ./start-authz.sh --build ``` 启动后验证: ```bash curl http://127.0.0.1:19090/healthz curl http://127.0.0.1:19090/.well-known/jwks.json ``` ## 生产建议 - 用挂载卷保存 `runtime/data` - 显式设置 `AUTHZ_INTERNAL_TOKEN` - 显式设置外部可访问的 `AUTHZ_ISSUER` - 例如 `https://authz.example.com` - 如果要让 AuthZ 负责编排实例注册,还要设置 `DEPLOY_API_BASE_URL` - 如果 deploy-control 开了鉴权,还要设置 `DEPLOY_API_TOKEN` - 不要提交本地运行产生的 `runtime/data/` 内容 ## API 说明 接口说明仍然看: - `/home/ivan/xuan/beaver_project/authz-service/src/README.md`