Commit Graph

511 Commits

Author SHA1 Message Date
18c27ab8f5 meta(handoff): MinIO-split B4 fully closed — gallery preview fixed (MoreThenCms 09cb072d)
B4 endpoint flip + pre-existing S3-provider KeyNotFoundException bug (gallery preview
ownerId) fixed via drop-in DLL. Preview confirmed live by user. Runbook §B4 + NEXT_SESSION
updated with root cause + fix reference.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 19:49:59 +03:00
84c2d6e981 meta(handoff): MinIO-split B4 DONE — .NET catch-all админ Web.config endpoint → vds minio
Web.config 6/6 fileStorageClients endpoint minio.kzntsv.site → minio.vds.kzntsv.site
(AWSSDK 1.3.19, us-east-1, forcePathStyle). Pre-flip verify: MINIO_ROOT_USER ==
Web.config accessKey (reuse, no rotation); mc read galleries/assets/themes OK
(B1 mirror live). IIS auto-recycle; https://internal.snolla.com/admin/account/login
200 <title>SNOLLA</title>, login form renders (app boots clean). Asset Manager
preview (authenticated) — user-confirm pending. Backup: Web.config.b4.bak.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 19:33:28 +03:00
1be1ed9ded meta(handoff): B5 Obsidian Remotely Save endpoint DONE — verified flipped to vds minio
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 19:27:07 +03:00
94b0ae04ea meta(handoff): tandemmebel v3 cutover LIVE — тираж v3 завершён 6/6 GREEN
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 19:01:45 +03:00
69d3d0dd3f feat(tandemmebel): v3 cutover LIVE — snolla 0.42.1→0.43.2 (aws-sdk v2→v3)
6-й сайт тиража v3 (после on-snolla, kupimknigi, labtools.ru, labtools.pro, emspb).
6/6 v3 сайтов GREEN — тираж v3 ЗАВЕРШЁН.

- Bump: @snollajs/snolla 0.42.1→0.43.2 (apps/web) + resolutions verbatim labtools.ru
  (@aws-sdk/client-s3 3.1005.0 + @smithy chain 5.3.11 — optional determinism) + реген
  yarn.lock (single @smithy/signature-v4@5.3.11 deduped). Commit 9d51c09 в victor/tandemmebel.ru.
  Заодно нёс на live s3.endpoint fix f4ddce6 (→ minio.vds.kzntsv.site), был в master с 2026-07-29.
- Build на VDS: registry.kzntsv.site/tandemmebel:9d51c09, digest d14982c24dc7, 476MB (v2 583MB), EXIT=0.
- Staging :5020 parity-gate GREEN: robots md5 identical, sitemap 184=184 locs IDENTICAL,
  self-consistency 183×200 + 1×404 (/articles parity), Gotham-Pro.css 200 4436B (v3 S3-direct).
- Portainer PUT stack 20 (node in-memory, кириллица compose), env 8/8, pullImage:true, mem_limit 512m. PUT 200.
- Live smoke GREEN: / 200 45742B, /projects 200, sitemap 184, theme 200 4436B. TLS CN не тронут (LE Oct 10).
- Rollback = 8df10ee (v2, жив в registry).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 19:00:52 +03:00
fd48df6225 feat(emspb): v3 cutover LIVE — snolla 0.42.1→0.43.2 (aws-sdk v2→v3)
5-й сайт тиража v3 (5/6 GREEN). In-place bump стека 18 (DNS на VDS с
2026-07-02). Commit victor/emspb.ru 5afd8a1 (bump + resolutions + yarn.lock
реген). Build на VDS → registry.kzntsv.site/emspb:5afd8a1 digest 72bb59fc.
Staging :5082 parity-gate GREEN (29/29 routes 200, theme assets 7/7 md5
IDENTICAL — v3 S3-direct read из vds MinIO 2025). Portainer PUT stack 18
env-preserving (8/8, node in-memory put-stack), prune:false pullImage:true.
Live smoke GREEN. Rollback = 95a5c42 (v2).

- emspb.compose.yml: 95a5c42→5afd8a1
- emspb-vds-deploy-runbook: §0.43.2
- minio-split-cutover-runbook: progress-table emspb , остался tandemmebel
- NEXT_SESSION: 5/6 GREEN, остался tandemmebel (стек 20, был BLOCKED на
  sharp-staging дефекте — проверить перед бампом)

Остался 1 сайт: tandemmebel.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 17:46:19 +03:00
c3c79b996a feat(labtools.pro): v3 cutover LIVE — snolla 0.42.1→0.43.2 (aws-sdk v2→v3)
4-й сайт тиража v3 (on-snolla, kupimknigi, labtools.ru, labtools.pro — 4/6 GREEN).
Stack 19 image 0610432→a106622, env 8/8 preserved, mem_limit 512m.

Staging :5081 parity-gate GREEN: theme lato.css 200 9994B md5-identical
(v3 aws-sdk v3 S3-direct read из vds MinIO 2025), sitemap 7 детей == live,
order-parity press-forms 12 изделий, / 4-байт diff = og:url/og:image
request-host (benign). Live smoke GREEN, TLS CN=labtools.pro не тронут.
Rollback = labtools-pro:0610432 (0.42.1, жив в registry).

Compose source-of-truth + runbook v3 секция + handoff обновлены.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 17:36:36 +03:00
ff87bc5205 meta(handoff): next session pick = labtools.pro (user chose, not started)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 17:22:50 +03:00
387560c9f8 feat(labtools): v3 cutover LIVE — snolla 0.42.1→0.43.2 (aws-sdk v2→v3)
3rd site of v3 тираж (after on-snolla + kupimknigi, 3/6 GREEN).
Bump 0dc0b4e: apps/web snolla→0.43.2 + resolutions (root). Endpoint fix
4f3314f (minio.vds.kzntsv.site) was in master but not in running v2 image
566d41c — v3 cutover also moved S3-direct read to vds minio.

Staging :5080 parity-gate GREEN (home/theme byte-identical, sitemap 38
locs == live, order-parity). Portainer PUT stack 17 env-preserving 8/8,
mem_limit 512m, prune:false pullImage:true. Live smoke GREEN, TLS untouched.
Rollback = 566d41c (v2, in registry).

Compose source-of-truth 566d41c→0dc0b4e. Runbook + handoff updated.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 17:19:26 +03:00
7795fa4dee meta(handoff): next session pick = labtools (user chose, not started)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 17:11:27 +03:00
60bb09b4c0 docs(kupimknigi): v3 cutover LIVE — runbook progress + handoff update
B3-v3 kupimknigi.spb.ru done (2/6 sites). 4 remain (labtools/labtools.pro/
emspb/tandemmebel). Rollback=9608ff6.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 17:10:00 +03:00
6f6fab1dad feat(kupimknigi): v3 cutover image bump 9608ff6→5364353 (snolla 0.43.2)
MinIO split B3-v3 cutover, stack 21. Source-of-truth compose synced with
Portainer PUT. snolla 0.42.0→0.43.2 (aws-sdk v2→v3) + @smithy resolutions.
Bundles a83e2a9 endpoint fix (minio.vds.kzntsv.site). Staging parity-gate
GREEN (byte-identical with real Host, theme asset 200 byte-identical from
vds MinIO 2025). Rollback = 9608ff6 (v2, live in registry).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 17:08:12 +03:00
7dfd8dba7b meta(handoff): NEXT_SESSION — on-snolla v3 cutover LIVE (end-goal), 5 sites v3 TODO
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 14:34:46 +03:00
f56eb2f800 feat(on-snolla): v3 cutover LIVE — snolla 0.43.2 (aws-sdk v2→v3) + runbook migration
v3 pilot on.snolla.com end-goal (user 2026-07-30): bump @snollajs/snolla
0.42.1→0.43.2 + @smithy resolutions (root package.json, on.snolla.com eb8c143).
Portainer PUT stack 22 → registry.kzntsv.site/on-snolla:eb8c143, env-preserving
8/8, mem_limit 512m. Live smoke GREEN: theme asset 200 97324 B (v3 aws-sdk v3
S3-direct read из vds MinIO 2025), sitemap+sub-sitemaps byte-identical, /c 404.
Rollback = 07db7e3 (v2, жив).

runbook migration (дисциплина): scripts/minio-split-cutover/runbook.md →
.wiki/concepts/minio-split-cutover-runbook.md (конвенция: runbook'и в .wiki/concepts/).
Creds normalized → pass show minio-vds/full-env (wiki-конвенция, не plaintext).
+ index.md, log.md, on-snolla-vds-deploy-runbook v3-секция.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 14:30:38 +03:00
afb6e5f0d6 meta(handoff): fix stale tandemmebel "blocked" — it's LIVE on VDS since 2026-07-12 (cutover complete, image 8df10ee/0.42.1), candidate for B3 not blocked
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 13:26:36 +03:00
8cd1201046 meta(handoff): NEXT_SESSION — MinIO split B3 on-snolla pilot LIVE, 5 sites + Track A/B4/B5 TODO
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 13:24:24 +03:00
443713e8b3 feat(on-snolla): MinIO split S3-direct-path cutover — stack 22 bump 473923e494db->07db7e3
Track B3 pilot (on-snolla, S3-direct reads, no imgproxy). In-place image bump
of live stack 22 by snolla-live-prod-inplace-image-bump recipe:
- build on VDS (07db7e3 = config endpoint minio.kzntsv.site -> minio.vds.kzntsv.site,
  snolla 0.42.1 v2, NO package.json bump — user decision: split without snolla version bump)
- staging :5077 from live env: robots/home/sitemap 200
- S3-direct gate: theme asset /themes/c406.../bootstrap.min.css -> 200, 97324 B == live
  (aws-sdk v2 -> vds minio 2025 — compat CONFIRMED, no @smithy pin needed, no SigV4 403)
- sitemap parity staging==live 3/3 (/, /c, /yandex); /c 404 parity
- Portainer PUT stack 22 env-preserving (8/8), prune:false pullImage:true -> 200
- live container 07db7e3 healthy, mem_limit 512m preserved
- live-smoke https://on.snolla.com: theme asset 200 97324 B, TLS cert untouched (LE YR1, Oct 18)
Rollback: PUT stack 22 back to 473923e494db (rollback tag in registry, pred endpoint
minio.kzntsv.site/books-vds, live mirror). RUVDS DECOMM 2026-07-21 — image-tag rollback only.

scripts/minio-split-cutover/runbook.md: Track B progress table (B1 mirror DONE,
B2 imgproxy DNS-flip LIVE, B3 on-snolla pilot LIVE, remaining 5 sites + Track A TODO).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 13:23:23 +03:00
71dee93e86 @wiki: alias pilonuxt -> pilorama98.ru in prose; keep literal container/stack/image id
Замена прозо-ссылок pilonuxt на pilorama98.ru в 7 файлах, чтоб при поиске
по домену находились ops-записи. Буквальные docker-идентификаторы
(контейнер/стек pilonuxt Id 16, image tag, task-slugs) оставлены с пометкой
«контейнер pilonuxt».

Co-Authored-By: Claude <noreply@anthropic.com>
@
2026-07-29 10:59:39 +03:00
5a93ac780c wiki(snolla): ingest local admin HTTPS binding — self-signed wildcard *.snolla.com on IIS :443
Локальный .NET-админ snolla на HTTPS: pilorama98.snolla.com/admin 404 (не в hosts → VDS)
→ ERR_CONNECTION_CLOSED (HSTS upgrade, нет 443). Fix: IIS-native self-signed wildcard
*.snolla.com на :443 + Trusted Root (без traefik — acme.json пуст, лишний слой). Рабочий
entry-point /admin/account/login (голый /admin → canonical на public — предсуществующее
поведение CMS). +index.md (2 строки, design-док ранее не индексирован) + log.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-29 09:14:29 +03:00
43aa674e5b wiki(stostayer): ingest markdown-render-404 incident postmortem + NEXT_SESSION
Постмортем инцидента 2026-07-24: 404/500 на body_repair_service (stostayer.ru) =
двойной корень. (1) код-баг snolla: viewModels/index.js `import markdown from
'markdown-it'; markdown();` — инстанс выброшен, markdown.render undefined, краш на
markdown-поле-шаблонах (латентный ~3 мес с коммита 1e3f897 2026-04-21). (2) упаковка
exact-pin-staleness: @snollajs/content-api@0.8.0 `workspace:*` запёк
@snollajs/snolla:0.7.4 exact → фиксовая 0.7.7 легла top-level, content-api юзал
nested баговую 0.7.4. yarn resolutions/patch не форсят exact-pin опубликованного
пакета — решено публикацией @snollajs/content-api@0.8.2 (^0.7.7).

Деплой stostayer-web:0.3.22 через pscp SSH:20435 + sudo docker load + Portainer PUT
pullImage:false (без push в docker.stostayer.ru:443, бана нет). 4 URL → 200 публично.
Pre-build чек yarn.lock single-snolla ловит класс. Cleanup
workspace-caret-interpackage-deps — за vitya+snolla.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-24 14:37:53 +03:00
23b1a47c14 wiki(stostayer): ingest stostayer-admin-minio-config — :8090 admin on stostayer MinIO
Fix 2026-07-22: local .NET admin (C:\sites\stostayer\Web.config) S3 providers
re-pointed to stostayer MinIO. 3 bugs in original config: wrong creds
(AKIAJ2YJP72W6ZHCRE6Q = books-vds root, not stayer_minio), wrong endpoint
(minio.stostayer.ru is not S3 API port; prod uses minio-api.stostayer.ru),
wrong region (local -> AmazonS3Exception expecting us-west-1). Creds NOT in
pass — live in stostayer.new config/default.json. Admin now shares prod
storage; manual App_Data mirroring retired.

+ index.md, log.md. Also carries pending handoff (NEXT_SESSION) + runbook
update from 2026-07-21 stostayer-web 0.3.20 deploy session.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-22 10:45:13 +03:00
95168e301a meta(handoff): NEXT_SESSION — RUVDS DECOMM 2026-07-21, rimiz DNS flipped, 0 public domains on RUVDS
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-21 10:18:52 +03:00
ec3ac79272 meta(ruvds): rimiz.ru DNS flipped to VDS — zero public domains left on RUVDS
Authoritative ns1/ns2.reg.ru serve 89.253.255.94 for rimiz.ru + www.
Public resolvers still cache 80.64.31.36 (TTL 86400), clears in 24h.
RUVDS has no public domain pointing at it anymore.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-21 10:18:29 +03:00
535ed6170f meta(ruvds): DECOMM 2026-07-21 — powered off, forgotten
ruvds-iis-host (80.64.31.36) decommissioned at provider. Final offsite
snapshot verified on kreknin 2026-07-21 (8.8G, 7-day retention).
Only public domain still on RUVDS was dead rimiz.ru (404 since 2026-05-19);
all snolla-fleet migrated to VDS (stacks 17-22). Local .NET admin
independent of RUVDS. on-snolla runbook rollback-ref updated
(RUVDS no longer rollback-target — image-tag only).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-21 10:14:09 +03:00
vitya
50e263860d ops(on-snolla): rename site alias on->internal (admin at internal.snolla.com/admin)
- Sites.Alias+LoweredAlias on->internal (siteId B9ECDB50; PrimaryDomain on.snolla.com kept).
- Web.config primaryAlias on->internal (catch-all default-site; without it the whole
  catch-all NRE-500s on every request — primaryAlias references the renamed alias).
- hosts: on.snolla.com->internal.snolla.com under # snolla-local-admin marker.
- setup-local-snolla-admin.ps1 aliases array updated.
- runbook + NEXT_SESSION + memory updated.

VDS prod on.snolla.com unaffected (snolla-app uses config.siteId, not alias) — verified
byte-identical + smoke GREEN after rename. Incident: elevated hosts edit emptied hosts
to 0B (Get-Content -Raw returned null in RunAs context) — restored from Windows default
header + snolla-local-admin block. Memory snolla-catch-all-primaryalias-depends-on-alias.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 13:33:09 +03:00
vitya
bec7784ffa meta(handoff): write NEXT_SESSION — Task B (on-snolla) CUTOVER DONE 2026-07-20
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 13:18:47 +03:00
vitya
4c4d19382b feat(on-snolla): CUTOVER DONE — on.snolla.com live on VDS (stack 22, LE cert)
DNS reg.ru on.snolla.com A -> 89.253.255.94 (operator flip, authoritative NS verified).
Traefik rule swapped staging->Host(on.snolla.com), LE cert issued (CN=on.snolla.com,
YR1, until 2026-10-18). Live-smoke GREEN, homepage byte-identical prod-HTML, sitemap
3/3 parity. RUVDS IIS untouched (rollback = revert DNS).

- compose source-of-truth updated to LIVE rule.
- runbook .wiki/concepts/on-snolla-vds-deploy-runbook.md (cutover as-built + gotchas:
  snolla robotsTxt crash on undefined app.locals.domain, no Liquid form-tag, /c dead-link
  parity, Portainer JWT re-auth before PUT).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 13:17:59 +03:00
vitya
9705468ef4 feat(on-snolla): Portainer stack 22 source-of-truth (staging Host, mem_limit 512m, 8 env secrets)
on.snolla.com snolla-app live behind traefik on staging Host on-snolla.vds.kzntsv.site.
Image registry.kzntsv.site/on-snolla:473923e494db (snolla 0.42.1). Pending DNS cutover
(reg.ru on.snolla.com A 80.64.31.36 -> 89.253.255.94, then PUT rule -> Host(on.snolla.com)).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 13:17:59 +03:00
019f5bae26 meta(tasks): close [on-snolla-vds-migration] in OpeItcLoc03/admin 2026-07-20 10:17:10 +00:00
73ad7669b4 meta(tasks): close [vehicles-loader-redeploy-per-group-rate-diff] in OpeItcLoc03/admin 2026-07-20 08:00:55 +00:00
dcc84cec4b meta(handoff): lock Task B decisions — repo victor/on.snolla.com, admin creds in DB
Task B deferred to next session. Operator decisions locked:
- repo = victor/on.snolla.com
- admin creds in MoreThenCms.dbo.Accounts (read via snolla user / SA)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 10:31:08 +03:00
863b11be28 meta(handoff): write NEXT_SESSION — Task A DONE, Task B unblocked
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 10:11:19 +03:00
c196964d03 feat(snolla-local-admin): RESTORE DONE — local .NET admin live (6 /admin URLs)
Task A complete. Local catch-all IIS site `snolla` restored from RUVDS:
- Selective tar-copy ~100MB (excluded stale App_Data assets/galleries/themes
  8.76GB — now in MinIO), NOT the full 8.66GB.
- Web.config already pointed at mssql.kzntsv.site MoreThenCms (user snolla)
  + MinIO S3 drop-in with real keys (placeholder_count=0) — repoint not needed.
- Elevated setup script (ASCII-only, PS5.1 BOM-less-safe):
  scripts/local-snolla-admin-restore/setup-local-snolla-admin.ps1
- AppPool snolla (.NET v4.0, AppPoolIdentity, recycle@200MB), IIS site *:80,
  ACL, hosts-override (6 aliases -> 127.0.0.1), FW block inbound 80.
- Smoke GREEN: tandemmebel/labtools/labtoolspro/emspb/kupimknigi/on
  .snolla.com/admin/account/login -> 200, real MoreThenCms login form.

Unblocks Task B (on-snolla-vds-migration). MinIO upload-acceptance = manual
operator follow-up. Records: .tasks/snolla-local-admin-restore.md + STATUS.md.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 10:10:44 +03:00
d4278e79f9 meta(handoff): write NEXT_SESSION — snolla local admin + on-snolla design
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 09:45:32 +03:00
b1b0092cdc design(snolla): local .NET admin restore + on.snolla.com VDS migration
Two linked tasks, spec in .wiki/concepts/ per project-discipline.

Task A — snolla-local-admin-restore: восстановить локальный catch-all IIS-сайт
`snolla` (снесён 2026-06-08) копированием C:\sites\snolla\ с RUVDS (прод-админ
с MinIO drop-in), conn → mssql.kzntsv.site MoreThenCms. Доступ
<alias>.snolla.com/admin через hosts-override, один AppPool. Адреса + siteIds
извлечены из MoreThenCms DB read-only.

Task B — on-snolla-vds-migration (blocked by A): on.snolla.com (siteId
B9ECDB50…, alias on, "Internal Site", culture en) с RUVDS IIS → VDS Node
snolla-app 0.42.1, реконструкция Liquid-шаблонов из боевого сайта+админки
(исходников нет). По рецепту tandemmebel-vds-deploy-runbook.

Board entries: .tasks/STATUS.md + per-task files.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 09:45:06 +03:00
a02c4b86a2 wiki: ingest de-vds-3xui source chronicle + gitignore .tmp/.tasks/.lock
sources/de-vds-3xui-setup-2026-07-14.md (new) — session chronicle capturing
the 3x-ui 3.5.0 troubleshooting: login 403 = CSRFMiddleware (X-CSRF-Token,
GET {BP}csrf-token), direct DB insert into inbounds no longer renders
(client model split across clients/client_inbounds/client_traffics → use
panel API add with stringified settings), wrapper `x-ui setting` doesn't
persist creds (binary only). Reference JSON lifted from working nl-vds 32030.
Entity sources: bound. +index.md sources line, +log.md ingest entry.
gitignore: .tmp/ (cred-bearing local throwaway, like .scratch/) and
.tasks/.lock (runtime). .tmp/ removed from disk.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-14 15:01:26 +03:00
543ded79bd wiki: de-vds-3xui real RF-client confirmed (session via 32030)
User connected through the DE node right now — plain VLESS 32030 proven
working on real RF client again. Task [de-vds-3xui-setup] closed. Flipped
Проверено block to ; +log.md decision entry.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-14 14:57:52 +03:00
3e8c580b13 meta(tasks): close [de-vds-3xui-setup] in OpeItcLoc03/admin 2026-07-14 11:57:07 +00:00
f0965cf512 wiki: ingest de-vds-3xui (Fornex Germany VPN, plain VLESS 32030)
New entity de-vds-3xui — Germany VPS 130.17.17.158 (Fornex, Ubuntu 24.04),
3x-ui 3.5.0 / xray 26.7.11, plain VLESS 32030 security=none (analog of nl-vds-3xui;
masked protocols intentionally NOT raised). Captured 3.5.0 gotchas vs 3.2.7:
CSRF on all panel POSTs (X-CSRF-Token, GET {BP}csrf-token), direct DB INSERT
into inbounds no longer renders (client model split across clients/
client_inbounds/client_traffics → use panel API add), wrapper `x-ui setting`
doesn't persist creds (binary only). Server-side e2e verified; real RF-client
test pending user. +index.md, +log.md.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-14 14:40:23 +03:00
37c179601a meta(tasks): update [de-vds-3xui-setup] in OpeItcLoc03/admin 2026-07-14 11:40:17 +00:00
5d613c3405 meta(tasks): create [de-vds-3xui-setup] in OpeItcLoc03/admin 2026-07-14 11:18:49 +00:00
ee7f5a2d18 chore(handoff): tandemmebel 8df10ee deploy DONE + loose end (Portainer STAGING-comments)
Сессия 2026-07-13-tandemmebel-8df10ee-deploy завершена. Deploy на прод GREEN,
задача закрыта (fe8e5882). NEXT_SESSION.md дополнен этой сессией поверх прежних
pending-треков (vehicles-loader 0.4.1 verify ждёт 07-14 06:21 MSK, books-vds
консолидация, ntfy pin). Loose end: Portainer stack 20 устаревшие STAGING-комменты
(косметика, rule line уже LIVE).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-13 22:52:47 +03:00
fe8e58824e meta(tasks): close [tandemmebel-deploy-drop-fb-tw-gplus-buttons] in OpeItcLoc03/admin 2026-07-13 19:51:36 +00:00
632c843fd5 deploy(tandemmebel): 8df10ee LIVE — drop FB/Twitter/Google+ share buttons
In-place template bump на прод (stack 20): 0cd9351 → 8df10ee. fix(web) remove
FB/Twitter/Google+ share-кнопки (extremist-icon compliance РФ), keep VK+OK.
Template-only (apps/web/views/social_buttons.liquid, 1 file 12 delet), snolla pin
0.42.1 НЕ менялся.

Верификация перед сборкой поймала расхождение: tandemmebel-записка утверждала
live=ed96b18/0.42.0, фактически крутился 0cd9351/0.42.1 (in-place bump 2026-07-12).
gitea compare 0cd9351...8df10ee = total_commits:1 → фикс один коммит поверх 0.42.1
(правильная база), yarn.lock идентичен → регрессии sitemap нет.

Completeness-gate (staging :5020): sitemap NEW==PROD 184=184 identical, 0
регрессий. Live-smoke С VDS 4 share-block страницы (project-post ×2,
/furniture/bedrooms, /furniture/kitchens/classic) — vk+ok на месте, fb/tw/gp=0.
TLS-серт CN=tandemmebel.ru не дёрнут (in-place swap). Tandemmebel-сессия подтвердила.

- .tasks/STATUS.md: _Updated 2026-07-13 строка (deploy-результат + discrepancy)
- .wiki/concepts/tandemmebel-vds-deploy-runbook.md: секция In-place bump 8df10ee
  (предсборочная верификация, build→staging→gate→swap, rollback, hygiene-заметка
  про устаревшие STAGING-комменты в Portainer stack file)
- host-stacks/vds-kzntsv/tandemmebel.compose.yml: image 8df10ee + LIVE-комменты
  + история bump'ов (source-of-truth синхронен с Portainer)

Rollback: PUT стека 20 → 0cd9351 (0.42.1, {% order %} fix) / ed96b18 (0.42.0) /
b02ca18 в registry; ИЛИ revert DNS→80.64.31.36.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-13 22:50:49 +03:00
94e5d77c82 meta(tasks): create [tandemmebel-deploy-drop-fb-tw-gplus-buttons] in OpeItcLoc03/admin 2026-07-13 19:22:40 +00:00
816c0e027d chore(handoff): next-session note — vehicles-loader 0.4.1 verify pending + books-vds consolidation eval
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-13 18:46:56 +03:00
7e02d61128 docs(wiki): vds-kzntsv disk cleanup 94%→74% + container-log rotation guard
Container json-logs hit 19GiB (owncloud 13GiB, traefik 2.8, gitea 1.9) —
no rotation set on infra (unlike books-vds guard). Truncated logs +
builder prune + apt clean + journal vacuum: ~28GiB freed, 94%→74%
(11→39GiB free). Added /etc/logrotate.d/docker-containers (copytruncate
200M, rotate 3, hourly) + hourly cron. Reduced GC-cron urgency note.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-13 18:44:43 +03:00
8230f89198 meta(tasks): update [vehicles-loader-redeploy-per-group-rate-diff] in OpeItcLoc03/admin 2026-07-13 14:19:54 +00:00
2e18002958 meta(tasks): update [vehicles-loader-redeploy-per-group-rate-diff] in OpeItcLoc03/admin 2026-07-13 14:14:00 +00:00
f3395b3a64 meta(tasks): create [vehicles-loader-redeploy-per-group-rate-diff] in OpeItcLoc03/admin 2026-07-13 14:08:17 +00:00