feat(web-ui): Remote Updates dashboard page — push code to workers from the UI
React component for /swarm-updates: per-host table polled every 10s, row actions for Push Update / Update Updater / Rollback, a fleet-wide 'Push to All' modal with the include_self toggle, and toast feedback per result. Admin-only (both server-gated and UI-gated). Unreachable hosts surface as an explicit state; actions are disabled on them. Rollback is disabled when the worker has no previous release slot (previous_sha null from /hosts).
This commit is contained in:
@@ -9,6 +9,7 @@ import Attackers from './components/Attackers';
|
||||
import AttackerDetail from './components/AttackerDetail';
|
||||
import Config from './components/Config';
|
||||
import Bounty from './components/Bounty';
|
||||
import RemoteUpdates from './components/RemoteUpdates';
|
||||
|
||||
function isTokenValid(token: string): boolean {
|
||||
try {
|
||||
@@ -64,6 +65,7 @@ function App() {
|
||||
<Route path="/attackers" element={<Attackers />} />
|
||||
<Route path="/attackers/:id" element={<AttackerDetail />} />
|
||||
<Route path="/config" element={<Config />} />
|
||||
<Route path="/swarm-updates" element={<RemoteUpdates />} />
|
||||
<Route path="*" element={<Navigate to="/" replace />} />
|
||||
</Routes>
|
||||
</Layout>
|
||||
|
||||
Reference in New Issue
Block a user