Commit Graph
65 Commits
Author SHA1 Message Date
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
naeel 981ec66a9a Restore working UI from v1.0.12, v1.0.18 2026-07-24 09:10:50 +04:00
naeel ada85febe9 Remove auto-select on load, v1.0.16 2026-07-24 09:03:18 +04:00
naeel 63f3d15f3a displayName as editable parameter, v1.0.14 2026-07-24 08:53:08 +04:00
naeel e65fbe0cdd Unique displayName with timestamp, v1.0.13 2026-07-24 08:49:41 +04:00
naeel 098cc2ace6 Add HttpClient.post, dummy-only, remove reconcile, v1.0.7 2026-07-24 07:49:37 +04:00