opnsense_firmware_upgrade
Initiate a firmware upgrade on OPNsense using status report. Requires explicit confirmation; reboot typically follows.
Instructions
Trigger an OPNsense system upgrade based on what 'opnsense_firmware_status' reports (minor packages, or a major-series jump such as 24.7 → 25.1). Long-running: poll progress with 'opnsense_firmware_upgrade_status'. A reboot is typically required afterwards. DESTRUCTIVE: requires explicit confirmation.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | Yes | Must be true to confirm the upgrade |
Implementation Reference
- src/tools/firmware.ts:25-27 (schema)UpgradeSchema – Zod schema validating that 'confirm' must be true before proceeding with the system upgrade.
const UpgradeSchema = z.object({ confirm: ConfirmTrue("confirm must be true to proceed with the system upgrade"), }); - src/tools/firmware.ts:97-112 (registration)Tool definition for 'opnsense_firmware_upgrade' including description and input schema (confirm boolean required).
{ name: "opnsense_firmware_upgrade", description: "Trigger an OPNsense system upgrade based on what 'opnsense_firmware_status' reports (minor packages, or a major-series jump such as 24.7 → 25.1). Long-running: poll progress with 'opnsense_firmware_upgrade_status'. A reboot is typically required afterwards. DESTRUCTIVE: requires explicit confirmation.", inputSchema: { type: "object" as const, properties: { confirm: { type: "boolean", description: "Must be true to confirm the upgrade", enum: [true], }, }, required: ["confirm"], }, }, - src/tools/firmware.ts:182-186 (handler)Handler case 'opnsense_firmware_upgrade' – validates args against UpgradeSchema, then POSTs to '/core/firmware/upgrade' via OPNsenseClient and returns JSON result.
case "opnsense_firmware_upgrade": { UpgradeSchema.parse(args); const result = await client.post("/core/firmware/upgrade"); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } - src/index.ts:66-66 (registration)Registration: maps the firmware tool definitions (including 'opnsense_firmware_upgrade') to handleFirmwareTool handler via the toolHandlers map.
for (const def of firmwareToolDefinitions) toolHandlers.set(def.name, handleFirmwareTool);