Commit Graph

8 Commits

Author SHA1 Message Date
Александр Зимин 664590660b fix(ci): use /dockerhub/ prefix для Nexus proxy путей 2026-06-20 21:45:56 +00:00
Zimin A.N. e62633d903 fix(version): read CI_COMMIT_TAG as source of truth, package.json as fallback
Previously: vite read package.json.version only, requiring manual bump
before each tag pipeline (manual sync ломалось — MR !44 пример костыля).

Now: vite reads CI_COMMIT_TAG (passed via Dockerfile ARG GIT_TAG from
.gitlab-ci.yml .docker_base) → strips 'v' prefix → exposes как __APP_TAG__.
'none' sentinel filtered → empty string → fallback к package.json.

VersionBadge priority chain:
  1. serverTag (что прод RUNS, через /api/v1/version)
  2. clientTag (что build'илось на tag pipeline)
  3. v${clientVersion} (package.json fallback floor для local / branch)

Dockerfile: add ARG GIT_TAG=none, ENV CI_COMMIT_TAG=$GIT_TAG (mirrors
существующий pattern с GIT_COMMIT → CI_COMMIT_SHORT_SHA).

Revert package.json 1.3.1 → 1.2.0 (manual bump из MR !44). Версия теперь
follows tag, не наоборот.
2026-05-11 14:19:50 +03:00
Александр Зимин 215ba678ac fix(admin-ui): pass git commit к vite через Docker ARG 2026-05-10 17:33:44 +00:00
Zimin A.N. 27648ee2f7 fix(ci): pnpm via npm install (skip corepack) — Dockerfile + build-docs job
Corepack может hang в CI runner на integrity-check либо non-TTY prompt
при первом activate. Заменяем на прямой npm install с pinned version
9.15.4 (latest stable v9, lockfile compat: lockfileVersion '9.0').

Изменения:
- ordinis-admin-ui/Dockerfile: corepack → npm install -g pnpm@9.15.4
- docs/Dockerfile: same swap
- .gitlab-ci.yml build-docs: same swap

Verified locally: docker build ordinis-admin-ui за 23 sec, no hang.
2026-05-08 00:35:41 +03:00
Zimin A.N. a73d0d31aa fix(admin-ui): pin pnpm@9 в Dockerfile — обойти v10 postinstall block в CI
pnpm@latest (= v10+) теперь блокирует postinstall scripts по умолчанию и
просит "Run pnpm approve-builds to pick which dependencies should be
allowed to run scripts". В CI нет интерактивного prompt'а → exit code 1.

Pin на v9 — keeps старое behaviour, совместимо с pnpm-lock.yaml v9.0.
Same подход что в docs/Dockerfile (pnpm@9.0.0 уже).

Если нужен v10 — добавь в package.json:
  "pnpm": { "onlyBuiltDependencies": ["esbuild", ...] }
либо --config.dangerouslyAllowAllBuilds=true в CI command.
2026-05-08 00:10:08 +03:00
Zimin A.N. 4f04872de8 fix(admin-ui): COPY .npmrc + pnpm-lock.yaml в Dockerfile build stage
pnpm install в Docker падал т.к. .npmrc отсутствовал — @nstart/* резолвились
в public npm registry (404). Добавил .npmrc + pnpm-lock.yaml в первый COPY до
install, чтобы scope mapping на repo.nstart.cloud сработал.

Заодно --frozen-lockfile вместо --no-frozen-lockfile (lockfile в репо есть,
CI воспроизводимый install).
2026-05-04 02:29:41 +03:00
Александр Зимин d5a747616a fix(admin-ui): envsubst FQDN с per-cluster DNS suffix
nginx resolver не использует search list, поэтому в proxy_pass нужен
FQDN. Cluster domain различается:
  - cluster.265 (staging): 265.local
  - srvaltum01 (prod):     altum.local
  - default kubespray:     cluster.local

Решение: nginx.conf — template с ${ORDINIS_NAMESPACE} и
${CLUSTER_DOMAIN}, обрабатывается официальным nginx entrypoint
(/docker-entrypoint.d/20-envsubst-on-templates.sh). Helm подставляет
ENV из fieldRef + values per-env.
2026-05-04 01:21:34 +03:00
Александр Зимин 1eba2ee59b feat(admin-ui): minimal React+Vite+TanStack scaffolding
- Vite 7 + React 19 + TanStack Router (file-based) + TanStack Query
- Tailwind v4 (CSS-first config, OKLCH brand colors)
- i18next + react-i18next с RU/EN switcher в header
- Axios client с Accept-Language interceptor + JWT placeholder
- 2 pages: /dictionaries (list cards) + /dictionaries/$name (records table)
- Dockerfile (node build + nginx serving + API proxy)
- README + .gitignore

Backend:
- Новый GET /api/v1/dictionaries в read-api (DictionaryListController),
  фильтрует по доступному scope через ScopeContext
- DictionaryListItem DTO без heavy schema_json

routeTree.gen.ts — stub; реальное содержимое генерится Vite plugin'ом при
первом 'pnpm dev'.
2026-05-04 00:55:04 +03:00