// узровень: serverfactory-tertiary · парадак 33
Server Factory — Additional Components змешаныліцэнзія: UNVERIFIED
Крыніца
- 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.
Група рэпазіторыяў, што падтрымліваюць Server Factory: Web-Service-Factory, SonarQube-Factory і Caching-Proxy-Factory (інструменты правізанання для асобных сэрвісаў, пераважна на ранняй стадыі); Docker/Stack/Software-Definitions (дэкларатыўныя канфігурацыйныя пакеты, якія выкарыстоўваюцца фрэймворкам); і Utils (дапаможныя сродкі для доступу да SSH і агульныя інструменты). Усе яны грунтуюцца на Core Framework.
Гэтая старонка аб’ядноўвае астатнія рэпазіторыі Server-Factory, бо паасобку большасць з іх невялікія ці наўмысна недакументаваныя, і падаваць кожны як гатовы прадукт было б перабольшваннем іх сталасці. Яны падзяляюцца на тры групы. Фабрыкі сэрвісаў паўтараюць шаблон Mail Server Factory для іншых роляў сервераў: Caching-Proxy-Factory («Запусціце ўласны кэшавальны проксі-сервер») пералічвае кэшавальны проксі, самападпісаны сертыфікат і HTTP-эндпоінт для атрымання сертыфікатаў бяспекі як ключавыя магчымасці; SonarQube-Factory («Запусціце ўласны сервер SonarQube») арыентавана на выкарыстанне ў распрацоўцы праграмнага забеспячэння; а Web-Service-Factory стварае і канфігуруе вэб-сервер для разгортвання такіх мэт, як вэб-сайты і мікрасэрвісы. Усе тры з’яўляюцца праектамі Kotlin, пабудаванымі на аснове Core Framework, але іх публічныя README-файлы ў асноўным з’яўляюцца заглушкамі («Tbd.» для сумяшчальнасці, спецыфікацый, наладкі і выкарыстання) — таму іх канкрэтныя магчымасці па-за заяўленымі намерымі НЕПАЦВЕРДЖАНЫЯ. Канфігурацыйныя пакеты — Docker-Definitions, Stack-Definitions і Software-Definitions — гэта дэкларатыўныя рэпазіторыі канфігурацый, якія фрэймворк выкарыстоўвае для стварэння/разгортвання вобразаў Docker, стэкаў і праграмнага забеспячэння; яны з’яўляюцца версійна зафіксаванымі наборамі даных, а не асобнымі праграмамі. Utils прапануе агульныя дапаможныя сродкі для сямейства, у тым ліку скрыпт init_ssh_access.sh, які генеруе ключ SSH і ўсталёўвае яго на аддалены хост для забеспячэння доступу root без пароля для наступнага правізанання. Разам гэтыя кампаненты дапаўняюць інструментар правізанання вакол флагманскага Mail Server Factory.
Акрамя Mail Server Factory і асноўнага фрэймворка, арганізацыя Server-Factory ўключае некалькі меншых кампанентаў: «фабрыкі» для асобных сэрвісаў (Web Service, SonarQube, Caching Proxy), дэкларатыўныя канфігурацыйныя пакеты (Docker/Stack/Software Definitions) і агульныя Utils. Гэтая старонка аб’ядноўвае іх без прыкрас — некаторыя знаходзяцца на ранняй стадыі распрацоўкі ці маюць толькі намёкі на дакументацыю — замест таго, каб падаваць іх як цалкам гатовыя прадукты.
Мадэль 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 і Асноўнай платформай.