Skip to content

v2.0.0 — Rewrite from .NET Blazor Server to Laravel

Choose a tag to compare

@jhuebel jhuebel released this 07 Jul 13:51
· 11 commits to main since this release

Major rewrite: .NET Blazor Server → Laravel

Automator has been completely rebuilt on a new stack. This is the same tool with the same feature set — script library, live-streamed script execution, cron scheduling, a Claude-powered AI assistant, role-based access, audit logging, and an admin dashboard — but the entire implementation has changed from the ground up.

Why

The previous ASP.NET Core 9 / Blazor Server implementation tied real-time UI updates directly to Blazor's SignalR circuit model and required a self-contained .NET runtime per platform. This release moves to a PHP/Laravel stack that's easier to self-host on standard Linux infrastructure (PHP-FPM + nginx), with an explicit WebSocket layer (Laravel Reverb) replacing Blazor's built-in circuit-based streaming.

What changed

  • Framework: ASP.NET Core 9 / Blazor Server → Laravel 13 with Livewire 3 + Volt
  • Real-time updates: Blazor Server's SignalR circuits → Laravel Reverb (WebSocket broadcasting) for live script output and AI token streaming
  • Auth & roles: ASP.NET Core Identity → spatie/laravel-permission (Admin / Developer / Operator / Viewer), username-based login with lockout
  • Script execution: in-process ScriptRunnerService → queued RunScriptJob (Symfony Process) on a dedicated executions queue, still supporting Bash, PowerShell, Python, Ansible, and Terraform (init + apply)
  • Scheduler: 15-second in-process background tick → cron-driven dispatch-due-jobs command on a systemd timer (60-second granularity)
  • AI assistant: Guzzle-based SSE streaming from the Anthropic API, broadcast token-by-token into a CodeMirror 6 editor (previously CodeMirror 5)
  • Dashboard: charts now rendered with Chart.js
  • Deployment: self-contained .NET binary + systemd + nginx → PHP-FPM + nginx, with new systemd units for queue workers, Reverb, and the scheduler tick
  • Windows/IIS packaging has been dropped — this release targets Linux (Ubuntu, RHEL/Rocky/AlmaLinux) only

Upgrading

This is a from-scratch application — there is no automatic data migration path from a v1.x SQLite database. Fresh installs seed default roles, users, and example scripts as before. See docs/INSTALL.md for the updated installation steps.

Default credentials (change immediately)

Username Password Role
admin Admin1234! Admin
operator Operator1234! Operator
viewer Viewer1234! Viewer