{ "name": "MikroTik Backup System", "version": "0.0.2", "distribution": "source", "prebuilt_binary": false, "rust_toolchain": "1.99.1", "rust_edition": "2024", "build_command": "cargo build --release --locked", "start_command": "./start.sh", "import_command": "./import-python.sh SOURCE_DIRECTORY [--database PATH] [--backup-root DIRECTORY]", "container": { "builder": "rust:1.99.1-alpine3.24", "runtime": "alpine:3.24", "uid_gid": "10001:10001" }, "data": { "schema": "src/schema.sql", "automatic_migrations": true, "legacy_import": "explicit import-python command into a new destination", "binary_backups": "storage/backups/binary//", "text_exports": "storage/backups/exports//", "schema_version": 2, "migration_policy": "automatic transactional migration from supported Rust schema v1; Python/TypeScript import remains explicit" }, "frontend_assets": { "strategy": "content-hashed filenames generated at build time", "cache_control": "public, max-age=31536000, immutable", "favicon": "GET /favicon.ico returns 204 No Content" }, "api_documentation": { "url": "/docs", "openapi_url": "/openapi.json", "language": "en", "swagger_ui_version": "5.34.0", "cdn_required": false }, "verification": { "javascript_syntax": "PASS in patch environment", "javascript_unit_tests": "18/18 PASS", "rust_compile_tests": "NOT RUN in patch environment because cargo/rustc are unavailable", "browser_tests": "NOT RUN in patch environment because Playwright is unavailable", "physical_switchos_device": false, "docker_runtime": false, "sqlite_schema_migration": "PASS: schema v1 -> v2 preserves existing settings and matches fresh schema column layout" } }