Commit Graph
70 Commits
Author SHA1 Message Date
naeel e618d6d011 v1.2.10: rename Верстак→Консоль, fix logs view
- Sidebar: Верстак → 🖥 Консоль
- View header: Верстак → Консоль
- Log view: show real log content (synced with log panel)
- Dark bottom log panel: hidden on all non-log views, left offset 192px (sidebar width)
- views.js: switchView handles log view sync
2026-07-31 13:33:05 +04:00
naeel 2133a1b2fe v1.2.9: Phase 1 — sidebar + views layout
index.html: full rewrite
- Sidebar (192px/72px, blue top border): Верстак/Обзор/История/Сценарии/Логи
- Views: workbench (service left rail + instances/params right), overview, history, scenarios, logs
- Token form moved to sidebar bottom
- All existing DOM ids preserved: inst-list, params-area, params-form, btn-test,
  test-status, create-btn-area, history-card, history-body, scenario-card, scenario-body
- Log panel adjusted: left 72px (sidebar width)
- Fonts increased: 12-14px

views.js (NEW): switchView(id) — show/hide views, auto-load content on open
2026-07-31 13:16:50 +04:00
naeel 10377e9cdb v1.2.8: Phase 0 review fixes — snackbar.js include + sidebar 72px + collapsed view
- index.html: add snackbar.js (was missing, showSnackbar not available)
- style.css: sidebar.collapsed 56→72px (match Nubes DS 4.5rem)
- style.css: .sidebar.collapsed ~ .view margin-left: 72px
2026-07-31 13:14:49 +04:00
naeel 78b5063259 v1.2.7: Phase 0 — CSS foundation + icons + snackbar
style.css: +93 lines — sidebar, view, tabs, toolbar, field (label on top),
  skeleton, snackbar, combobox classes. Font scale 13/14/16.
icons.js (NEW): 10 inline-SVG Lucide icons (play, edit, trash, check, x,
  chevronDown, search, plus, rotateCw, cloud). stroke=currentColor.
snackbar.js (NEW): showSnackbar(msg, type). bottom-right, 4s/8s auto-hide,
  stacking max 4, accessibility role=status aria-live=polite.
index.html: include icons.js before utils.js
2026-07-31 12:52:02 +04:00
naeel 15f5ebe647 v1.2.2: modal scenario editor with dropdowns + output/ref
scenario-form.js — full rewrite:
- Full-screen modal (backdrop + content, 800px max-width)
- Services dropdown (GET /api/services, cached)
- Operations dropdown (GET /api/operations/{svcId}, cached)
- output field for create steps
- instance_ref dropdown (previous outputs) + explicit instance_uid
- [↑][↓] reorder buttons
- Auto-load operations on service change

index.html — modal CSS (#scenario-modal, .modal-backdrop, .modal-content)
2026-07-31 10:19:26 +04:00
naeel 91e97f6f75 v1.2.0: unified executor + flexible instance refs + params-render.js
Phase 1 — New modules:
- api/utils.py: find_uid(), uid_from_location() (replaces 2 duplicates)
- operations/poll.py: poll_until_done() (shared sync/async polling)
- operations/executor.py: execute_operation() (single CREATE/non-CREATE flow)

Phase 2 — Format + validation:
- routes/api_scenario_defs.py: _validate_steps with output/instance_ref/instance_uid
- operations/scenario.py: resolve instance_uid > instance_ref > service_id,
  use executor + poll_until_done, persist instance_bindings

Phase 3 — Migration:
- routes/api_test.py: create/non-create through executor, _finish_op through poll_until_done
- db/init_db.py: startup cleanup of stuck scenario_runs (>1h)

Phase 4 — UI shared module:
- static/js/params-render.js: renderParamRow, renderMapFixedRow, collectParams
- static/js/operations.js: use params-render.js (remove duplicates)
- templates/index.html: include params-render.js
- app.py: bump 1.1.57 → 1.2.0
2026-07-31 08:55:06 +04:00
naeel 38f58ddbd7 v1.1.57: fix scenario editor body bug + relativeTime columns + infra UUIDs
- scenario-form.js: fix ReferenceError body is not defined in renderEditor()
- utils.js: relativeTime(iso) → 3ч 12м / 2д 5ч / только что
- instances.js: columns created / modified with relativeTime()
- index.html: instanceUid under displayName in infra column
2026-07-30 22:22:19 +04:00
naeel a96658b9b5 v1.1.55: split large files + CRUD scenario editor
Backend (5→7 files):
- api_test.py: 622→479, terraform functions → operations/terraform.py (142)
- api_scenario.py: 241→split into run (153) + defs (108) with _validate_steps()
- db/scenario_defs.py: +client_id, stand, is_seed in list_definitions

Frontend (1→10 files):
- app.js: 554→16 (loader), split into:
  utils.js (45), instances.js (89), operations.js (249),
  history.js (35), scenario-list.js (90)
- New CRUD: scenario-form.js (128), create (25), edit (12), delete (13)

Max file size: JS 249, PY 479
2026-07-30 22:02:22 +04:00
naeel 7eeb1131b3 v1.1.46: phase2 — scenario runner MVP (YAML config, DB schema, API endpoints, UI section) 2026-07-30 13:48:34 +04:00
naeel f79301b245 v1.1.37: params for all ops + polling try/catch + refresh always + tracker CMDB + firstServiceId 2026-07-30 07:47:43 +04:00
naeel e214d36a75 v1.1.16: remove serviceId filter, sort by svc+date, scrollable inst-list 2026-07-29 10:10:41 +04:00
naeel b23ea0ee4e v1.1.15: dynamic stages-box — inline after instance, not below all 2026-07-29 09:43:29 +04:00
naeel 8f802c3a17 v1.1.13: service highlight, dynamic btn text, defaultValue in dataDescriptor 2026-07-29 09:05:23 +04:00
naeel 9b003b4723 v1.1.7: move create-btn after params, before history 2026-07-28 13:17:00 +04:00
naeel 393e433b4f v1.1.2: UI — params inline, no header, create button below list 2026-07-28 11:31:45 +04:00
naeel 12e3d12e09 v1.1.1: scrollable services + dynamic CREATE for any service 2026-07-28 11:24:51 +04:00
naeel 0b810fdee1 v1.1.0: per-stand services list from Terraform — services_dev.txt + services_test.txt 2026-07-28 11:15:19 +04:00
naeel be9e165b4f v1.0.96: history UI — collapsible table below instances, auto-refresh on finish 2026-07-28 10:15:31 +04:00
naeel 4952f8b096 v1.0.91: Step 5 — JS extracted to /static/app.js + window.APP 2026-07-27 22:57:29 +04:00
naeel 1cc3f6eb7e v1.0.89: detailed code comments — all Python files + index.html architecture overview 2026-07-27 22:02:51 +04:00
naeel c0f577f030 v1.0.87: topbar labels — EMail, Профиль, Стенд 2026-07-27 17:50:56 +04:00
naeel 59e87cf50f v1.0.85: create_client(token) everywhere — single entry point stand detection; {{ stand }} in UI 2026-07-27 17:26:09 +04:00
naeel cd2e2349e2 v1.0.84: log panel hidden by default, toggle button bottom-right 2026-07-27 17:12:23 +04:00
naeel c37709eef0 v1.0.83: HTML-escape + JSON validation for map fields (onblur + pre-submit) 2026-07-27 17:02:26 +04:00
naeel a7b8cd30b7 v1.0.81: get_params.py — current values from GET /instances/{uid} state.params 2026-07-27 16:48:42 +04:00
naeel 07aa2115d4 v1.0.78: log panel in UI + /api/log endpoint + _log() buffer 2026-07-27 13:50:57 +04:00
naeel 766b50cd7b v1.0.76: modify shows actual instance param values (preview operation) 2026-07-27 13:29:38 +04:00
naeel 656ad4c893 v1.0.75: keep displayName in operation status 2026-07-27 13:04:38 +04:00
naeel 0248c78931 v1.0.74: version bump before push 2026-07-27 12:58:55 +04:00
naeel a06a147c4c v1.0.71: finished status shows instance name 2026-07-27 12:43:07 +04:00
naeel 199decf96c v1.0.69: autotest prefix fixed in CREATE field 2026-07-27 12:36:18 +04:00
naeel b9f5d1a17e v1.0.68: operation name shown after OK + muted operation buttons 2026-07-27 12:17:02 +04:00
naeel 9a49312390 v1.0.66: backend status resolver for operations 2026-07-27 11:53:51 +04:00
naeel 90a32353eb v1.0.64: version header and displayName placeholder 2026-07-27 11:38:55 +04:00
naeel 0bcfa5a566 v1.0.63: autotest namespace and duplicate prevention 2026-07-27 11:24:05 +04:00
naeel 8531d5e15d v1.0.62: immediate visual refresh after CREATE 2026-07-27 11:19:26 +04:00
naeel b0844114ba v1.0.58: version bump and history sync 2026-07-27 11:05:32 +04:00
naeel a271e863f3 v1.0.50: fix showStages icon (dtFinish); fix api_operations (add tracked orphans); drop not_created filter 2026-07-27 09:43:36 +04:00
naeel 7f6284bb46 v1.0.49: in-memory tracker (no file IO); traceback on tracker error; refreshInstances adds new items; no selectService on OK 2026-07-27 09:26:39 +04:00
naeel 1d306bf263 v1.0.48: tracker_add sync before thread (Sonnet fix); log is_ok; flexbox buttons 2026-07-27 09:02:59 +04:00
naeel 7fdcc005b5 v1.0.47: fix displayName capture before form clear; fix tracker_add race; add autotest-1 to tracker 2026-07-27 08:44:19 +04:00
naeel 8d9bf338fc Fix: refresh instance status badges after any operation, v1.0.45 2026-07-26 14:31:10 +04:00
naeel 5373e177be Show operation name in progress: 'modify выполняется...', v1.0.44 2026-07-26 14:29:25 +04:00
naeel 3d58b76632 Fix: show progress card for non-modify operations, v1.0.43 2026-07-26 14:18:39 +04:00
naeel fed7260654 Async ops + progressive stages + buttons + confirm, v1.0.42 2026-07-26 13:56:27 +04:00
naeel 62717b0e74 Full Terraform logic: svcOperationId, /run, dtFinish, stages in UI, v1.0.41 2026-07-26 11:26:28 +04:00
naeel 9348c4089f UI: instances + expand operations, create separate, only dummy, v1.0.40 2026-07-26 08:31:27 +04:00
naeel b0ef0c98fe UI: instance list with names+status, click to select, v1.0.39 2026-07-26 08:05:45 +04:00
naeel 81e54e44d2 Fix array/map param values as JSON, v1.0.31 2026-07-24 14:13:32 +04:00
naeel 46af9bb7fa Add displayName field only, no other changes, v1.0.19 2026-07-24 09:14:18 +04:00