// tier: serverfactory-tertiary · order 33

Server Factory — Additional Components mixedlicense: UNVERIFIED

Kotlin (service factories, on Core Framework)Shell (Utils, Definitions packs)GradleDocker (target runtime)SSH / OpenSSH (Utils bootstrap)SonarQube

Source

Server Factory — Additional Components Family tree Data vs engine · bootstrap Maturity: solid = flagship (Mail) · dashed = early-stage service factories (UNVERIFIED) Core Framework Kotlin engine Mail Factory flagship Web Service Factory early-stage SonarQube Factory early-stage Caching-Proxy Factory early-stage Definitions packs Docker · Stack · Software Utils init_ssh_access.sh bootstrap
// architecture

Вспомогательная инфраструктура инструмента 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 и базовой платформе.