{ "$schema": "../../shared/schemas/conductor-project.schema.json", "schemaVersion": "0.1.0", "project": { "id": "proj_release_demo", "name": "Conductor Deterministic MVP Demo", "description": "Offline release demonstration backed by the repository mock-api service.", "pages": [ { "id": "page_main", "name": "Operations", "order": 0, "components": [ { "id": "cmp_title", "type": "Label", "name": "title", "position": { "x": 24, "y": 20 }, "size": { "width": 520, "height": 40 }, "properties": { "label": "Deterministic workflow launcher", "value": "Deterministic workflow launcher", "visible": true } }, { "id": "cmp_environment", "type": "Dropdown", "name": "environment", "position": { "x": 24, "y": 76 }, "size": { "width": 260, "height": 64 }, "properties": { "label": "Environment", "options": [], "defaultValue": "", "required": true, "visible": true, "disabled": false } }, { "id": "cmp_hostname", "type": "TextInput", "name": "hostname", "position": { "x": 304, "y": 76 }, "size": { "width": 260, "height": 64 }, "properties": { "label": "Hostname", "placeholder": "host.example", "defaultValue": "alpha.example", "required": true, "visible": true, "disabled": false } }, { "id": "cmp_launch", "type": "Button", "name": "launch", "position": { "x": 24, "y": 156 }, "size": { "width": 180, "height": 44 }, "properties": { "label": "Launch workflow", "visible": true, "disabled": false }, "events": [{ "event": "onClick", "actionId": "action_launch" }] }, { "id": "cmp_request_id", "type": "StatusPanel", "name": "requestStatus", "position": { "x": 224, "y": 156 }, "size": { "width": 340, "height": 64 }, "properties": { "label": "Focused result", "value": "Not launched", "visible": true } }, { "id": "cmp_response", "type": "JsonViewer", "name": "fullResponse", "position": { "x": 24, "y": 236 }, "size": { "width": 540, "height": 220 }, "properties": { "label": "Full response", "defaultValue": null, "visible": true } }, { "id": "cmp_refresh", "type": "Button", "name": "refreshInventory", "position": { "x": 600, "y": 20 }, "size": { "width": 180, "height": 44 }, "properties": { "label": "Refresh inventory", "visible": true, "disabled": false }, "events": [{ "event": "onClick", "actionId": "action_inventory" }] }, { "id": "cmp_inventory", "type": "Table", "name": "inventory", "position": { "x": 600, "y": 76 }, "size": { "width": 560, "height": 380 }, "properties": { "label": "Inventory", "columns": [ { "key": "id", "header": "ID", "width": 110 }, { "key": "hostname", "header": "Hostname", "width": 190 }, { "key": "environment", "header": "Environment", "width": 120 }, { "key": "status", "header": "Status", "width": 120 } ], "rows": [], "visible": true, "disabled": false } }, { "id": "cmp_inventory_detail", "type": "JsonViewer", "name": "inventoryDetail", "position": { "x": 600, "y": 476 }, "size": { "width": 560, "height": 180 }, "properties": { "label": "Selected record", "defaultValue": null, "visible": true } } ], "events": [{ "event": "onLoad", "actionId": "action_environments" }] } ], "actions": [ { "id": "action_environments", "name": "Load environments", "method": "GET", "url": "http://mock-api:8787/environments", "headers": { "Accept": "application/json" }, "queryParameters": {}, "pathParameters": {}, "bodyTemplate": "", "authenticationType": "anonymous" }, { "id": "action_launch", "name": "Launch workflow", "method": "POST", "url": "http://mock-api:8787/launch", "headers": { "Accept": "application/json", "Content-Type": "application/json" }, "queryParameters": {}, "pathParameters": {}, "bodyTemplate": "{\"environment\":\"{{components.environment.value}}\",\"hostname\":\"{{components.hostname.value}}\"}", "authenticationType": "anonymous" }, { "id": "action_inventory", "name": "Refresh inventory", "method": "GET", "url": "http://mock-api:8787/inventory", "headers": { "Accept": "application/json" }, "queryParameters": {}, "pathParameters": {}, "bodyTemplate": "", "authenticationType": "anonymous" } ], "bindings": [ { "id": "binding_environment_options", "source": "actions.action_environments.response.body.environments", "target": "components.environment.options", "trigger": "onSuccess" }, { "id": "binding_launch_full", "source": "actions.action_launch.response.body", "target": "components.fullResponse.value", "trigger": "onSuccess" }, { "id": "binding_launch_focused", "source": "actions.action_launch.response.body.requestId", "target": "components.requestStatus.value", "trigger": "onSuccess" }, { "id": "binding_inventory_rows", "source": "actions.action_inventory.response.body.items", "target": "components.inventory.rows", "trigger": "onSuccess" }, { "id": "binding_inventory_selection", "source": "components.inventory.selectedRow", "target": "components.inventoryDetail.value", "trigger": "onChange" } ], "variables": {}, "settings": {} } }