39 lines
12 KiB
JSON
39 lines
12 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"channel": "homelab-runtime",
|
|
"command_id": "NEWFI-260907-PORTAL200-IMPORTDISC1",
|
|
"status": "OK",
|
|
"rc": 0,
|
|
"host": "pve01",
|
|
"mode": "read-only",
|
|
"component": "newfi-portal200-import-contract-discovery",
|
|
"started_at_utc": "2026-09-07T13:57:45Z",
|
|
"finished_at_utc": "2026-09-07T13:57:49Z",
|
|
"reference_register_checked": true,
|
|
"reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
|
|
"error_register_checked": true,
|
|
"error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
|
|
"command_sha256": "a32cdd68683283d248211bd673871eeea2fb8eadbbac00daff7bac80d89ed667",
|
|
"duplicate_failed_command_blocked": false,
|
|
"block_reason": null,
|
|
"execution_started": true,
|
|
"change_declared": false,
|
|
"result_contract_valid": true,
|
|
"result_contract_status": null,
|
|
"result_contract_error": null,
|
|
"command_rc": 0,
|
|
"changes_made": false,
|
|
"rollback_started": false,
|
|
"rollback_restored": null,
|
|
"mutation_outcome": "NO_MUTATION",
|
|
"sanitized": true,
|
|
"secrets_included": false,
|
|
"private_addresses_included": false,
|
|
"raw_evidence_retained_locally": true,
|
|
"raw_evidence_sha256": "6eb7a2f80c7e8b4aa907f08655fc0a90a88bd76fdc4cf82f16f7559482a5605f",
|
|
"sanitized_output_sha256": "6eb7a2f80c7e8b4aa907f08655fc0a90a88bd76fdc4cf82f16f7559482a5605f",
|
|
"output_truncated_in_json": false,
|
|
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
|
|
"output": "NEWFI60_BEGIN\nCOMMAND_ID=NEWFI-260907-PORTAL200-IMPORTDISC1\nMUTATION_SCOPE=NONE_READ_ONLY\nRUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d\nRUNNER_SOURCE_LINE_53= status = document.get(\"status\")\nRUNNER_SOURCE_LINE_54= if status not in {\"OK\", \"BLOCKED\", \"FAIL\"}:\nRUNNER_SOURCE_LINE_55= raise ValueError(\"invalid status\")\nRUNNER_SOURCE_LINE_56= changes = document.get(\"changes_made\")\nRUNNER_SOURCE_LINE_57= rollback_started = document.get(\"rollback_started\")\nRUNNER_SOURCE_LINE_58= rollback_restored = document.get(\"rollback_restored\")\nRUNNER_SOURCE_LINE_59= if not isinstance(changes, bool):\nRUNNER_SOURCE_LINE_60= raise ValueError(\"changes_made must be boolean\")\nRUNNER_SOURCE_LINE_61= if not isinstance(rollback_started, bool):\nRUNNER_SOURCE_LINE_62= raise ValueError(\"rollback_started must be boolean\")\nRUNNER_SOURCE_LINE_63= if rollback_restored is not None and not isinstance(\nRUNNER_SOURCE_LINE_64= rollback_restored,\nRUNNER_SOURCE_LINE_65= bool,\nRUNNER_SOURCE_LINE_66= ):\nRUNNER_SOURCE_LINE_67= raise ValueError(\nRUNNER_SOURCE_LINE_68= \"rollback_restored must be boolean or null\"\nRUNNER_SOURCE_LINE_69= )\nRUNNER_SOURCE_LINE_70= if rollback_restored is True and rollback_started is not True:\nRUNNER_SOURCE_LINE_71= raise ValueError(\nRUNNER_SOURCE_LINE_72= \"rollback_restored without rollback_started\"\nRUNNER_SOURCE_LINE_73= )\nRUNNER_SOURCE_LINE_74= if rollback_started is True and changes is not True:\nRUNNER_SOURCE_LINE_75= raise ValueError(\nRUNNER_SOURCE_LINE_76= \"rollback_started without changes\"\nRUNNER_SOURCE_LINE_77= )\nRUNNER_SOURCE_LINE_78= if status == \"BLOCKED\" and (\nRUNNER_SOURCE_LINE_79= changes\nRUNNER_SOURCE_LINE_80= or rollback_started\nRUNNER_SOURCE_LINE_81= or command_rc != 2\nRUNNER_SOURCE_LINE_82= ):\nRUNNER_SOURCE_LINE_83= raise ValueError(\nRUNNER_SOURCE_LINE_84= \"BLOCKED contract inconsistent with rc/mutation\"\nRUNNER_SOURCE_LINE_85= )\nSTAGING_REFLECTION={\"err_data\":\"\",\"err_truncated\":null,\"exitcode\":0,\"exited\":1,\"out_data\":\"IMPORT_DISCOVERY_REFLECTION={\\\"dm_class\\\":\\\"XF\\\\\\\\AddOn\\\\\\\\DataManager\\\",\\\"addon_found\\\":true,\\\"addon_installed\\\":true,\\\"dm_enqueueImportAddOnData\\\":{\\\"exists\\\":true,\\\"static\\\":false,\\\"public\\\":true,\\\"params\\\":[{\\\"name\\\":\\\"addOn\\\",\\\"optional\\\":false,\\\"has_default\\\":false}],\\\"declaring\\\":\\\"XF\\\\\\\\AddOn\\\\\\\\DataManager\\\"},\\\"dm_getDataTypeClasses\\\":{\\\"exists\\\":true,\\\"static\\\":false,\\\"public\\\":true,\\\"params\\\":[],\\\"declaring\\\":\\\"XF\\\\\\\\AddOn\\\\\\\\DataManager\\\"},\\\"dm_getDataTypeHandler\\\":{\\\"exists\\\":true,\\\"static\\\":false,\\\"public\\\":true,\\\"params\\\":[{\\\"name\\\":\\\"class\\\",\\\"optional\\\":false,\\\"has_default\\\":false}],\\\"declaring\\\":\\\"XF\\\\\\\\AddOn\\\\\\\\DataManager\\\"},\\\"addon_preRebuild\\\":{\\\"exists\\\":true,\\\"static\\\":false,\\\"public\\\":true,\\\"params\\\":[],\\\"declaring\\\":\\\"XF\\\\\\\\AddOn\\\\\\\\AddOn\\\"},\\\"addon_postDataImport\\\":{\\\"exists\\\":true,\\\"static\\\":false,\\\"public\\\":true,\\\"params\\\":[],\\\"declaring\\\":\\\"XF\\\\\\\\AddOn\\\\\\\\AddOn\\\"},\\\"addon_postRebuild\\\":{\\\"exists\\\":true,\\\"static\\\":false,\\\"public\\\":true,\\\"params\\\":[],\\\"declaring\\\":\\\"XF\\\\\\\\AddOn\\\\\\\\AddOn\\\"}}\\n\",\"out_truncated\":0,\"transport_rc\":0}\nSTAGING_CLI_COMMANDS={\"err_data\":\"\",\"exitcode\":0,\"matching_commands\":[\"xf:addon-disable Disables the specified add-on. If no add-on ID is provided, all enabled add-ons will be disabled.\",\"xf:addon-enable Enable the specified add-on. If no add-on ID is provided, all disabled add-ons will be enabled.\",\"xf:addon-install Installs the specified add-on\",\"xf:addon-list Lists installed add-ons\",\"xf:addon-rebuild Rebuilds the specified add-on data.\",\"xf:addon-uninstall Uninstalls the specified add-on\",\"xf:addon-upgrade Upgrades the specified add-on\",\"xf:rebuild-master-data Rebuilds the core XF master data.\",\"xf-addon:build-release Performs an export of the current XML data and saves a ZIP file to _releases\",\"xf-addon:bump-version Bumps the version of the specified add-on\",\"xf-addon:create Creates an XF add-on and writes out the basic addon.json file.\",\"xf-addon:export Exports the XML files for an add-on\",\"xf-addon:install-step Runs a specific step from the specified add-on Setup class.\",\"xf-addon:sync-json Syncs the contents of the add-on JSON file to the database, updating the title, version and JSON hash as necessary\",\"xf-addon:uninstall-step Runs a specific step from the specified add-on Setup class.\",\"xf-addon:upgrade-step Runs a specific step from the specified add-on Setup class.\",\"xf-addon:validate-json Validates the contents of the add-on JSON file to ensure all of the required values exist and are of the correct type.\",\"xf-designer:rebuild-metadata Rebuilds metadata hashes based on file system content\",\"xf-dev:analyze-icons Analyzes icon usage and rebuilds sprites.\",\"xf-dev:file-phraser Analyzes and applies phrase replacements in add-on PHP files\",\"xf-dev:import Imports all data from development files\",\"xf-dev:import-activity-summary-definitions Imports activity summary definitions from development files\",\"xf-dev:import-admin-navigation Imports admin navigation from development files\",\"xf-dev:import-admin-permissions Imports admin permissions from development files\",\"xf-dev:import-advertising-positions Imports advertising positions from development files\",\"xf-dev:import-api-scopes Imports API scopes from development files\",\"xf-dev:import-bb-code-media-sites Imports bb code media sites from development files\",\"xf-dev:import-bb-codes Imports bb codes from development files\",\"xf-dev:import-class-extensions Imports class extensions from development files\",\"xf-dev:import-code-event-listeners Imports code event listeners from development files\",\"xf-dev:import-code-events Imports code events from development files\",\"xf-dev:import-content-types Imports content types from development files\",\"xf-dev:import-cron-entries Imports cron entries from development files\",\"xf-dev:import-help-pages Imports help pages from development files\",\"xf-dev:import-member-stats Imports member stats from development files\",\"xf-dev:import-navigation Imports navigation from development files\",\"xf-dev:import-options Imports options from development files\",\"xf-dev:import-permissions Imports permissions from development files\",\"xf-dev:import-phrases Imports phrases from development files\",\"xf-dev:import-routes Imports routes from development files\",\"xf-dev:import-style-properties Imports style properties from development files\",\"xf-dev:import-template-modifications Imports template modifications from development files\",\"xf-dev:import-templates Imports templates from development files\",\"xf-dev:import-widget-definitions Imports widget definitions from development files\",\"xf-dev:import-widget-positions Imports widget positions from development files\",\"xf-dev:rebuild-caches Rebuilds various caches\",\"xf-dev:rebuild-metadata Rebuilds metadata hashes based on file system content\",\"xf-dev:unused-phrase-finder Finds and optionally deletes unused master phrases for an add-on\",\"xf-embed-metadata:conversation-messages Rebuilds embed metadata for direct message conversations.\",\"xf-embed-metadata:posts Rebuilds embed metadata for posts.\",\"xf-embed-metadata:profile-post-comments Rebuilds embed metadata for profile post comments.\",\"xf-embed-metadata:profile-posts Rebuilds embed metadata for profile posts.\",\"xf-embed-metadata:xfrm-resource-updates Rebuilds embed metadata for resource updates.\",\"xf-make:stub-publish Publish stub templates to an add-on for customization\",\"xf-rebuild:attachment-optimization Optimizes attachments to WebP format.\",\"xf-rebuild:attachment-thumbnails Rebuilds attachment thumbnails\",\"xf-rebuild:avatar-optimization Optimizes avatars to WebP format.\",\"xf-rebuild:forums Rebuilds forum counters.\",\"xf-rebuild:icon-usage Analyzes icon usage and rebuilds sprites.\",\"xf-rebuild:message-counts Rebuilds user message counts.\",\"xf-rebuild:profile-banner-optimization Optimizes profile banners to WebP format.\",\"xf-rebuild:reaction-score Rebuilds user reaction score.\",\"xf-rebuild:search Rebuilds the search index.\",\"xf-rebuild:sitemap Rebuilds XML sitemap.\",\"xf-rebuild:stats Rebuilds daily statistics.\",\"xf-rebuild:threads Rebuilds thread counters.\",\"xf-rebuild:users Rebuilds user counters and caches.\",\"xf-rebuild:xfmg-album-thumbs Rebuilds album thumbnails.\",\"xf-rebuild:xfmg-albums Rebuilds album counters.\",\"xf-rebuild:xfmg-media-items Rebuilds media item counters.\",\"xf-rebuild:xfmg-media-thumbs Rebuilds media item thumbnails.\",\"xf-rebuild:xfmg-user-counts Rebuilds media related user counters.\",\"xf-rebuild:xfrm-icon-optimization Optimizes icons to WebP format.\",\"xf-rebuild:xfrm-resource-items Rebuilds resource item counters.\",\"xf-rebuild:xfrm-user-resource-counts Rebuilds resource related user counters.\"],\"transport_rc\":0}\nSTAGING_REBUILD_HELP={\"command\":null,\"reason\":\"NO_REBUILD_COMMAND_MATCH\"}\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"NEWFI-260907-PORTAL200-IMPORTDISC1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\nNEWFI60_END\n"
|
|
}
|