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
41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
"""
|
||
app-autotest — точка входа Flask-приложения для автотестов Nubes.
|
||
|
||
Регистрирует три blueprint'а:
|
||
- main_bp → / (главная, токен, инфраструктура)
|
||
- api_bp → /api/run, /api/status, /api/config [LEGACY]
|
||
- api_test_bp → /api/test, /api/params, /api/log (основная логика)
|
||
|
||
Деплой: Nubes pythonk8s (gunicorn, несколько воркеров).
|
||
"""
|
||
|
||
import os
|
||
|
||
from flask import Flask
|
||
|
||
from routes.main import bp as main_bp
|
||
from routes.api_test import bp as api_test_bp
|
||
from routes.api_scenario_run import bp_run as api_scenario_run_bp
|
||
from routes.api_scenario_defs import bp_defs as api_scenario_defs_bp
|
||
|
||
# Версия — меняется при КАЖДОМ изменении кода. Показывается в топбаре UI.
|
||
VERSION = "1.1.55"
|
||
|
||
app = Flask(__name__, template_folder="templates", static_folder="static")
|
||
app.config["NUBES_API_ENDPOINT"] = os.getenv("NUBES_API_ENDPOINT", "https://lk-api-gateway-test.ngcloud.ru/api/v1/svc")
|
||
app.config["NUBES_API_TOKEN"] = os.getenv("NUBES_API_TOKEN", "")
|
||
app.config["VERSION"] = VERSION
|
||
app.register_blueprint(main_bp)
|
||
app.register_blueprint(api_test_bp)
|
||
app.register_blueprint(api_scenario_run_bp)
|
||
app.register_blueprint(api_scenario_defs_bp)
|
||
|
||
|
||
@app.route("/health")
|
||
def health():
|
||
return "OK"
|
||
|
||
|
||
if __name__ == "__main__":
|
||
app.run(debug=True, host="0.0.0.0", port=5000)
|