diff --git a/status/build.js b/status/build.js index e805d40..4470cde 100644 --- a/status/build.js +++ b/status/build.js @@ -78,6 +78,7 @@ const bundles = { JS('container-exec.js'), JS('audit-log.js'), JS('security-center.js'), + JS('deploys.js'), JS('weather.js'), JS('clock.js'), JS('card-badges.js'), diff --git a/status/index.html b/status/index.html index 62f4e7d..b3df2d9 100644 --- a/status/index.html +++ b/status/index.html @@ -207,6 +207,7 @@ + diff --git a/status/js/deploys.js b/status/js/deploys.js new file mode 100644 index 0000000..714cbfb --- /dev/null +++ b/status/js/deploys.js @@ -0,0 +1,245 @@ +// ========== SHIPDECK DEPLOYS (DC-130) ========== +// Source deploys panel: drives the shipdeck CLI via the DashCaddy +// /api/v1/deploys bridge proxy. Modal lists deployable repos + deployed +// services, shows the journal, and runs deploy/rollback with live output. +// +// Follows the security-center.js modal pattern (injectModal + button in the +// top bar) and the weather-modal visual language. + +(function () { + injectModal('deploys-modal', `
| Service | Last action | When | Release | ' + + ' |
|---|---|---|---|---|
| ' + esc(s.name) + ' | ' + + '' + esc(s.last_action) + ' | ' + + '' + esc(s.last_time) + ' | ' + + '' + esc(s.last_epoch) + ' | ' + + '' + + ' | ' + + '
| Time | Service | Action | Release | Duration | ' + + '
|---|---|---|---|---|
| ' + esc(r.time) + ' | ' + esc(r.service) + ' | ' + esc(r.action) + + ' | ' + esc(r.epoch) + ' | ' + esc(r.duration || '—') + ' |