// tier: serverfactory-tertiary · order 33
Server Factory — Additional Components mixedlicense: UNVERIFIED
Source
- Server-Factory/Web-Service-Factory
- Server-Factory/SonarQube-Factory
- Server-Factory/Caching-Proxy-Factory
- Server-Factory/Docker-Definitions
- Server-Factory/Stack-Definitions
- Server-Factory/Software-Definitions
- Server-Factory/Utils
Вспомогательная инфраструктура инструмента Server Factory для развёртывания.
Помимо Mail Server Factory и базового фреймворка, в составе Server-Factory представлен ряд более компактных компонентов: «фабрики» для отдельных сервисов (веб-сервис, SonarQube, кэширующий прокси), декларативные конфигурационные пакеты (Docker/Stack/Software Definitions) и общие утилиты. Эта сводная страница описывает их без прикрас — многие находятся на ранней стадии разработки или задокументированы лишь частично — вместо того, чтобы представлять их как полностью готовые продукты.
Группа вспомогательных репозиториев Server Factory: Web-Service-Factory, SonarQube-Factory и Caching-Proxy-Factory (инструменты развёртывания для отдельных сервисов, в основном на ранней стадии разработки); Docker/Stack/Software-Definitions (декларативные конфигурационные пакеты, используемые фреймворком); а также Utils (вспомогательные инструменты для работы с SSH и общие утилиты). Все они основаны на базовом фреймворке.
Эта страница объединяет остальные репозитории Server-Factory, поскольку по отдельности большинство из них невелики или намеренно слабо задокументированы, и представление каждого как завершённого продукта преувеличило бы их зрелость. Их можно разделить на три группы. Фабрики сервисов следуют шаблону Mail Server Factory для других ролей серверов: Caching-Proxy-Factory («Запустите собственный кэширующий прокси-сервер») перечисляет кэширующий прокси, самоподписанный сертификат и HTTP-эндпоинт для получения сертификата безопасности как ключевые функции; SonarQube-Factory («Запустите собственный сервер SonarQube») ориентирована на использование в разработке ПО; а Web-Service-Factory развёртывает и настраивает веб-сервер для размещения таких целей, как сайты и микросервисы. Все три проекта реализованы на базе Kotlin и основаны на базовом фреймворке, однако их публичные README-файлы в основном носят формальный характер («Tbd.» в разделах совместимости, спецификаций, установки и использования) — поэтому их реальные возможности, выходящие за рамки заявленных, НЕ ПОДТВЕРЖДЕНЫ. Конфигурационные пакеты — Docker-Definitions, Stack-Definitions и Software-Definitions — представляют собой репозитории декларативных конфигураций, которые фреймворк использует для сборки и развёртывания образов Docker, стеков и ПО; это версиированные пакеты данных, а не приложения. Utils предоставляет общие вспомогательные инструменты для всей экосистемы, включая скрипт init_ssh_access.sh, который генерирует ключ SSH и устанавливает его на удалённом хосте для обеспечения беспарольного root-доступа при последующем развёртывании. Вместе эти компоненты дополняют инструментарий развёртывания вокруг флагманского продукта Mail Server Factory.
Модель Server Factory изначально задумана как универсальная: если можно развернуть почтовый сервер на основе декларативного описания, то тот же движок должен справляться и с развёртыванием веб-серверов, кэширующих прокси и серверов контроля качества кода — при условии использования переиспользуемых конфигурационных пакетов и общих утилит вместо узкоспециализированной логики для каждой роли. Эти репозитории и есть та самая универсализация в процессе: они расширяют проверенную модель на новые типы серверов. Их ценность здесь — в демонстрации масштабируемости модели; степень их готовности различается, и эта страница намеренно чётко разграничивает, что пока лишь в планах, а что уже реализовано.
В совокупности они демонстрируют возможность повторного использования базовой платформы для различных типов серверов, а также отделение декларативных данных (определений) от исполнения (фабрик). По отдельности фабрики сервисов находятся на ранней стадии разработки и должны рассматриваться как направление, а не как готовые продукты.
- Единая платформа развёртывания, обобщённая для ролей почтового сервера, веб-сервера, кэширующего прокси и SonarQube.
- Декларативные пакеты определений (Docker/Stack/Software), отделённые от движка исполнения.
- Общие утилиты (например, однокомандная безпарольная инициализация SSH), используемые во всех фабриках.
- Использование одного движка для разных серверных ролей: решено за счёт построения каждой фабрики на базе базовой платформы.
- Отделение конфигурации от кода: решено с помощью репозиториев определений как версионированных пакетов данных.
- (НЕПРОВЕРЕНО): README фабрик сервисов носят временный характер; полнота их реализации не поддаётся проверке по публичным документам — представлять как раннюю стадию разработки.
- Kotlin — фабрики веб-сервисов, SonarQube и кэширующего прокси (построены на базе базовой платформы).
- Shell — утилиты и пакеты определений (скрипты/конфигурации).
- Gradle — сборка и тестирование через
./gradlew testдля всех фабрик. - Docker — целевая среда исполнения, описываемая определениями Docker.
- SSH / OpenSSH — безпарольная инициализация через утилиты.
- SonarQube — сервер, развёртываемый фабрикой SonarQube (и для которого Mail Server Factory подтверждает чистый проход).
Примечание о честности: большинство этих репозиториев — форки внутри организации; документация фабрик сервисов носит временный характер и помечена как НЕПРОВЕРЕНО согласно уставу §11.4.6. Их значимость явно уступает Mail Server Factory и базовой платформе.