acmex 0.8.0

AcmeX: High-performance, extensible ACME v2 (RFC 8555) client and server in Rust, supporting multiple DNS providers, storage backends, and crypto libraries.
Documentation
# AcmeX v0.7.0 深度实现方案

**版本**: v0.7.0-alpha  
**日期**: 2026-02-08  
**目标**: 打造生产就绪的 TLS 自动化管理中台

---

## 1. REST API 业务驱动化方案

目前的 API 层主要由桩代码 (Stub) 组成。v0.7.0 将进行如下改造:

### 1.1 异步任务编排集成

- **方案**: 当 `POST /api/orders` 被调用时,不直接阻塞等待证书签发。
- **实现**:
    1. 初始化 `CertificateProvisioner`    2. 调用 `tokio::spawn(async move { orchestrator.execute().await })`    3. 立即返回 `202 Accepted` 以及一个任务 ID。
    4. 用户通过 `GET /api/orders/:id` 轮询 `status()`
### 1.2 增强错误穿透

- **方案**: 利用 `problem_details` 模块。
- **实现**: 在 Axum 的处理器中,捕获 `AcmeError` 并调用 `.to_problem_details().into_response()`
---

## 2. 安全强化方案

### 2.1 动态 API Key 管理

- **方案**: 支持从配置文件或环境变量加载多个授权 Key。
- **路径**: `src/server/auth.rs`- **逻辑**: 修改 `api_key_auth` 中间件,使其从 `AppState` 中读取有效的 Keys 列表。

### 2.2 审计日志 (Audit Logging)

- **方案**: 结合事件审计系统。
- **实现**: 在每个关键写操作 (Create/Delete/Revoke) 成功后,调用 `EventAuditor` 记录操作者、时间、资源 ID。

---

## 3. 性能优化方案

### 3.1 Nonce Pool 预取调优

- **方案**: 实现智能补给算法。
- **实现**: 根据系统 QPS 动态调整 `NoncePool``min_size`
### 3.2 证书链验证并发化

- **方案**: 多个证书文件的异步并行验证。
- **实现**: 使用 `tokio::join!``futures::future::join_all``CertificateChain` 中执行校验。

---

## 4. DNS 提供商完整性补全

### 4.1 物理清理逻辑补全

- **目标**: 确保所有 Provider 的 `delete_txt_record` 方法不仅是日志记录,而是真实的 API 调用。
- **重点提供商**: Huawei Cloud, CloudNS, Alibaba Cloud。

### 4.2 智能解析重试

- **方案**: 集成指数退避算法。
- **实现**: 修改 `Dns01Solver` 的轮询逻辑,当首选 DNS 服务器尚未同步记录时,延迟重试时间。

---

## 5. 指标与追踪 (Observability)

### 5.1 全链路追踪集成

- **工具**: `tracing-opentelemetry` + OTLP 导出器。
- **埋点**:
    - ACME 请求往返时间。
    - 挑战验证耗时分布。
    - 数据库/存储后端延迟。

---

## 🚀 交付清单 (v0.7.0)

- [ ] [Critical] 真正的异部订单处理流程。
- [ ] [Critical] 实时 OCSP 状态监控。
- [ ] [Important] API Key 的生产级持有方案。
- [ ] [Important] 补全所有 DNS Provider 的 API 驱动代码。
- [ ] [Secondary] OTLP 监控面板预设。