mirror of
https://github.com/bunny-lab-io/Borealis.git
synced 2025-10-28 05:41:57 -06:00
Scaffolding Added for Ansible Playbook Execution on Agents
This commit is contained in:
@@ -133,8 +133,12 @@ export default function DeviceDetails({ device, onBack }) {
|
||||
}
|
||||
}, [device]);
|
||||
|
||||
|
||||
|
||||
useEffect(() => { loadHistory(); }, [loadHistory]);
|
||||
|
||||
// No explicit live recap tab; recaps are recorded into Activity History
|
||||
|
||||
const clearHistory = async () => {
|
||||
if (!device?.hostname) return;
|
||||
try {
|
||||
@@ -771,13 +775,10 @@ export default function DeviceDetails({ device, onBack }) {
|
||||
<Table size="small">
|
||||
<TableHead>
|
||||
<TableRow>
|
||||
<TableCell>Assembly</TableCell>
|
||||
<TableCell sortDirection={historyOrderBy === "script_name" ? historyOrder : false}>
|
||||
<TableSortLabel
|
||||
active={historyOrderBy === "script_name"}
|
||||
direction={historyOrderBy === "script_name" ? historyOrder : "asc"}
|
||||
onClick={() => handleHistorySort("script_name")}
|
||||
>
|
||||
Script Executed
|
||||
<TableSortLabel active={historyOrderBy === "script_name"} direction={historyOrderBy === "script_name" ? historyOrder : "asc"} onClick={() => handleHistorySort("script_name")}>
|
||||
Task
|
||||
</TableSortLabel>
|
||||
</TableCell>
|
||||
<TableCell sortDirection={historyOrderBy === "ran_at" ? historyOrder : false}>
|
||||
@@ -806,6 +807,7 @@ export default function DeviceDetails({ device, onBack }) {
|
||||
<TableBody>
|
||||
{sortedHistory.map((r) => (
|
||||
<TableRow key={r.id}>
|
||||
<TableCell>{(r.script_type || '').toLowerCase() === 'ansible' ? 'Ansible Playbook' : 'Script'}</TableCell>
|
||||
<TableCell>{r.script_name}</TableCell>
|
||||
<TableCell>{formatTimestamp(r.ran_at)}</TableCell>
|
||||
<TableCell>
|
||||
@@ -839,15 +841,15 @@ export default function DeviceDetails({ device, onBack }) {
|
||||
</TableRow>
|
||||
))}
|
||||
{sortedHistory.length === 0 && (
|
||||
<TableRow>
|
||||
<TableCell colSpan={4} sx={{ color: "#888" }}>No activity yet.</TableCell>
|
||||
</TableRow>
|
||||
<TableRow><TableCell colSpan={5} sx={{ color: "#888" }}>No activity yet.</TableCell></TableRow>
|
||||
)}
|
||||
</TableBody>
|
||||
</Table>
|
||||
</Box>
|
||||
);
|
||||
|
||||
|
||||
|
||||
const tabs = [
|
||||
{ label: "Summary", content: renderSummary() },
|
||||
{ label: "Installed Software", content: renderSoftware() },
|
||||
@@ -959,6 +961,8 @@ export default function DeviceDetails({ device, onBack }) {
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
|
||||
{/* Recap dialog removed; recaps flow into Activity History stdout */}
|
||||
|
||||
<ClearDeviceActivityDialog
|
||||
open={clearDialogOpen}
|
||||
onCancel={() => setClearDialogOpen(false)}
|
||||
|
||||
Reference in New Issue
Block a user