@stacksjs/ts-cloud 0.11.7 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aws/index.js +1 -1
- package/dist/bin/chunk-0rtn6q5x.js +3 -0
- package/dist/bin/chunk-258ehp9s.js +1 -0
- package/dist/bin/chunk-2yctv06c.js +1 -0
- package/dist/bin/chunk-3276rveh.js +37 -0
- package/dist/bin/chunk-3m665jwp.js +70 -0
- package/dist/bin/chunk-3s2p9vxj.js +1 -0
- package/dist/bin/chunk-4esma5m9.js +1 -0
- package/dist/bin/chunk-4n0j3n3b.js +2 -0
- package/dist/bin/chunk-54bqchag.js +92 -0
- package/dist/bin/{chunk-4q6tad44.js → chunk-5bhx3bsa.js} +121 -121
- package/dist/bin/chunk-5zagqd20.js +1 -0
- package/dist/bin/chunk-7hw2js5h.js +512 -0
- package/dist/bin/chunk-8h1qr6x4.js +50 -0
- package/dist/bin/{chunk-w32xv8n4.js → chunk-9vdc7adf.js} +6 -6
- package/dist/bin/chunk-a1dd6sby.js +1 -0
- package/dist/bin/chunk-a4dw35gs.js +1 -0
- package/dist/bin/chunk-a9d55ker.js +1 -0
- package/dist/bin/chunk-awa1qade.js +9 -0
- package/dist/bin/chunk-b6by94pk.js +2 -0
- package/dist/bin/chunk-c8sypnbe.js +2 -0
- package/dist/bin/chunk-cx4e3d4w.js +1 -0
- package/dist/bin/chunk-d5a3vheh.js +2 -0
- package/dist/bin/chunk-e1fym2bd.js +1 -0
- package/dist/bin/chunk-ej4h0q2y.js +1 -0
- package/dist/bin/chunk-ett305ym.js +4 -0
- package/dist/bin/chunk-f11xf3n6.js +2 -0
- package/dist/bin/chunk-fq7ktvgy.js +3 -0
- package/dist/bin/chunk-fyq4th2m.js +1 -0
- package/dist/bin/chunk-g67qr8yf.js +1 -0
- package/dist/bin/chunk-gc82cx4h.js +1 -0
- package/dist/bin/chunk-hchtvpr9.js +1 -0
- package/dist/bin/chunk-hpe4jjce.js +1 -0
- package/dist/bin/chunk-k5vprsef.js +6 -0
- package/dist/bin/chunk-m22krd4z.js +3 -0
- package/dist/bin/chunk-mkppcwz8.js +1 -0
- package/dist/bin/chunk-mpjg0kc7.js +2 -0
- package/dist/bin/chunk-mrm4m4dk.js +2 -0
- package/dist/bin/chunk-nff46rxd.js +1 -0
- package/dist/bin/chunk-np1z3bgt.js +1 -0
- package/dist/bin/chunk-nskxkk6r.js +1 -0
- package/dist/bin/chunk-pez932b1.js +111 -0
- package/dist/bin/chunk-qsdf5kzk.js +2 -0
- package/dist/bin/chunk-r61qmhv1.js +2 -0
- package/dist/bin/chunk-r6gdcz5c.js +1 -0
- package/dist/bin/chunk-satwnr42.js +2 -0
- package/dist/bin/{chunk-dz1ec589.js → chunk-scqmd4qv.js} +30 -30
- package/dist/bin/chunk-smbycpt5.js +44 -0
- package/dist/bin/chunk-sn7e0sn7.js +2 -0
- package/dist/bin/chunk-ss574pka.js +1 -0
- package/dist/bin/chunk-tj0xb2d8.js +585 -0
- package/dist/bin/chunk-v3rzf9d0.js +141 -0
- package/dist/bin/chunk-wnpma6t3.js +34 -0
- package/dist/bin/chunk-xan0e052.js +5 -0
- package/dist/bin/chunk-xbk2y43r.js +60 -0
- package/dist/bin/chunk-xjp3v95e.js +6 -0
- package/dist/bin/chunk-xyt490vp.js +6 -0
- package/dist/bin/chunk-yn9r02gy.js +1 -0
- package/dist/bin/chunk-zhkhn9cc.js +1 -0
- package/dist/bin/cli.js +445 -430
- package/dist/bin/dashboard-server.js +1 -1
- package/dist/chunk-0zf72ngj.js +1 -0
- package/dist/chunk-2hpjte1d.js +704 -0
- package/dist/chunk-4m6gwhwr.js +5 -0
- package/dist/chunk-5m29dhke.js +34 -0
- package/dist/chunk-6fzeemcs.js +114 -0
- package/dist/{chunk-zz52xje8.js → chunk-6xcbfs2r.js} +111 -111
- package/dist/chunk-bpnhqb70.js +6 -0
- package/dist/chunk-ead1nkbr.js +60 -0
- package/dist/chunk-fea461tj.js +141 -0
- package/dist/chunk-fvjczc73.js +1 -0
- package/dist/chunk-gearw6rk.js +4 -0
- package/dist/chunk-j60hesb3.js +2 -0
- package/dist/chunk-pmgtmt3d.js +1 -0
- package/dist/chunk-prf2pkvq.js +5 -0
- package/dist/chunk-q0wffgw5.js +37 -0
- package/dist/chunk-qcemnt35.js +50 -0
- package/dist/chunk-qvbwsaay.js +1 -0
- package/dist/chunk-r2pbqcnz.js +2 -0
- package/dist/chunk-r6110zv2.js +1 -0
- package/dist/chunk-rr1yaj55.js +2 -0
- package/dist/chunk-wcrj06cg.js +44 -0
- package/dist/chunk-wte9mh18.js +92 -0
- package/dist/{chunk-aw0cgv5w.js → chunk-y1dh3znq.js} +52 -52
- package/dist/chunk-y6e86wjs.js +445 -0
- package/dist/chunk-y8b7ht4v.js +1 -0
- package/dist/chunk-yf487g6e.js +2 -0
- package/dist/chunk-zmmc9j5f.js +2 -0
- package/dist/deploy/index.js +1 -1
- package/dist/dns/index.js +1 -1
- package/dist/drivers/index.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +91 -91
- package/dist/operations/drained-sites.d.ts +56 -0
- package/dist/operations/drained-sites.test.d.ts +1 -0
- package/dist/pages/cloudflare-pages.d.ts +240 -0
- package/dist/pages/cloudflare-pages.test.d.ts +1 -0
- package/dist/pages/index.d.ts +2 -0
- package/dist/protection/index.js +1 -1
- package/dist/push/index.js +1 -1
- package/dist/spend/index.js +1 -1
- package/dist/ui/404.html +1 -1
- package/dist/ui/accept-invitation.html +1 -1
- package/dist/ui/access-denied.html +1 -1
- package/dist/ui/account/automation.html +6 -6
- package/dist/ui/account/security.html +2 -2
- package/dist/ui/applications/compose.html +6 -6
- package/dist/ui/applications/new.html +2 -2
- package/dist/ui/data/backups.html +80 -80
- package/dist/ui/data/services.html +78 -78
- package/dist/ui/data/volumes.html +50 -50
- package/dist/ui/index.html +50 -50
- package/dist/ui/infrastructure/topology.html +118 -118
- package/dist/ui/integrations.html +2 -2
- package/dist/ui/operations/alerts.html +48 -48
- package/dist/ui/operations/configuration.html +6 -6
- package/dist/ui/operations/jobs.html +75 -75
- package/dist/ui/operations/maintenance.html +6 -6
- package/dist/ui/operations/observability.html +82 -82
- package/dist/ui/operations/previews.html +6 -6
- package/dist/ui/operations/queue.html +6 -6
- package/dist/ui/operations/regions.html +6 -6
- package/dist/ui/operations/releases.html +6 -6
- package/dist/ui/operations/spend.html +54 -54
- package/dist/ui/operations/workloads.html +104 -104
- package/dist/ui/security.html +2 -2
- package/dist/ui/server/actions.html +56 -56
- package/dist/ui/server/activity.html +2 -2
- package/dist/ui/server/capacity.html +6 -6
- package/dist/ui/server/database.html +105 -105
- package/dist/ui/server/deployments.html +50 -50
- package/dist/ui/server/diagnostics.html +2 -2
- package/dist/ui/server/firewall.html +76 -76
- package/dist/ui/server/fleet.html +34 -34
- package/dist/ui/server/logs.html +24 -24
- package/dist/ui/server/metrics.html +112 -112
- package/dist/ui/server/security.html +1 -1
- package/dist/ui/server/services.html +26 -26
- package/dist/ui/server/sites.html +120 -120
- package/dist/ui/server/ssh-keys.html +52 -52
- package/dist/ui/server/team.html +144 -144
- package/dist/ui/server/terminal.html +15 -15
- package/dist/ui/serverless/alarms.html +52 -52
- package/dist/ui/serverless/assets.html +27 -27
- package/dist/ui/serverless/cost.html +2 -2
- package/dist/ui/serverless/data.html +35 -35
- package/dist/ui/serverless/deployments.html +27 -27
- package/dist/ui/serverless/firewall.html +2 -2
- package/dist/ui/serverless/functions.html +40 -40
- package/dist/ui/serverless/logs.html +24 -24
- package/dist/ui/serverless/metrics.html +2 -2
- package/dist/ui/serverless/queues.html +48 -48
- package/dist/ui/serverless/secrets.html +52 -52
- package/dist/ui/serverless/traces.html +6 -6
- package/dist/ui/serverless.html +53 -53
- package/dist/ui-src/src/charts.ts +8721 -13558
- package/dist/ui-src/src/topology.ts +2 -2
- package/package.json +4 -3
- package/dist/bin/chunk-0zwknfwp.js +0 -1
- package/dist/bin/chunk-3aph4c1w.js +0 -2
- package/dist/bin/chunk-4xhj37nj.js +0 -37
- package/dist/bin/chunk-5nkqza92.js +0 -1
- package/dist/bin/chunk-5nsqz5n3.js +0 -585
- package/dist/bin/chunk-64vczwwt.js +0 -1
- package/dist/bin/chunk-6tfwm33r.js +0 -6
- package/dist/bin/chunk-7g2ahkse.js +0 -1
- package/dist/bin/chunk-7zhgmp1s.js +0 -3
- package/dist/bin/chunk-82mj52xr.js +0 -141
- package/dist/bin/chunk-8khgprf6.js +0 -44
- package/dist/bin/chunk-9a88fp00.js +0 -2
- package/dist/bin/chunk-a7w13qfm.js +0 -2
- package/dist/bin/chunk-b4wt9jcg.js +0 -60
- package/dist/bin/chunk-btsyjhk7.js +0 -92
- package/dist/bin/chunk-c0bdafbx.js +0 -2
- package/dist/bin/chunk-cbsys5v8.js +0 -111
- package/dist/bin/chunk-cd0ps58j.js +0 -1
- package/dist/bin/chunk-d7ke90zt.js +0 -2
- package/dist/bin/chunk-djg4zyqk.js +0 -1
- package/dist/bin/chunk-dkaz333b.js +0 -1
- package/dist/bin/chunk-dkf4qsp2.js +0 -1
- package/dist/bin/chunk-e2bybahr.js +0 -3
- package/dist/bin/chunk-e5ab5twy.js +0 -50
- package/dist/bin/chunk-edvvx3hg.js +0 -1
- package/dist/bin/chunk-ehc63fvs.js +0 -2
- package/dist/bin/chunk-f06c5np9.js +0 -1
- package/dist/bin/chunk-g0fm1xcs.js +0 -1
- package/dist/bin/chunk-gq8794k6.js +0 -1
- package/dist/bin/chunk-hq9x489e.js +0 -70
- package/dist/bin/chunk-j447p8t4.js +0 -512
- package/dist/bin/chunk-ja1vjdn1.js +0 -6
- package/dist/bin/chunk-k3120rx6.js +0 -1
- package/dist/bin/chunk-kg61p5hw.js +0 -3
- package/dist/bin/chunk-mcr0r4at.js +0 -2
- package/dist/bin/chunk-mfrf9q4b.js +0 -2
- package/dist/bin/chunk-my3ewh3a.js +0 -34
- package/dist/bin/chunk-nw3d4k52.js +0 -1
- package/dist/bin/chunk-p70bc9yr.js +0 -1
- package/dist/bin/chunk-r6b3pq31.js +0 -4
- package/dist/bin/chunk-s4yzes15.js +0 -2
- package/dist/bin/chunk-sj5csg49.js +0 -2
- package/dist/bin/chunk-tvz9c388.js +0 -1
- package/dist/bin/chunk-wkx799z2.js +0 -1
- package/dist/bin/chunk-x6f61g36.js +0 -9
- package/dist/bin/chunk-xhwqpgwq.js +0 -2
- package/dist/bin/chunk-xk08030d.js +0 -6
- package/dist/bin/chunk-y1h63vpm.js +0 -1
- package/dist/bin/chunk-yw6f160x.js +0 -1
- package/dist/bin/chunk-zdt2rjk6.js +0 -1
- package/dist/bin/chunk-zh2d4704.js +0 -1
- package/dist/bin/chunk-znnawt0k.js +0 -1
- package/dist/bin/chunk-zpe64t4r.js +0 -1
- package/dist/bin/chunk-zsf6pccz.js +0 -1
- package/dist/chunk-1qdne0bf.js +0 -1
- package/dist/chunk-5vt93kxx.js +0 -1
- package/dist/chunk-73ztr55z.js +0 -2
- package/dist/chunk-95e6aeqz.js +0 -1
- package/dist/chunk-aj025v2s.js +0 -4
- package/dist/chunk-aw0spg20.js +0 -445
- package/dist/chunk-by2bwzk6.js +0 -141
- package/dist/chunk-dr4pj8hp.js +0 -5
- package/dist/chunk-hn40z11p.js +0 -37
- package/dist/chunk-kasdm9tx.js +0 -34
- package/dist/chunk-mz0dk78z.js +0 -6
- package/dist/chunk-nk7sav4r.js +0 -92
- package/dist/chunk-p10xt3jb.js +0 -1
- package/dist/chunk-q0rc1ax9.js +0 -114
- package/dist/chunk-q9q6cmt0.js +0 -1
- package/dist/chunk-rd38qdnf.js +0 -1
- package/dist/chunk-tz9myq9a.js +0 -2
- package/dist/chunk-wavjkdb8.js +0 -2
- package/dist/chunk-x3hay61c.js +0 -44
- package/dist/chunk-xcj8zfmg.js +0 -2
- package/dist/chunk-y4xkj2f1.js +0 -50
- package/dist/chunk-ywjkyg8p.js +0 -704
- package/dist/chunk-z2qqwy7e.js +0 -2
- package/dist/chunk-zam6ecam.js +0 -60
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en" data-theme="dark"><head><meta charset="UTF-8"><meta name="stx-build" content="
|
|
2
|
-
function
|
|
1
|
+
<!DOCTYPE html><html lang="en" data-theme="dark"><head><meta charset="UTF-8"><meta name="stx-build" content="mt7lgvq3gjbx1h"><meta name="title" content="stx Project"><meta name="description" content="A website built with stx templating engine"><meta property="og:title" content="stx Project"><meta property="og:description" content="A website built with stx templating engine"><meta property="og:type" content="website"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="stx Project"><meta name="twitter:description" content="A website built with stx templating engine"> <script data-stx-runtime src="/_stx/runtime.c696d17a.js"></script> <script data-stx-composables src="/_stx/chunk.5ddb5087.js"></script> <meta name="viewport" content="width=device-width, initial-scale=1.0"><title>ts-cloud - Server health</title><link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect x='3' y='3' width='26' height='26' rx='8' fill='%235a8be0'/%3E%3C/svg%3E"><link rel="preconnect" href="https://fonts.googleapis.com"><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet"><link rel="stylesheet" href="/_stx/style.448ab192.css"> <script data-stx-scoped>
|
|
2
|
+
function __stx_setup_1787597623470_18() {
|
|
3
3
|
const { batch, computed, configureFetch, defineEmits, defineExpose, definePageMeta, defineProps, defineSlots, defineStore, derived, effect, goBack, goForward, inject, invalidateRoute, isDerived, isSignal, navigate, nextTick, onBeforeMount, onBeforeUnmount, onDestroy, onMount, onMounted, onUnmounted, peek, provide, reactive, ref, registerStoresClient, setRouteParams, state, untrack, useAsync, useClickOutside, useColorMode, useCookie, useCounter, useDark, useDebounce, useDebouncedValue, useEventListener, useFetch, useFocus, useHead, useId, useInterval, useLocalStorage, useMediaQuery, useMutation, useOptimistic, usePreferredContrast, usePreferredDark, usePreferredLight, usePreferredReducedMotion, useQuery, useReactiveProp, useRef, useRoute, useRouteParam, useRouteParams, useScrollLock, useSearchParams, useSeoMeta, useSessionStorage, useSlots, useStore, useThrottle, useTimeout, useToggle, useWebSocket, watch, watchEffect, watchMultiple, withDefaults } = window.stx;
|
|
4
4
|
|
|
5
|
-
var BYTE_METRICS = undefined;
|
|
6
|
-
var RATE_METRICS = undefined;
|
|
7
|
-
var areaPath = undefined;
|
|
8
|
-
var bytesLabel = undefined;
|
|
9
|
-
var currentData = undefined;
|
|
10
|
-
var display = undefined;
|
|
11
|
-
var egressBudget = undefined;
|
|
12
|
-
var egressMonth = undefined;
|
|
13
|
-
var egressPercent = undefined;
|
|
14
|
-
var egressProjected = undefined;
|
|
15
|
-
var egressSummary = undefined;
|
|
16
|
-
var egressTone = undefined;
|
|
17
|
-
var egressWillExceed = undefined;
|
|
18
|
-
var hasEgress = undefined;
|
|
19
|
-
var historyCards = undefined;
|
|
20
|
-
var historyError = undefined;
|
|
21
|
-
var historyParams = undefined;
|
|
22
|
-
var historyRange = undefined;
|
|
23
|
-
var historySeries = undefined;
|
|
24
|
-
var isByteMetric = undefined;
|
|
25
|
-
var isRateMetric = undefined;
|
|
26
|
-
var lastUpdatedAt = undefined;
|
|
27
|
-
var latest = undefined;
|
|
28
|
-
var latestValue = undefined;
|
|
29
|
-
var linePath = undefined;
|
|
30
|
-
var liveBandwidthNote = undefined;
|
|
31
|
-
var liveBytes = undefined;
|
|
32
|
-
var liveCards = undefined;
|
|
33
|
-
var liveCpu = undefined;
|
|
34
|
-
var liveDisk = undefined;
|
|
35
|
-
var liveGb = undefined;
|
|
36
|
-
var liveMemory = undefined;
|
|
37
|
-
var liveMetric = undefined;
|
|
38
|
-
var liveMonthBytes = undefined;
|
|
39
|
-
var liveRate = undefined;
|
|
40
|
-
var liveStatus = undefined;
|
|
41
|
-
var liveSwap = undefined;
|
|
42
|
-
var liveTone = undefined;
|
|
43
|
-
var loadCurrent = undefined;
|
|
44
|
-
var loadHistory = undefined;
|
|
45
|
-
var metricPoints = undefined;
|
|
46
|
-
var peak = undefined;
|
|
47
|
-
var percent = undefined;
|
|
48
|
-
var points = undefined;
|
|
49
|
-
var pollingError = undefined;
|
|
50
|
-
var pollingState = undefined;
|
|
51
|
-
var ranges = undefined;
|
|
52
|
-
var ratio = undefined;
|
|
53
|
-
var ratioPoints = undefined;
|
|
54
|
-
var refresh = undefined;
|
|
55
|
-
var samples = undefined;
|
|
56
|
-
var series = undefined;
|
|
57
5
|
var setRange = undefined;
|
|
6
|
+
var series = undefined;
|
|
7
|
+
var samples = undefined;
|
|
8
|
+
var refresh = undefined;
|
|
9
|
+
var ratioPoints = undefined;
|
|
10
|
+
var ratio = undefined;
|
|
11
|
+
var ranges = undefined;
|
|
12
|
+
var pollingState = undefined;
|
|
13
|
+
var pollingError = undefined;
|
|
14
|
+
var points = undefined;
|
|
15
|
+
var percent = undefined;
|
|
16
|
+
var peak = undefined;
|
|
17
|
+
var metricPoints = undefined;
|
|
18
|
+
var loadHistory = undefined;
|
|
19
|
+
var loadCurrent = undefined;
|
|
20
|
+
var liveTone = undefined;
|
|
21
|
+
var liveSwap = undefined;
|
|
22
|
+
var liveStatus = undefined;
|
|
23
|
+
var liveRate = undefined;
|
|
24
|
+
var liveMonthBytes = undefined;
|
|
25
|
+
var liveMetric = undefined;
|
|
26
|
+
var liveMemory = undefined;
|
|
27
|
+
var liveGb = undefined;
|
|
28
|
+
var liveDisk = undefined;
|
|
29
|
+
var liveCpu = undefined;
|
|
30
|
+
var liveCards = undefined;
|
|
31
|
+
var liveBytes = undefined;
|
|
32
|
+
var liveBandwidthNote = undefined;
|
|
33
|
+
var linePath = undefined;
|
|
34
|
+
var latestValue = undefined;
|
|
35
|
+
var latest = undefined;
|
|
36
|
+
var lastUpdatedAt = undefined;
|
|
37
|
+
var isRateMetric = undefined;
|
|
38
|
+
var isByteMetric = undefined;
|
|
39
|
+
var historySeries = undefined;
|
|
40
|
+
var historyRange = undefined;
|
|
41
|
+
var historyParams = undefined;
|
|
42
|
+
var historyError = undefined;
|
|
43
|
+
var historyCards = undefined;
|
|
44
|
+
var hasEgress = undefined;
|
|
45
|
+
var egressWillExceed = undefined;
|
|
46
|
+
var egressTone = undefined;
|
|
47
|
+
var egressSummary = undefined;
|
|
48
|
+
var egressProjected = undefined;
|
|
49
|
+
var egressPercent = undefined;
|
|
50
|
+
var egressMonth = undefined;
|
|
51
|
+
var egressBudget = undefined;
|
|
52
|
+
var display = undefined;
|
|
53
|
+
var currentData = undefined;
|
|
54
|
+
var bytesLabel = undefined;
|
|
55
|
+
var areaPath = undefined;
|
|
56
|
+
var RATE_METRICS = undefined;
|
|
57
|
+
var BYTE_METRICS = undefined;
|
|
58
58
|
var __stxBundle_0771a3dde92d = (function() {
|
|
59
59
|
|
|
60
60
|
function servedWithoutApi(error) {
|
|
@@ -362,66 +362,66 @@ function setRange(value) {
|
|
|
362
362
|
historyRange.set(value);
|
|
363
363
|
refresh();
|
|
364
364
|
}
|
|
365
|
-
return { "
|
|
365
|
+
return { "setRange": setRange, "series": series, "samples": samples, "refresh": refresh, "ratioPoints": ratioPoints, "ratio": ratio, "ranges": ranges, "pollingState": pollingState, "pollingError": pollingError, "points": points, "percent": percent, "peak": peak, "metricPoints": metricPoints, "loadHistory": loadHistory, "loadCurrent": loadCurrent, "liveTone": liveTone, "liveSwap": liveSwap, "liveStatus": liveStatus, "liveRate": liveRate, "liveMonthBytes": liveMonthBytes, "liveMetric": liveMetric, "liveMemory": liveMemory, "liveGb": liveGb, "liveDisk": liveDisk, "liveCpu": liveCpu, "liveCards": liveCards, "liveBytes": liveBytes, "liveBandwidthNote": liveBandwidthNote, "linePath": linePath, "latestValue": latestValue, "latest": latest, "lastUpdatedAt": lastUpdatedAt, "isRateMetric": isRateMetric, "isByteMetric": isByteMetric, "historySeries": historySeries, "historyRange": historyRange, "historyParams": historyParams, "historyError": historyError, "historyCards": historyCards, "hasEgress": hasEgress, "egressWillExceed": egressWillExceed, "egressTone": egressTone, "egressSummary": egressSummary, "egressProjected": egressProjected, "egressPercent": egressPercent, "egressMonth": egressMonth, "egressBudget": egressBudget, "display": display, "currentData": currentData, "bytesLabel": bytesLabel, "areaPath": areaPath, "RATE_METRICS": RATE_METRICS, "BYTE_METRICS": BYTE_METRICS };
|
|
366
366
|
})();
|
|
367
|
-
BYTE_METRICS = __stxBundle_0771a3dde92d["BYTE_METRICS"];
|
|
368
|
-
RATE_METRICS = __stxBundle_0771a3dde92d["RATE_METRICS"];
|
|
369
|
-
areaPath = __stxBundle_0771a3dde92d["areaPath"];
|
|
370
|
-
bytesLabel = __stxBundle_0771a3dde92d["bytesLabel"];
|
|
371
|
-
currentData = __stxBundle_0771a3dde92d["currentData"];
|
|
372
|
-
display = __stxBundle_0771a3dde92d["display"];
|
|
373
|
-
egressBudget = __stxBundle_0771a3dde92d["egressBudget"];
|
|
374
|
-
egressMonth = __stxBundle_0771a3dde92d["egressMonth"];
|
|
375
|
-
egressPercent = __stxBundle_0771a3dde92d["egressPercent"];
|
|
376
|
-
egressProjected = __stxBundle_0771a3dde92d["egressProjected"];
|
|
377
|
-
egressSummary = __stxBundle_0771a3dde92d["egressSummary"];
|
|
378
|
-
egressTone = __stxBundle_0771a3dde92d["egressTone"];
|
|
379
|
-
egressWillExceed = __stxBundle_0771a3dde92d["egressWillExceed"];
|
|
380
|
-
hasEgress = __stxBundle_0771a3dde92d["hasEgress"];
|
|
381
|
-
historyCards = __stxBundle_0771a3dde92d["historyCards"];
|
|
382
|
-
historyError = __stxBundle_0771a3dde92d["historyError"];
|
|
383
|
-
historyParams = __stxBundle_0771a3dde92d["historyParams"];
|
|
384
|
-
historyRange = __stxBundle_0771a3dde92d["historyRange"];
|
|
385
|
-
historySeries = __stxBundle_0771a3dde92d["historySeries"];
|
|
386
|
-
isByteMetric = __stxBundle_0771a3dde92d["isByteMetric"];
|
|
387
|
-
isRateMetric = __stxBundle_0771a3dde92d["isRateMetric"];
|
|
388
|
-
lastUpdatedAt = __stxBundle_0771a3dde92d["lastUpdatedAt"];
|
|
389
|
-
latest = __stxBundle_0771a3dde92d["latest"];
|
|
390
|
-
latestValue = __stxBundle_0771a3dde92d["latestValue"];
|
|
391
|
-
linePath = __stxBundle_0771a3dde92d["linePath"];
|
|
392
|
-
liveBandwidthNote = __stxBundle_0771a3dde92d["liveBandwidthNote"];
|
|
393
|
-
liveBytes = __stxBundle_0771a3dde92d["liveBytes"];
|
|
394
|
-
liveCards = __stxBundle_0771a3dde92d["liveCards"];
|
|
395
|
-
liveCpu = __stxBundle_0771a3dde92d["liveCpu"];
|
|
396
|
-
liveDisk = __stxBundle_0771a3dde92d["liveDisk"];
|
|
397
|
-
liveGb = __stxBundle_0771a3dde92d["liveGb"];
|
|
398
|
-
liveMemory = __stxBundle_0771a3dde92d["liveMemory"];
|
|
399
|
-
liveMetric = __stxBundle_0771a3dde92d["liveMetric"];
|
|
400
|
-
liveMonthBytes = __stxBundle_0771a3dde92d["liveMonthBytes"];
|
|
401
|
-
liveRate = __stxBundle_0771a3dde92d["liveRate"];
|
|
402
|
-
liveStatus = __stxBundle_0771a3dde92d["liveStatus"];
|
|
403
|
-
liveSwap = __stxBundle_0771a3dde92d["liveSwap"];
|
|
404
|
-
liveTone = __stxBundle_0771a3dde92d["liveTone"];
|
|
405
|
-
loadCurrent = __stxBundle_0771a3dde92d["loadCurrent"];
|
|
406
|
-
loadHistory = __stxBundle_0771a3dde92d["loadHistory"];
|
|
407
|
-
metricPoints = __stxBundle_0771a3dde92d["metricPoints"];
|
|
408
|
-
peak = __stxBundle_0771a3dde92d["peak"];
|
|
409
|
-
percent = __stxBundle_0771a3dde92d["percent"];
|
|
410
|
-
points = __stxBundle_0771a3dde92d["points"];
|
|
411
|
-
pollingError = __stxBundle_0771a3dde92d["pollingError"];
|
|
412
|
-
pollingState = __stxBundle_0771a3dde92d["pollingState"];
|
|
413
|
-
ranges = __stxBundle_0771a3dde92d["ranges"];
|
|
414
|
-
ratio = __stxBundle_0771a3dde92d["ratio"];
|
|
415
|
-
ratioPoints = __stxBundle_0771a3dde92d["ratioPoints"];
|
|
416
|
-
refresh = __stxBundle_0771a3dde92d["refresh"];
|
|
417
|
-
samples = __stxBundle_0771a3dde92d["samples"];
|
|
418
|
-
series = __stxBundle_0771a3dde92d["series"];
|
|
419
367
|
setRange = __stxBundle_0771a3dde92d["setRange"];
|
|
420
|
-
|
|
368
|
+
series = __stxBundle_0771a3dde92d["series"];
|
|
369
|
+
samples = __stxBundle_0771a3dde92d["samples"];
|
|
370
|
+
refresh = __stxBundle_0771a3dde92d["refresh"];
|
|
371
|
+
ratioPoints = __stxBundle_0771a3dde92d["ratioPoints"];
|
|
372
|
+
ratio = __stxBundle_0771a3dde92d["ratio"];
|
|
373
|
+
ranges = __stxBundle_0771a3dde92d["ranges"];
|
|
374
|
+
pollingState = __stxBundle_0771a3dde92d["pollingState"];
|
|
375
|
+
pollingError = __stxBundle_0771a3dde92d["pollingError"];
|
|
376
|
+
points = __stxBundle_0771a3dde92d["points"];
|
|
377
|
+
percent = __stxBundle_0771a3dde92d["percent"];
|
|
378
|
+
peak = __stxBundle_0771a3dde92d["peak"];
|
|
379
|
+
metricPoints = __stxBundle_0771a3dde92d["metricPoints"];
|
|
380
|
+
loadHistory = __stxBundle_0771a3dde92d["loadHistory"];
|
|
381
|
+
loadCurrent = __stxBundle_0771a3dde92d["loadCurrent"];
|
|
382
|
+
liveTone = __stxBundle_0771a3dde92d["liveTone"];
|
|
383
|
+
liveSwap = __stxBundle_0771a3dde92d["liveSwap"];
|
|
384
|
+
liveStatus = __stxBundle_0771a3dde92d["liveStatus"];
|
|
385
|
+
liveRate = __stxBundle_0771a3dde92d["liveRate"];
|
|
386
|
+
liveMonthBytes = __stxBundle_0771a3dde92d["liveMonthBytes"];
|
|
387
|
+
liveMetric = __stxBundle_0771a3dde92d["liveMetric"];
|
|
388
|
+
liveMemory = __stxBundle_0771a3dde92d["liveMemory"];
|
|
389
|
+
liveGb = __stxBundle_0771a3dde92d["liveGb"];
|
|
390
|
+
liveDisk = __stxBundle_0771a3dde92d["liveDisk"];
|
|
391
|
+
liveCpu = __stxBundle_0771a3dde92d["liveCpu"];
|
|
392
|
+
liveCards = __stxBundle_0771a3dde92d["liveCards"];
|
|
393
|
+
liveBytes = __stxBundle_0771a3dde92d["liveBytes"];
|
|
394
|
+
liveBandwidthNote = __stxBundle_0771a3dde92d["liveBandwidthNote"];
|
|
395
|
+
linePath = __stxBundle_0771a3dde92d["linePath"];
|
|
396
|
+
latestValue = __stxBundle_0771a3dde92d["latestValue"];
|
|
397
|
+
latest = __stxBundle_0771a3dde92d["latest"];
|
|
398
|
+
lastUpdatedAt = __stxBundle_0771a3dde92d["lastUpdatedAt"];
|
|
399
|
+
isRateMetric = __stxBundle_0771a3dde92d["isRateMetric"];
|
|
400
|
+
isByteMetric = __stxBundle_0771a3dde92d["isByteMetric"];
|
|
401
|
+
historySeries = __stxBundle_0771a3dde92d["historySeries"];
|
|
402
|
+
historyRange = __stxBundle_0771a3dde92d["historyRange"];
|
|
403
|
+
historyParams = __stxBundle_0771a3dde92d["historyParams"];
|
|
404
|
+
historyError = __stxBundle_0771a3dde92d["historyError"];
|
|
405
|
+
historyCards = __stxBundle_0771a3dde92d["historyCards"];
|
|
406
|
+
hasEgress = __stxBundle_0771a3dde92d["hasEgress"];
|
|
407
|
+
egressWillExceed = __stxBundle_0771a3dde92d["egressWillExceed"];
|
|
408
|
+
egressTone = __stxBundle_0771a3dde92d["egressTone"];
|
|
409
|
+
egressSummary = __stxBundle_0771a3dde92d["egressSummary"];
|
|
410
|
+
egressProjected = __stxBundle_0771a3dde92d["egressProjected"];
|
|
411
|
+
egressPercent = __stxBundle_0771a3dde92d["egressPercent"];
|
|
412
|
+
egressMonth = __stxBundle_0771a3dde92d["egressMonth"];
|
|
413
|
+
egressBudget = __stxBundle_0771a3dde92d["egressBudget"];
|
|
414
|
+
display = __stxBundle_0771a3dde92d["display"];
|
|
415
|
+
currentData = __stxBundle_0771a3dde92d["currentData"];
|
|
416
|
+
bytesLabel = __stxBundle_0771a3dde92d["bytesLabel"];
|
|
417
|
+
areaPath = __stxBundle_0771a3dde92d["areaPath"];
|
|
418
|
+
RATE_METRICS = __stxBundle_0771a3dde92d["RATE_METRICS"];
|
|
419
|
+
BYTE_METRICS = __stxBundle_0771a3dde92d["BYTE_METRICS"];
|
|
420
|
+
return { setRange, series, samples, refresh, ratioPoints, ratio, ranges, pollingState, pollingError, points, percent, peak, metricPoints, loadHistory, loadCurrent, liveTone, liveSwap, liveStatus, liveRate, liveMonthBytes, liveMetric, liveMemory, liveGb, liveDisk, liveCpu, liveCards, liveBytes, liveBandwidthNote, linePath, latestValue, latest, lastUpdatedAt, isRateMetric, isByteMetric, historySeries, historyRange, historyParams, historyError, historyCards, hasEgress, egressWillExceed, egressTone, egressSummary, egressProjected, egressPercent, egressMonth, egressBudget, display, currentData, bytesLabel, areaPath, RATE_METRICS, BYTE_METRICS, __stxBundle_0771a3dde92d };
|
|
421
421
|
}
|
|
422
|
-
window.__stx_latestSetup=
|
|
423
|
-
if(window.stx)window.stx._latestSetup=
|
|
424
|
-
</script> <style data-stx-cloak>[x-cloak]{display:none !important}</style><link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.996ed49e.css"></head><body data-stx="
|
|
422
|
+
window.__stx_latestSetup=__stx_setup_1787597623470_18;
|
|
423
|
+
if(window.stx)window.stx._latestSetup=__stx_setup_1787597623470_18;
|
|
424
|
+
</script> <style data-stx-cloak>[x-cloak]{display:none !important}</style><link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.996ed49e.css"></head><body data-stx="__stx_setup_1787597623470_18"><a data-stx-scope="stx_scope_nav_23" class="skip-link" href="#main-content">Skip to content</a><button class="nav-toggle-button" type="button" aria-label="Open navigation" aria-controls="primary-navigation" aria-expanded="false"><span></span><span></span><span></span></button><button class="nav-scrim" type="button" aria-label="Close navigation"></button><aside class="app-sidebar" id="primary-navigation" aria-label="Primary navigation"><a class="brand" href="/?env=production"><span class="dot"></span><span>ts-cloud</span></a><div class="sidebar-context"><span class="context-label">Project</span><strong>Server</strong></div><div class="environment-picker" aria-label="Environment"><span class="context-label">Environment</span><details><summary class="environment-current production"><span>PROD</span><strong>production</strong></summary></details></div><button class="command-trigger" type="button" aria-keyshortcuts="Meta+K Control+K"><span>Search resources</span><kbd>⌘ K</kbd></button><div class="nav-groups"><section class="nav-group"><h2>Overview</h2><a class="active" href="/?env=production">Dashboard</a><a href="/server/activity?env=production">Activity</a></section><section class="nav-group"><h2>Applications</h2><a class="" href="/server/sites?env=production">Services</a><a class="" href="/server/deployments?env=production">Deployments</a><a class="" href="/server/logs?env=production">Logs</a><a class="" href="/integrations?env=production">Git integrations</a><a class="" href="/applications/new?env=production">Create application</a><a class="" href="/applications/compose?env=production">Compose applications</a></section><section class="nav-group"><h2>Operations</h2><a class="" href="/operations/queue?env=production">Deployment queue</a><a class="" href="/operations/previews?env=production">Preview environments</a><a class="" href="/operations/releases?env=production">Releases & promotion</a><a class="" href="/operations/regions?env=production">Regions & failover</a><a class="" href="/operations/maintenance?env=production">Maintenance & DR</a><a class="" href="/operations/workloads?env=production">Workloads</a><a class="" href="/operations/observability?env=production">Observability</a><a class="" href="/operations/alerts?env=production">Alerts & health</a><a class="" href="/operations/spend?env=production">Spend & budgets</a><a href="/server/metrics?env=production">Metrics</a><a href="/server/services?env=production">Runtime services</a><a class="" href="/operations/jobs?env=production">Workers & schedules</a><a class="" href="/operations/configuration?env=production">Environment & secrets</a><a class="" href="/data/backups?env=production">Backups & recovery</a><a class="" href="/data/volumes?env=production">Persistent volumes</a><a href="/server/actions?env=production">Run operations</a></section><section class="nav-group"><h2>Infrastructure</h2><a class="" href="/infrastructure/topology?env=production">Infrastructure map</a><a class="" href="/data/services?env=production">Data services</a><a class="" href="/data/volumes?env=production">Persistent volumes</a><a href="/server/firewall?env=production">Network & firewall</a><a href="/server/ssh-keys?env=production">SSH keys</a><a class="" href="/server/fleet?env=production">Fleet inventory</a><a class="" href="/server/capacity?env=production">Capacity & placement</a><a href="/security?env=production">Security posture</a><a href="/server/terminal?env=production">Terminal</a></section><section class="nav-group"><h2>Organization</h2><a class="" href="/server/team?env=production">People & access</a><a class="" href="/account/automation?env=production">API & automation</a></section><section class="nav-group"><h2>Account</h2><a class="" href="/account/security?env=production">Sign-in & security</a></section></div><form method="post" action="/api/logout" class="signout"><button type="submit">Sign out</button></form></aside><dialog class="command-palette" aria-labelledby="command-title"><div class="command-search"><span aria-hidden="true">⌕</span><input type="search" placeholder="Search services, domains, deployments…" aria-label="Search resources" autocomplete="off"><button type="button" class="command-close" aria-label="Close search">Esc</button></div><h2 id="command-title" class="sr-only">Search resources and navigation</h2><div class="command-status" role="status">Start typing to search this project.</div><section class="saved-views" aria-labelledby="saved-views-title"><div class="saved-views-heading"><h3 id="saved-views-title">Saved views</h3><form class="save-view-form"><label class="sr-only" for="save-view-name">Saved view name</label><input id="save-view-name" maxlength="64" placeholder="Name this view" autocomplete="off"><button type="submit">Save current filters</button></form></div><div class="saved-view-list"></div></section><form class="tag-result-form"><label for="tag-result-name">Tag selected resource</label><input id="tag-result-name" maxlength="32" placeholder="customer-facing" pattern="[A-Za-z0-9][A-Za-z0-9 -]{0,31}" autocomplete="off"><input class="tag-color" type="color" value="#5a8be0" aria-label="Tag color"><button type="submit">Add tag</button></form><div class="command-results" role="listbox" aria-label="Search results"></div><footer><span>↑ ↓ navigate</span><span>Enter open</span><span>Esc close</span></footer></dialog><div class="context-bar" aria-label="Current scope"><div class="context-path"><div class="context-breadcrumb"><span>Server</span><i>/</i><strong>production</strong></div><div class="context-filters" aria-label="Active filters"></div></div><span class="scope-safety production">Production scope</span></div> <script data-stx-scoped data-stx-run="always">
|
|
425
425
|
(function() {
|
|
426
426
|
var { batch, computed, configureFetch, defineEmits, defineExpose, definePageMeta, defineProps, defineSlots, defineStore, derived, effect, goBack, goForward, inject, invalidateRoute, isDerived, isSignal, navigate, nextTick, onBeforeMount, onBeforeUnmount, onDestroy, onMount, onMounted, onUnmounted, peek, provide, reactive, ref, refresh, registerStoresClient, setRouteParams, state, untrack, useAsync, useClickOutside, useColorMode, useCookie, useCounter, useDark, useDebounce, useDebouncedValue, useEventListener, useFetch, useFocus, useHead, useId, useInterval, useLocalStorage, useMediaQuery, useMutation, useOptimistic, usePreferredContrast, usePreferredDark, usePreferredLight, usePreferredReducedMotion, useQuery, useReactiveProp, useRef, useRoute, useRouteParam, useRouteParams, useScrollLock, useSearchParams, useSeoMeta, useSessionStorage, useSlots, useStore, useThrottle, useTimeout, useToggle, useWebSocket, watch, watchEffect, watchMultiple, withDefaults } = window.stx;
|
|
427
427
|
var __destroyHooks = [];
|
|
@@ -772,6 +772,6 @@ if(window.stx)window.stx._latestSetup=__stx_setup_1787514990905_23;
|
|
|
772
772
|
|
|
773
773
|
|
|
774
774
|
try { if (typeof __stxScopeRenames !== 'undefined' && __stxScopeRenames) { for (var __stxRK in __stxScopeRenames) __scopeRegistration[__stxRK] = __stxScopeRenames[__stxRK]; } } catch (e) { /* no renames */ }
|
|
775
|
-
window.stx._scopes['
|
|
775
|
+
window.stx._scopes['stx_scope_nav_23'] = __scopeRegistration;
|
|
776
776
|
})();
|
|
777
777
|
</script> <div class="wrap"><div class="crumbs"><a href="/">Server</a><span class="sep">/</span> Health</div><header class="page"><div><h1>Server health</h1><p>Current and historical resource pressure for Server.</p></div><div class="header-actions" x-cloak><span class="pill" :class="pollingState() === 'live' ? 'ok' : 'warn'" x-cloak>{{ pollingState() }}</span><small x-cloak>{{ lastUpdatedAt()?.toLocaleTimeString() || 'connecting' }}</small></div></header><div class="health-hero" :class="liveTone()" @show="!!currentData()" x-cloak><div class="status"><span class="led"></span><span x-cloak>{{ liveStatus() }}<small>Live host probe, refreshed automatically.</small></span></div><div class="hmeta"><div class="item"><span>OS</span><b x-cloak>{{ currentData()?.server?.os || 'unavailable' }}</b></div><div class="item"><span>Region</span><b x-cloak>{{ currentData()?.server?.provider || 'unavailable' }} · {{ currentData()?.server?.region || 'unavailable' }}</b></div><div class="item"><span>Uptime</span><b x-cloak>{{ currentData()?.server?.uptime || 'unavailable' }}</b></div><div class="item"><span>vCPUs</span><b x-cloak>{{ liveMetric().cpus }}</b></div></div></div><div class="gauges live-gauges" @show="!!currentData()" x-cloak><template :for="card in liveCards()"><div class="gauge" :class="card.pct >= 90 ? 'bad' : card.pct >= 70 ? 'warn' : 'ok'" x-cloak><div class="ghead" x-cloak>{{ card.label }}</div><div class="ring" :style="'--pct:' + card.pct" x-cloak><div class="center" x-cloak><div class="pct" x-cloak>{{ card.pct }}<sup>%</sup></div><div class="punit">used</div></div></div><div class="gsub" x-cloak>{{ card.detail }}</div></div></template></div><div class="section" @show="!!currentData()" x-cloak><h2>Vital signs</h2><div class="host-vitals vitals"><div class="vital"><div class="vlabel">Load averages</div><div class="vval" x-cloak>{{ liveMetric().load }} / {{ liveMetric().load5 }} / {{ liveMetric().load15 }}</div><div class="vnote">1, 5, and 15 minutes</div></div><div class="vital"><div class="vlabel">Memory available</div><div class="vval" x-cloak>{{ liveGb(liveMetric().memAvailableMb) }} <small>GB</small></div><div class="vnote" x-cloak>{{ liveGb(liveMetric().memCacheMb) }} GB cache</div></div><div class="vital"><div class="vlabel">Disk inodes</div><div class="vval" x-cloak>{{ liveMetric().inodeUsedPct }}<small>% used</small></div><div class="vnote">Filesystem entry capacity</div></div><div class="vital"><div class="vlabel">Processes</div><div class="vval" x-cloak>{{ liveMetric().processes }}</div><div class="vnote">Current process count</div></div><div class="vital"><div class="vlabel">Network in</div><div class="vval" x-cloak>{{ liveRate(liveMetric().networkRxBytesPerSec) }}</div><div class="vnote" x-cloak>{{ liveBytes(liveMetric().networkRxBytesToday) }} today</div></div><div class="vital"><div class="vlabel">Network out</div><div class="vval" x-cloak>{{ liveRate(liveMetric().networkTxBytesPerSec) }}</div><div class="vnote" x-cloak>{{ liveBytes(liveMetric().networkTxBytesToday) }} today</div></div><div class="vital"><div class="vlabel">Bandwidth this month</div><div class="vval" x-cloak>{{ liveBytes(liveMonthBytes()) }}</div><div class="vnote" x-cloak>{{ liveBandwidthNote() }}</div></div><div class="vital"><div class="vlabel">Disk free</div><div class="vval" x-cloak>{{ Math.max(0, Number(liveMetric().diskTotalGb) - Number(liveMetric().diskUsedGb)) }} <small>GB</small></div><div class="vnote" x-cloak>{{ liveMetric().diskTotalGb }} GB total</div></div><div class="vital"><div class="vlabel">Swap</div><div class="vval" x-cloak>{{ liveSwap() }}<small>% used</small></div><div class="vnote" x-cloak>{{ liveGb(liveMetric().swapUsedMb) }} / {{ liveGb(liveMetric().swapTotalMb) }} GB</div></div></div></div><div class="section" @show="!!currentData()" x-cloak><h2>Current resource shape</h2><div class="live-bars panel" x-cloak><template :for="card in liveCards()"><div class="live-bar" x-cloak><div x-cloak><span x-cloak>{{ card.label }}</span><strong x-cloak>{{ card.pct }}%</strong></div><div class="live-bar-track"><i :style="'width:' + card.pct + '%'"></i></div><small x-cloak>{{ card.detail }}</small></div></template></div></div><div class="health-hero warn" @show="!currentData()" x-cloak><div class="status"><span class="led"></span><span>Probe unavailable<small>Live metrics are unavailable because the dashboard probe could not reach the server.</small></span></div><div class="hmeta"><div class="item"><span>OS</span><b>unavailable</b></div><div class="item"><span>Region</span><b>unavailable · unavailable</b></div><div class="item"><span>Uptime</span><b>unavailable</b></div><div class="item"><span>vCPUs</span><b>0</b></div></div></div><div class="gauges" @show="!currentData()" x-cloak><div class="gauge warn"><div class="ghead">CPU utilization</div><div class="ring" style="--pct: 0"><div class="center"><div class="pct">-</div><div class="punit">probe offline</div></div></div><div class="gsub">Live metrics are unavailable because the dashboard probe could not reach the server.</div><div class="gtag">Unavailable</div></div><div class="gauge warn"><div class="ghead">Memory</div><div class="ring" style="--pct: 0"><div class="center"><div class="pct">-</div><div class="punit">probe offline</div></div></div><div class="gsub">Live metrics are unavailable because the dashboard probe could not reach the server.</div><div class="gtag">Unavailable</div></div><div class="gauge warn"><div class="ghead">Disk</div><div class="ring" style="--pct: 0"><div class="center"><div class="pct">-</div><div class="punit">probe offline</div></div></div><div class="gsub">Live metrics are unavailable because the dashboard probe could not reach the server.</div><div class="gtag">Unavailable</div></div></div><div class="section" @show="!currentData()" x-cloak><h2>Vital signs</h2><div class="host-vitals vitals"><div class="vital"><div class="vlabel">Load averages</div><div class="vval">Unavailable</div><div class="vnote">1, 5, and 15 minutes</div></div><div class="vital"><div class="vlabel">Memory available</div><div class="vval">Unavailable </div><div class="vnote">Live metrics are unavailable because the dashboard probe could not reach the server.</div></div><div class="vital"><div class="vlabel">Swap</div><div class="vval">Unavailable</div><div class="vnote">Live metrics are unavailable because the dashboard probe could not reach the server.</div></div><div class="vital"><div class="vlabel">Disk inodes</div><div class="vval">Unavailable</div><div class="vnote">Filesystem entry capacity</div></div><div class="vital"><div class="vlabel">Network in</div><div class="vval">Unavailable</div><div class="vnote">Live metrics are unavailable because the dashboard probe could not reach the server.</div></div><div class="vital"><div class="vlabel">Network out</div><div class="vval">Unavailable</div><div class="vnote">Live metrics are unavailable because the dashboard probe could not reach the server.</div></div><div class="vital"><div class="vlabel">Bandwidth this month</div><div class="vval">Unavailable</div><div class="vnote">Live metrics are unavailable because the dashboard probe could not reach the server.</div></div><div class="vital"><div class="vlabel">Processes</div><div class="vval">Unavailable</div><div class="vnote">Current process count</div></div><div class="vital"><div class="vlabel">Disk free</div><div class="vval">Unavailable </div><div class="vnote">Live metrics are unavailable because the dashboard probe could not reach the server.</div></div></div></div><div class="section" @show="!currentData()" x-cloak><h2>Current resource shape</h2><div class="chart-panel panel"><svg class="chart disabled resource-chart" viewBox="0 0 640 210" role="img" aria-label="Server metrics unavailable"><rect x="1" y="1" width="638" height="208" rx="14" class="chart-shell"></rect><text x="320" y="97" text-anchor="middle" class="chart-empty-title">Metrics unavailable</text><text x="320" y="121" text-anchor="middle" class="chart-empty-sub">The dashboard could not reach the server probe.</text></svg></div></div><div class="section"><div class="history-heading"><div><h2>Historical performance</h2><p>Persisted independently of browser sessions. Gaps remain visible as missing samples.</p></div><div class="segmented" role="group" aria-label="Historical metric range" x-cloak><template :for="value in ['1h','6h','24h','7d','30d']"><button type="button" :class="{active:historyRange()===value}" @click="setRange(value)" x-cloak>{{ value }}</button></template></div></div><p class="bad notice" role="status" @show="!!historyError() || !!pollingError()" x-cloak>{{ historyError() || pollingError() }}</p><div class="history-grid" x-cloak><template :for="card in historyCards"><article class="history-card panel" :class="card.tone" x-cloak><div class="history-card-head" x-cloak><div x-cloak><h3 x-cloak>{{ card.label }}</h3><p x-cloak>{{ card.note }}</p></div><strong x-cloak>{{ display(latest(card.key), card.suffix ?? '%') }}</strong></div><svg viewBox="0 0 100 46" preserveAspectRatio="none" role="img" :aria-label="card.label + ' history'"><line x1="0" x2="100" y1="23" y2="23" class="history-gridline"></line><path :d="areaPath(card.key)" class="history-area"></path><path :d="linePath(card.key)" class="history-line"></path></svg><div class="history-meta" x-cloak><span x-cloak>{{ samples(card.key) }} samples</span><span x-cloak>peak {{ display(peak(card.key), card.suffix ?? '%') }}</span></div><div class="compact empty" @show="samples(card.key) === 0" x-cloak><strong>Collecting history</strong><span>The first persisted point appears within one minute.</span></div></article></template></div><div class="egress-panel panel" :class="egressTone()" @show="hasEgress()" x-cloak><div class="egress-head"><div><h3>Object storage egress</h3><p>Reported by the applications that serve the downloads — these bytes never cross this host's network interface.</p></div><strong x-cloak>{{ egressSummary() }}</strong></div><div class="egress-track" @show="!!egressBudget()" x-cloak><i :style="'width:' + Math.min(100, egressPercent() ?? 0) + '%'"></i></div><p class="bad notice" role="status" @show="egressWillExceed()" x-cloak> Projected to exceed the monthly allowance — {{ bytesLabel(egressProjected()) }} against {{ bytesLabel(egressBudget()) }}. </p><svg viewBox="0 0 100 46" preserveAspectRatio="none" role="img" aria-label="Daily object storage egress"><line x1="0" x2="100" y1="23" y2="23" class="history-gridline"></line><path :d="areaPath('egress-daily')" class="history-area"></path><path :d="linePath('egress-daily')" class="history-line"></path></svg><div class="history-meta" x-cloak><span x-cloak>{{ samples('egress-daily') }} days</span><span x-cloak>peak {{ display(peak('egress-daily'), 'bytes') }}</span></div></div><p class="note">Retention, source freshness, comparisons, logs, and exports are available in <a href="/operations/observability">Observability</a>.</p></div></div><style> .egress-panel { margin-top:18px; padding:18px; } .egress-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; } .egress-head h3 { margin:0; font-size:14px; } .egress-head p { margin:4px 0 0; color:var(--txt3); font-size:11px; max-width:52ch; } .egress-head strong { color:var(--txt); font-size:13px; white-space:nowrap; } .egress-track { height:7px; margin:14px 0 4px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.07); } .egress-track > i { display:block; height:100%; border-radius:999px; background:var(--ok); } .egress-panel.warn .egress-track > i { background:var(--warn); } .egress-panel.bad .egress-track > i { background:var(--bad); } .egress-panel svg { width:100%; height:88px; margin-top:10px; } .host-vitals { grid-template-columns: repeat(4, minmax(0, 1fr)); } .live-gauges { grid-template-columns: repeat(4, minmax(0, 1fr)); } .live-bars { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; } .live-bar > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12px; } .live-bar strong { color:var(--txt); } .live-bar small { display:block; margin-top:7px; color:var(--txt3); font-size:11px; } .live-bar-track { height:7px; margin-top:8px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.07); } .live-bar-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--accent),#22d3ee); transition:width .35s ease; } .history-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:14px; } .history-heading h2 { font-size:15px; } .history-heading p { margin-top:5px; color:var(--txt3); font-size:12px; } .history-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } .history-card { --series:var(--accent); position:relative; overflow:hidden; min-height:244px; } .history-card.green { --series:var(--ok); } .history-card.amber { --series:var(--warn); } .history-card.violet { --series:#a78bfa; } .history-card.cyan { --series:#22d3ee; } .history-card.rose { --series:#fb7185; } .history-card-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; } .history-card-head h3 { color:var(--txt); font-size:13px; text-transform:none; letter-spacing:0; } .history-card-head p { color:var(--txt3); font-size:11px; line-height:1.45; margin-top:4px; max-width:44ch; } .history-card-head strong { color:var(--series); font-size:22px; white-space:nowrap; } .history-card svg { width:100%; height:126px; margin-top:14px; overflow:visible; } .history-gridline { stroke:rgba(255,255,255,.07); stroke-width:.35; stroke-dasharray:2 3; vector-effect:non-scaling-stroke; } .history-area { fill:color-mix(in srgb,var(--series) 16%,transparent); } .history-line { fill:none; stroke:var(--series); stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; } .history-meta { display:flex; justify-content:space-between; color:var(--txt3); font-size:11px; } .history-card .empty { position:absolute; inset:86px 18px 38px; min-height:0; background:rgba(12,16,23,.92); } @media(max-width:900px){.host-vitals,.history-grid,.live-gauges{grid-template-columns:repeat(2,minmax(0,1fr));}.history-heading{align-items:flex-start;flex-direction:column;}} @media(max-width:560px){.host-vitals,.history-grid,.live-gauges,.live-bars{grid-template-columns:1fr}.history-heading .segmented{overflow-x:auto}.history-heading .segmented button{min-width:48px}} @media(prefers-reduced-motion:reduce){.health-hero .status .led{animation:none}.gauge{transition:none}} </style></body></html>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en" data-theme="dark"><head><meta charset="UTF-8"><meta name="stx-build" content="
|
|
1
|
+
<!DOCTYPE html><html lang="en" data-theme="dark"><head><meta charset="UTF-8"><meta name="stx-build" content="mt7lgvq3gjbx1h"><meta name="title" content="stx Project"><meta name="description" content="A website built with stx templating engine"><meta property="og:title" content="stx Project"><meta property="og:description" content="A website built with stx templating engine"><meta property="og:type" content="website"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="stx Project"><meta name="twitter:description" content="A website built with stx templating engine"> <script data-stx-runtime src="/_stx/runtime.c696d17a.js"></script> <meta name="viewport" content="width=device-width, initial-scale=1.0"><title>ts-cloud - Security</title><link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect x='3' y='3' width='26' height='26' rx='8' fill='%235a8be0'/%3E%3C/svg%3E"><link rel="preconnect" href="https://fonts.googleapis.com"><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet"><link rel="stylesheet" href="/_stx/style.448ab192.css"><style data-stx-cloak>[x-cloak]{display:none !important}</style><link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.b7a99a5c.css"></head><body data-stx-auto><a data-stx-scope="stx_scope_nav_21" class="skip-link" href="#main-content">Skip to content</a><button class="nav-toggle-button" type="button" aria-label="Open navigation" aria-controls="primary-navigation" aria-expanded="false"><span></span><span></span><span></span></button><button class="nav-scrim" type="button" aria-label="Close navigation"></button><aside class="app-sidebar" id="primary-navigation" aria-label="Primary navigation"><a class="brand" href="/?env=production"><span class="dot"></span><span>ts-cloud</span></a><div class="sidebar-context"><span class="context-label">Project</span><strong>stacks-production-app</strong></div><div class="environment-picker" aria-label="Environment"><span class="context-label">Environment</span><details><summary class="environment-current production"><span>PROD</span><strong>production</strong></summary></details></div><button class="command-trigger" type="button" aria-keyshortcuts="Meta+K Control+K"><span>Search resources</span><kbd>⌘ K</kbd></button><div class="nav-groups"><section class="nav-group"><h2>Overview</h2><a class="active" href="/?env=production">Dashboard</a><a href="/server/activity?env=production">Activity</a></section><section class="nav-group"><h2>Applications</h2><a class="" href="/server/sites?env=production">Services</a><a class="" href="/server/deployments?env=production">Deployments</a><a class="" href="/server/logs?env=production">Logs</a><a class="" href="/integrations?env=production">Git integrations</a><a class="" href="/applications/new?env=production">Create application</a><a class="" href="/applications/compose?env=production">Compose applications</a></section><section class="nav-group"><h2>Operations</h2><a class="" href="/operations/queue?env=production">Deployment queue</a><a class="" href="/operations/previews?env=production">Preview environments</a><a class="" href="/operations/releases?env=production">Releases & promotion</a><a class="" href="/operations/regions?env=production">Regions & failover</a><a class="" href="/operations/maintenance?env=production">Maintenance & DR</a><a class="" href="/operations/workloads?env=production">Workloads</a><a class="" href="/operations/observability?env=production">Observability</a><a class="" href="/operations/alerts?env=production">Alerts & health</a><a class="" href="/operations/spend?env=production">Spend & budgets</a><a href="/server/metrics?env=production">Metrics</a><a href="/server/services?env=production">Runtime services</a><a class="" href="/operations/jobs?env=production">Workers & schedules</a><a class="" href="/operations/configuration?env=production">Environment & secrets</a><a class="" href="/data/backups?env=production">Backups & recovery</a><a class="" href="/data/volumes?env=production">Persistent volumes</a><a href="/server/actions?env=production">Run operations</a></section><section class="nav-group"><h2>Infrastructure</h2><a class="" href="/infrastructure/topology?env=production">Infrastructure map</a><a class="" href="/data/services?env=production">Data services</a><a class="" href="/data/volumes?env=production">Persistent volumes</a><a href="/server/firewall?env=production">Network & firewall</a><a href="/server/ssh-keys?env=production">SSH keys</a><a class="" href="/server/fleet?env=production">Fleet inventory</a><a class="" href="/server/capacity?env=production">Capacity & placement</a><a href="/security?env=production">Security posture</a><a href="/server/terminal?env=production">Terminal</a></section><section class="nav-group"><h2>Organization</h2><a class="" href="/server/team?env=production">People & access</a><a class="" href="/account/automation?env=production">API & automation</a></section><section class="nav-group"><h2>Account</h2><a class="" href="/account/security?env=production">Sign-in & security</a></section></div><form method="post" action="/api/logout" class="signout"><button type="submit">Sign out</button></form></aside><dialog class="command-palette" aria-labelledby="command-title"><div class="command-search"><span aria-hidden="true">⌕</span><input type="search" placeholder="Search services, domains, deployments…" aria-label="Search resources" autocomplete="off"><button type="button" class="command-close" aria-label="Close search">Esc</button></div><h2 id="command-title" class="sr-only">Search resources and navigation</h2><div class="command-status" role="status">Start typing to search this project.</div><section class="saved-views" aria-labelledby="saved-views-title"><div class="saved-views-heading"><h3 id="saved-views-title">Saved views</h3><form class="save-view-form"><label class="sr-only" for="save-view-name">Saved view name</label><input id="save-view-name" maxlength="64" placeholder="Name this view" autocomplete="off"><button type="submit">Save current filters</button></form></div><div class="saved-view-list"></div></section><form class="tag-result-form"><label for="tag-result-name">Tag selected resource</label><input id="tag-result-name" maxlength="32" placeholder="customer-facing" pattern="[A-Za-z0-9][A-Za-z0-9 -]{0,31}" autocomplete="off"><input class="tag-color" type="color" value="#5a8be0" aria-label="Tag color"><button type="submit">Add tag</button></form><div class="command-results" role="listbox" aria-label="Search results"></div><footer><span>↑ ↓ navigate</span><span>Enter open</span><span>Esc close</span></footer></dialog><div class="context-bar" aria-label="Current scope"><div class="context-path"><div class="context-breadcrumb"><span>stacks-production-app</span><i>/</i><strong>production</strong></div><div class="context-filters" aria-label="Active filters"></div></div><span class="scope-safety production">Production scope</span></div> <script data-stx-scoped data-stx-run="always">
|
|
2
2
|
(function() {
|
|
3
3
|
var { batch, computed, configureFetch, defineEmits, defineExpose, definePageMeta, defineProps, defineSlots, defineStore, derived, effect, goBack, goForward, inject, invalidateRoute, isDerived, isSignal, navigate, nextTick, onBeforeMount, onBeforeUnmount, onDestroy, onMount, onMounted, onUnmounted, peek, provide, reactive, ref, refresh, registerStoresClient, setRouteParams, state, untrack, useAsync, useClickOutside, useColorMode, useCookie, useCounter, useDark, useDebounce, useDebouncedValue, useEventListener, useFetch, useFocus, useHead, useId, useInterval, useLocalStorage, useMediaQuery, useMutation, useOptimistic, usePreferredContrast, usePreferredDark, usePreferredLight, usePreferredReducedMotion, useQuery, useReactiveProp, useRef, useRoute, useRouteParam, useRouteParams, useScrollLock, useSearchParams, useSeoMeta, useSessionStorage, useSlots, useStore, useThrottle, useTimeout, useToggle, useWebSocket, watch, watchEffect, watchMultiple, withDefaults } = window.stx;
|
|
4
4
|
var __destroyHooks = [];
|
|
@@ -12,19 +12,19 @@ window.stx.mount(function() {
|
|
|
12
12
|
+ 'or it should be imported from a relative path so the bundler includes it.'
|
|
13
13
|
);
|
|
14
14
|
});
|
|
15
|
-
var askOp = undefined;
|
|
16
|
-
var busy = undefined;
|
|
17
|
-
var canRun = undefined;
|
|
18
|
-
var cancelOp = undefined;
|
|
19
|
-
var confirmDanger = undefined;
|
|
20
|
-
var confirmLabel = undefined;
|
|
21
|
-
var confirmTok = undefined;
|
|
22
|
-
var confirmVerb = undefined;
|
|
23
|
-
var opOutput = undefined;
|
|
24
|
-
var opShown = undefined;
|
|
25
|
-
var pending = undefined;
|
|
26
|
-
var runOp = undefined;
|
|
27
15
|
var typed = undefined;
|
|
16
|
+
var runOp = undefined;
|
|
17
|
+
var pending = undefined;
|
|
18
|
+
var opShown = undefined;
|
|
19
|
+
var opOutput = undefined;
|
|
20
|
+
var confirmVerb = undefined;
|
|
21
|
+
var confirmTok = undefined;
|
|
22
|
+
var confirmLabel = undefined;
|
|
23
|
+
var confirmDanger = undefined;
|
|
24
|
+
var cancelOp = undefined;
|
|
25
|
+
var canRun = undefined;
|
|
26
|
+
var busy = undefined;
|
|
27
|
+
var askOp = undefined;
|
|
28
28
|
var __stxBundle_2e57d54e6472 = (function() {
|
|
29
29
|
|
|
30
30
|
var DANGEROUS_OPERATION = /(?:^|:)(?:delete|disable|destroy|purge|remove|restore|rollback|stop)(?::|$)/i;
|
|
@@ -103,24 +103,24 @@ var { opOutput, opShown, pending, typed, busy, confirmTok, confirmVerb, confirmD
|
|
|
103
103
|
` + body.stderr : "") + (body.error ? `
|
|
104
104
|
` + body.error : "");
|
|
105
105
|
});
|
|
106
|
-
return { "
|
|
106
|
+
return { "typed": typed, "runOp": runOp, "pending": pending, "opShown": opShown, "opOutput": opOutput, "confirmVerb": confirmVerb, "confirmTok": confirmTok, "confirmLabel": confirmLabel, "confirmDanger": confirmDanger, "cancelOp": cancelOp, "canRun": canRun, "busy": busy, "askOp": askOp };
|
|
107
107
|
})();
|
|
108
|
-
askOp = __stxBundle_2e57d54e6472["askOp"];
|
|
109
|
-
busy = __stxBundle_2e57d54e6472["busy"];
|
|
110
|
-
canRun = __stxBundle_2e57d54e6472["canRun"];
|
|
111
|
-
cancelOp = __stxBundle_2e57d54e6472["cancelOp"];
|
|
112
|
-
confirmDanger = __stxBundle_2e57d54e6472["confirmDanger"];
|
|
113
|
-
confirmLabel = __stxBundle_2e57d54e6472["confirmLabel"];
|
|
114
|
-
confirmTok = __stxBundle_2e57d54e6472["confirmTok"];
|
|
115
|
-
confirmVerb = __stxBundle_2e57d54e6472["confirmVerb"];
|
|
116
|
-
opOutput = __stxBundle_2e57d54e6472["opOutput"];
|
|
117
|
-
opShown = __stxBundle_2e57d54e6472["opShown"];
|
|
118
|
-
pending = __stxBundle_2e57d54e6472["pending"];
|
|
119
|
-
runOp = __stxBundle_2e57d54e6472["runOp"];
|
|
120
108
|
typed = __stxBundle_2e57d54e6472["typed"];
|
|
109
|
+
runOp = __stxBundle_2e57d54e6472["runOp"];
|
|
110
|
+
pending = __stxBundle_2e57d54e6472["pending"];
|
|
111
|
+
opShown = __stxBundle_2e57d54e6472["opShown"];
|
|
112
|
+
opOutput = __stxBundle_2e57d54e6472["opOutput"];
|
|
113
|
+
confirmVerb = __stxBundle_2e57d54e6472["confirmVerb"];
|
|
114
|
+
confirmTok = __stxBundle_2e57d54e6472["confirmTok"];
|
|
115
|
+
confirmLabel = __stxBundle_2e57d54e6472["confirmLabel"];
|
|
116
|
+
confirmDanger = __stxBundle_2e57d54e6472["confirmDanger"];
|
|
117
|
+
cancelOp = __stxBundle_2e57d54e6472["cancelOp"];
|
|
118
|
+
canRun = __stxBundle_2e57d54e6472["canRun"];
|
|
119
|
+
busy = __stxBundle_2e57d54e6472["busy"];
|
|
120
|
+
askOp = __stxBundle_2e57d54e6472["askOp"];
|
|
121
121
|
|
|
122
122
|
return { opOutput, opShown, pending, typed, busy, confirmTok, confirmVerb, confirmDanger, confirmLabel, canRun, askOp, cancelOp, runOp };
|
|
123
|
-
})</script> <!DOCTYPE html><html lang="en" data-theme="dark"><head><meta charset="UTF-8"><meta name="stx-build" content="
|
|
123
|
+
})</script> <!DOCTYPE html><html lang="en" data-theme="dark"><head><meta charset="UTF-8"><meta name="stx-build" content="mt7lgvq3gjbx1h"><meta name="title" content="stx Project"><meta name="description" content="A website built with stx templating engine"><meta property="og:title" content="stx Project"><meta property="og:description" content="A website built with stx templating engine"><meta property="og:type" content="website"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="stx Project"><meta name="twitter:description" content="A website built with stx templating engine"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>ts-cloud - Services</title><link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect x='3' y='3' width='26' height='26' rx='8' fill='%235a8be0'/%3E%3C/svg%3E"><link rel="preconnect" href="https://fonts.googleapis.com"><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet"><link rel="stylesheet" href="/_stx/style.448ab192.css"><style data-stx-cloak>[x-cloak]{display:none !important}</style><link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.906ee17c.css"></head><body data-stx-auto><a data-stx-scope="stx_scope_nav_31" class="skip-link" href="#main-content">Skip to content</a><button class="nav-toggle-button" type="button" aria-label="Open navigation" aria-controls="primary-navigation" aria-expanded="false"><span></span><span></span><span></span></button><button class="nav-scrim" type="button" aria-label="Close navigation"></button><aside class="app-sidebar" id="primary-navigation" aria-label="Primary navigation"><a class="brand" href="/?env=production"><span class="dot"></span><span>ts-cloud</span></a><div class="sidebar-context"><span class="context-label">Project</span><strong>acme-production-app</strong></div><div class="environment-picker" aria-label="Environment"><span class="context-label">Environment</span><details><summary class="environment-current production"><span>PROD</span><strong>production</strong></summary></details></div><button class="command-trigger" type="button" aria-keyshortcuts="Meta+K Control+K"><span>Search resources</span><kbd>⌘ K</kbd></button><div class="nav-groups"><section class="nav-group"><h2>Overview</h2><a class="active" href="/?env=production">Dashboard</a><a href="/server/activity?env=production">Activity</a></section><section class="nav-group"><h2>Applications</h2><a class="" href="/server/sites?env=production">Services</a><a class="" href="/server/deployments?env=production">Deployments</a><a class="" href="/server/logs?env=production">Logs</a><a class="" href="/integrations?env=production">Git integrations</a><a class="" href="/applications/new?env=production">Create application</a><a class="" href="/applications/compose?env=production">Compose applications</a></section><section class="nav-group"><h2>Operations</h2><a class="" href="/operations/queue?env=production">Deployment queue</a><a class="" href="/operations/previews?env=production">Preview environments</a><a class="" href="/operations/releases?env=production">Releases & promotion</a><a class="" href="/operations/regions?env=production">Regions & failover</a><a class="" href="/operations/maintenance?env=production">Maintenance & DR</a><a class="" href="/operations/workloads?env=production">Workloads</a><a class="" href="/operations/observability?env=production">Observability</a><a class="" href="/operations/alerts?env=production">Alerts & health</a><a class="" href="/operations/spend?env=production">Spend & budgets</a><a href="/server/metrics?env=production">Metrics</a><a href="/server/services?env=production">Runtime services</a><a class="" href="/operations/jobs?env=production">Workers & schedules</a><a class="" href="/operations/configuration?env=production">Environment & secrets</a><a class="" href="/data/backups?env=production">Backups & recovery</a><a class="" href="/data/volumes?env=production">Persistent volumes</a><a href="/server/actions?env=production">Run operations</a></section><section class="nav-group"><h2>Infrastructure</h2><a class="" href="/infrastructure/topology?env=production">Infrastructure map</a><a class="" href="/data/services?env=production">Data services</a><a class="" href="/data/volumes?env=production">Persistent volumes</a><a href="/server/firewall?env=production">Network & firewall</a><a href="/server/ssh-keys?env=production">SSH keys</a><a class="" href="/server/fleet?env=production">Fleet inventory</a><a class="" href="/server/capacity?env=production">Capacity & placement</a><a href="/security?env=production">Security posture</a><a href="/server/terminal?env=production">Terminal</a></section><section class="nav-group"><h2>Organization</h2><a class="" href="/server/team?env=production">People & access</a><a class="" href="/account/automation?env=production">API & automation</a></section><section class="nav-group"><h2>Account</h2><a class="" href="/account/security?env=production">Sign-in & security</a></section></div><form method="post" action="/api/logout" class="signout"><button type="submit">Sign out</button></form></aside><dialog class="command-palette" aria-labelledby="command-title"><div class="command-search"><span aria-hidden="true">⌕</span><input type="search" placeholder="Search services, domains, deployments…" aria-label="Search resources" autocomplete="off"><button type="button" class="command-close" aria-label="Close search">Esc</button></div><h2 id="command-title" class="sr-only">Search resources and navigation</h2><div class="command-status" role="status">Start typing to search this project.</div><section class="saved-views" aria-labelledby="saved-views-title"><div class="saved-views-heading"><h3 id="saved-views-title">Saved views</h3><form class="save-view-form"><label class="sr-only" for="save-view-name">Saved view name</label><input id="save-view-name" maxlength="64" placeholder="Name this view" autocomplete="off"><button type="submit">Save current filters</button></form></div><div class="saved-view-list"></div></section><form class="tag-result-form"><label for="tag-result-name">Tag selected resource</label><input id="tag-result-name" maxlength="32" placeholder="customer-facing" pattern="[A-Za-z0-9][A-Za-z0-9 -]{0,31}" autocomplete="off"><input class="tag-color" type="color" value="#5a8be0" aria-label="Tag color"><button type="submit">Add tag</button></form><div class="command-results" role="listbox" aria-label="Search results"></div><footer><span>↑ ↓ navigate</span><span>Enter open</span><span>Esc close</span></footer></dialog><div class="context-bar" aria-label="Current scope"><div class="context-path"><div class="context-breadcrumb"><span>acme-production-app</span><i>/</i><strong>production</strong></div><div class="context-filters" aria-label="Active filters"></div></div><span class="scope-safety production">Production scope</span></div> <script data-stx-scoped data-stx-run="always">
|
|
124
124
|
(function() {
|
|
125
125
|
var { batch, computed, configureFetch, defineEmits, defineExpose, definePageMeta, defineProps, defineSlots, defineStore, derived, effect, goBack, goForward, inject, invalidateRoute, isDerived, isSignal, navigate, nextTick, onBeforeMount, onBeforeUnmount, onDestroy, onMount, onMounted, onUnmounted, peek, provide, reactive, ref, refresh, registerStoresClient, setRouteParams, state, untrack, useAsync, useClickOutside, useColorMode, useCookie, useCounter, useDark, useDebounce, useDebouncedValue, useEventListener, useFetch, useFocus, useHead, useId, useInterval, useLocalStorage, useMediaQuery, useMutation, useOptimistic, usePreferredContrast, usePreferredDark, usePreferredLight, usePreferredReducedMotion, useQuery, useReactiveProp, useRef, useRoute, useRouteParam, useRouteParams, useScrollLock, useSearchParams, useSeoMeta, useSessionStorage, useSlots, useStore, useThrottle, useTimeout, useToggle, useWebSocket, watch, watchEffect, watchMultiple, withDefaults } = window.stx;
|
|
126
126
|
var __destroyHooks = [];
|