feat(auth): implement API key authentication and management
Introduce a new API key authentication mechanism to support service-to-service communication (e.g., Airflow, CI/CD) without browser-based JWT login. - Add `APIKey` model and `APIKeyPrincipal` dependency for RBAC. - Implement `require_api_key_or_jwt` dependency with environment scoping. - Add admin CRUD endpoints for API key lifecycle management. - Add API key management UI in System Settings. - Update maintenance API to support explicit `environment_id` and API key auth. - Add i18n support for API keys and connection settings. - Include Python and Bash usage examples in the `examples/` directory. - Update technical specifications and documentation.
This commit is contained in:
@@ -438,3 +438,12 @@ pip install -r requirements.txt --upgrade
|
||||
cd frontend
|
||||
npm install
|
||||
```
|
||||
|
||||
## 💻 Примеры скриптов
|
||||
|
||||
Примеры Python и Bash скриптов для вызова API ss-tools из внешних систем (Airflow, CI/CD, cron) находятся в каталоге [`examples/`](./examples/).
|
||||
|
||||
- **Python** — [`examples/maintenance-api-python.py`](./examples/maintenance-api-python.py)
|
||||
- **Bash** — [`examples/maintenance-api-bash.sh`](./examples/maintenance-api-bash.sh)
|
||||
|
||||
Скрипты демонстрируют аутентификацию через API Key (`X-API-Key`), запуск и завершение maintenance-событий, а также обработку ошибок.
|
||||
|
||||
Reference in New Issue
Block a user