Files
dsh/upstream/PROVENANCE.md

2.3 KiB

Upstream provenance

upstream/ — вендоренная копия https://github.com/yjrszcq/dsh-docker (MIT).

  • базовый commit: 2564866f7844f334379dc4913dc466a5a4138306 (main, 2026-09-19)
  • причина вендоринга: самодостаточность репо (пересборка образа без внешних зависимостей); лицензия MIT допускает копирование при сохранении уведомления (см. upstream/LICENSE).

Наши изменения относительно upstream

  1. container/environment/resources/patches/managed-lifecycle.mjs — якоря патча адаптированы к dsh 0.2.x (обратная совместимость с 0.1.x сохранена, проверено на 0.2.0-rc.2 и 0.1.5-rc.2):
    • динамический импорт Web Profile: в 0.2.x фасад ./profile-boot.js без хэша и с любым стилем кавычек;
    • SIGTERM-handler и settled-return: регэксп по форме вместо точного отступа (0.1.x — 2/1 таб, 0.2.x — 3/2 таба);
    • dispatch в bin.js: список известных сигнатур parseDshArgs (0.2.x добавила version, manageDesktopProfile из scope runCli). Именно из-за этих якорей у автора стоит пин latestSupportedDsh — с толерантными якорями образ собирается на новых версиях без поднятия пина (dev-ветка сборки пин не проверяет).
  2. container/control-plane/hooks/dsh-web-ready.mjs — дрейф контрактов web-сервера 0.2.x:
    • token-exchange редирект: допускается location: './' (0.2.x) помимо / (0.1.x) — без этого runtime падал «DSH Web authentication exchange failed»;
    • URL ресурсов плагинов в boot-манифесте 0.2.x корневые-относительные (plugins/…) — нормализуются до /plugins/… перед проверкой и загрузкой.

Остальное (compose, scripts/, docs/, README) лежит на верхнем уровне и в upstream не вмешивается.