Об этом проекте
AsterForge — это общая основа среды выполнения на Rust и инфраструктурное ядро для сервисов Aster (AsterDrive, AsterYggdrasil и будущих проектов). Он предоставляет нейтральные к продуктам компоненты, схемы, хранилища и механизмы жизненного цикла, чтобы отдельные сервисы Aster могли подключаться к общей инфраструктуре, а не переписывать общие вспомогательные средства.
Рабочее пространство охватывает управление жизненным циклом, регистрацию компонентов, отчёты о состоянии, порядок завершения работы, перезагрузку конфигурации, бэкенды кэша, инфраструктурные таблицы, принадлежащие базе данных, отправку почтового исходящего ящика, механику аудит-логов, запланированные задачи, аренды среды выполнения, логирование, метрики, обработку паник, вспомогательные средства API, промежуточное ПО Actix, коннекторы внешней аутентификации, вспомогательные средства ключей хранилища и валидацию. Код, специфичный для продукта (разрешения, семантика пользовательского API, сущности продукта, полезные нагрузки/результаты задач, перечисления действий аудита, правила представления, бизнес-репозитории), остаётся в репозиториях приложений-владельцев; Forge владеет только тем, что нужно нескольким сервисам Aster совместно.
Крейты организованы по нескольким областям:
- Ядро среды выполнения: aster_forge_runtime, aster_forge_config, aster_forge_logging, aster_forge_metrics, aster_forge_panic, aster_forge_alloc
- Веб и API: aster_forge_api, aster_forge_api_docs_macros, aster_forge_middleware, aster_forge_observability, aster_forge_external_auth, aster_forge_http, aster_forge_webdav
- Данные, координация и фоновая работа: aster_forge_db, aster_forge_db_migration, aster_forge_cache, aster_forge_tasks, aster_forge_mail, aster_forge_audit
- Хранилище и доменно-нейтральные вспомогательные средства: aster_forge_cloud_files_core, aster_forge_cloud_files_linux, aster_forge_cloud_files_macos_bridge, aster_forge_cloud_files_windows, aster_forge_storage_core, aster_forge_file_classification
- Утилиты: aster_forge_crypto, aster_forge_utils, aster_forge_validation, aster_forge_xml
Встроенный шаблон cargo-generate (templates/aster-service-actix) создаёт каркас нового сервиса Aster с тонкой точкой входа, подключённой к компонентам среды выполнения Forge, консервативными настройками по умолчанию для сервера/базы данных/кэша/синхронизации конфигурации/логирования и крейтом миграций для инфраструктурных таблиц, принадлежащих Forge.
Рабочее пространство нацелено на Rust 1.94.0+ с edition 2024 и имеет двойную лицензию MIT OR Apache-2.0. Документация предоставляется через сайт VitePress с руководствами на китайском и английском языках; страницы крейтов на китайском языке в настоящее время являются авторитетным справочником по интеграции. Сборка и CI следуют модели AsterDrive, включая закреплённый инструментарий, разделённый dev-профиль, проверки дрейфа артефактов OpenAPI/TypeScript, сводки покрытия, аудиты, запускаемые зависимостями, и smoke-задачи миграций PostgreSQL/MySQL.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.