@gravito/launchpad 1.2.1 → 1.3.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/CHANGELOG.md +55 -0
- package/README.md +51 -43
- package/README.zh-TW.md +110 -0
- package/dist/index.d.mts +324 -7
- package/dist/index.d.ts +324 -7
- package/dist/index.js +407 -29
- package/dist/index.mjs +395 -29
- package/package.json +7 -5
- package/scripts/check-coverage.ts +64 -0
- package/src/Application/MissionQueue.ts +143 -0
- package/src/Application/PoolManager.ts +170 -18
- package/src/Application/RefurbishUnit.ts +24 -12
- package/src/Domain/Events.ts +46 -0
- package/src/Domain/Interfaces.ts +82 -0
- package/src/Domain/Rocket.ts +18 -0
- package/src/Infrastructure/Docker/DockerAdapter.ts +80 -3
- package/src/Infrastructure/Git/ShellGitAdapter.ts +1 -1
- package/src/index.ts +3 -0
- package/tests/Deployment.test.ts +3 -1
- package/tests/pool-manager.test.ts +3 -1
- package/tests/resource-limits.test.ts +241 -0
- package/tsconfig.json +14 -26
- package/.turbo/turbo-build.log +0 -18
- package/.turbo/turbo-test$colon$coverage.log +0 -183
- package/.turbo/turbo-test.log +0 -100
- package/.turbo/turbo-typecheck.log +0 -1
package/.turbo/turbo-test.log
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
[0m[2m[35m$[0m [2m[1mbun test[0m
|
|
3
|
-
[0m[1mbun test [0m[2mv1.3.4 (5eb2145b)[0m
|
|
4
|
-
[0m
|
|
5
|
-
tests/mission.test.ts:
|
|
6
|
-
[0m[32m✓[0m [0mMission[2m >[0m[1m exposes mission properties[0m [0m[2m[0.45ms[0m[2m][0m
|
|
7
|
-
[0m
|
|
8
|
-
tests/Telemetry.test.ts:
|
|
9
|
-
[MissionControl] 準備發射任務: pr-1
|
|
10
|
-
[MissionControl] 任務 pr-1 映射端口: 3000
|
|
11
|
-
[0m[32m✓[0m [0mMissionControl Telemetry[2m >[0m[1m 發射時應該能正確啟動日誌串流與效能監控[0m [0m[2m[1.84ms[0m[2m][0m
|
|
12
|
-
[0m
|
|
13
|
-
tests/mission-control.test.ts:
|
|
14
|
-
[MissionControl] 準備發射任務: mission-telemetry
|
|
15
|
-
[MissionControl] 任務 mission-telemetry 映射端口: 3000
|
|
16
|
-
[MissionControl] 任務 mission-telemetry TTL 已到期,執行自動回收...
|
|
17
|
-
[0m[32m✓[0m [0mMissionControl timers[2m >[0m[1m emits stats and schedules recycle[0m [0m[2m[0.92ms[0m[2m][0m
|
|
18
|
-
[0m
|
|
19
|
-
tests/pool-manager.test.ts:
|
|
20
|
-
[LaunchPad] 正在熱機,準備發射 2 架新火箭...
|
|
21
|
-
[0m[32m✓[0m [0mPoolManager[2m >[0m[1m warms up the pool with base containers[0m [0m[2m[0.62ms[0m[2m][0m
|
|
22
|
-
[LaunchPad] 正在熱機,準備發射 1 架新火箭...
|
|
23
|
-
[LaunchPad] 資源吃緊,正在緊急呼叫後援火箭...
|
|
24
|
-
[0m[32m✓[0m [0mPoolManager[2m >[0m[1m assigns missions to idle rockets or creates new ones[0m [0m[2m[1.08ms[0m[2m][0m
|
|
25
|
-
[LaunchPad] 正在熱機,準備發射 1 架新火箭...
|
|
26
|
-
[0m[32m✓[0m [0mPoolManager[2m >[0m[1m recycles rockets through refurbish flow[0m [0m[2m[0.34ms[0m[2m][0m
|
|
27
|
-
[0m
|
|
28
|
-
tests/enterprise-coverage.test.ts:
|
|
29
|
-
[0m[32m✓[0m [0mLaunchpad enterprise coverage[2m >[0m[1m covers core enterprise primitives[0m [0m[2m[0.20ms[0m[2m][0m
|
|
30
|
-
[0m
|
|
31
|
-
tests/repository.test.ts:
|
|
32
|
-
[0m[32m✓[0m [0mInMemoryRocketRepository[2m >[0m[1m stores and retrieves rockets[0m [0m[2m[0.11ms[0m[2m][0m
|
|
33
|
-
[0m[32m✓[0m [0mInMemoryRocketRepository[2m >[0m[1m finds idle rockets[0m [0m[2m[0.10ms[0m[2m][0m
|
|
34
|
-
[0m
|
|
35
|
-
tests/Rocket.test.ts:
|
|
36
|
-
[0m[32m✓[0m [0mRocket[2m >[0m[1m transitions through mission lifecycle and emits events[0m [0m[2m[0.25ms[0m[2m][0m
|
|
37
|
-
[0m[32m✓[0m [0mRocket[2m >[0m[1m guards invalid transitions[0m [0m[2m[0.12ms[0m[2m][0m
|
|
38
|
-
[0m[32m✓[0m [0mRocket[2m >[0m[1m assigns domain and serializes/deserializes[0m [0m[2m[0.04ms[0m[2m][0m
|
|
39
|
-
[0m[32m✓[0m [0mRocket[2m >[0m[1m rejects assigning mission when not idle[0m [0m[2m[0.12ms[0m[2m][0m
|
|
40
|
-
[0m
|
|
41
|
-
tests/Refurbishment.test.ts:
|
|
42
|
-
[RefurbishUnit] 正在翻新火箭: r1 (容器: c1)
|
|
43
|
-
[RefurbishUnit] 火箭 r1 翻新完成,已進入 IDLE 狀態。
|
|
44
|
-
[0m[32m✓[0m [0mRefurbishUnit (Rocket Recovery)[2m >[0m[1m 應該能執行深度清理並將火箭重置為 IDLE[0m [0m[2m[0.66ms[0m[2m][0m
|
|
45
|
-
[RefurbishUnit] 正在翻新火箭: r2 (容器: c2)
|
|
46
|
-
[0m[31m[RefurbishUnit] 清理失敗: Disk Full[0m
|
|
47
|
-
[0m[32m✓[0m [0mRefurbishUnit (Rocket Recovery)[2m >[0m[1m 如果清理失敗應該將火箭除役[0m [0m[2m[0.18ms[0m[2m][0m
|
|
48
|
-
[0m
|
|
49
|
-
tests/payload-injector.test.ts:
|
|
50
|
-
[0m[32m✓[0m [0mPayloadInjector[2m >[0m[1m throws when rocket has no mission[0m [0m[2m[0.51ms[0m[2m][0m
|
|
51
|
-
[PayloadInjector] 正在拉取代碼: https://example.com/repo.git (main)
|
|
52
|
-
[PayloadInjector] 正在注入載荷至容器: container-10
|
|
53
|
-
[PayloadInjector] 正在安裝依賴...
|
|
54
|
-
[PayloadInjector] 點火!
|
|
55
|
-
[0m[32m✓[0m [0mPayloadInjector[2m >[0m[1m deploys payload and ignites rocket[0m [0m[2m[0.28ms[0m[2m][0m
|
|
56
|
-
[PayloadInjector] 正在拉取代碼: https://example.com/repo.git (main)
|
|
57
|
-
[PayloadInjector] 正在注入載荷至容器: container-11
|
|
58
|
-
[PayloadInjector] 正在安裝依賴...
|
|
59
|
-
[0m[32m✓[0m [0mPayloadInjector[2m >[0m[1m throws when install fails[0m [0m[2m[0.14ms[0m[2m][0m
|
|
60
|
-
[PayloadInjector] 正在拉取代碼: https://example.com/repo.git (main)
|
|
61
|
-
[PayloadInjector] 正在注入載荷至容器: container-12
|
|
62
|
-
[PayloadInjector] 正在安裝依賴...
|
|
63
|
-
[PayloadInjector] 點火!
|
|
64
|
-
[0m[32m✓[0m [0mPayloadInjector[2m >[0m[1m logs when run command fails but still ignites[0m [0m[2m[1.62ms[0m[2m][0m
|
|
65
|
-
[0m
|
|
66
|
-
tests/docker-adapter.test.ts:
|
|
67
|
-
[0m[32m✓[0m [0mDockerAdapter[2m >[0m[1m creates base container when stdout has container id[0m [0m[2m[9.55ms[0m[2m][0m
|
|
68
|
-
[0m[32m✓[0m [0mDockerAdapter[2m >[0m[1m returns container id even when exit code is zero but id is invalid[0m [0m[2m[0.19ms[0m[2m][0m
|
|
69
|
-
[0m[32m✓[0m [0mDockerAdapter[2m >[0m[1m throws when container creation fails[0m [0m[2m[0.09ms[0m[2m][0m
|
|
70
|
-
[0m[32m✓[0m [0mDockerAdapter[2m >[0m[1m getExposedPort parses the first line[0m [0m[2m[1.81ms[0m[2m][0m
|
|
71
|
-
[0m[32m✓[0m [0mDockerAdapter[2m >[0m[1m getExposedPort throws on empty output[0m [0m[2m[3.29ms[0m[2m][0m
|
|
72
|
-
[0m[32m✓[0m [0mDockerAdapter[2m >[0m[1m getExposedPort throws on invalid output[0m [0m[2m[1.47ms[0m[2m][0m
|
|
73
|
-
[0m[32m✓[0m [0mDockerAdapter[2m >[0m[1m copyFiles throws on non-zero exit code[0m [0m[2m[0.33ms[0m[2m][0m
|
|
74
|
-
[0m[32m✓[0m [0mDockerAdapter[2m >[0m[1m removeContainerByLabel removes containers when ids exist[0m [0m[2m[0.22ms[0m[2m][0m
|
|
75
|
-
[0m[32m✓[0m [0mDockerAdapter[2m >[0m[1m executeCommand returns stdout and stderr[0m [0m[2m[0.12ms[0m[2m][0m
|
|
76
|
-
[0m[32m✓[0m [0mDockerAdapter[2m >[0m[1m removeContainer executes docker rm[0m [0m[2m[0.09ms[0m[2m][0m
|
|
77
|
-
[0m[32m✓[0m [0mDockerAdapter[2m >[0m[1m getStats parses cpu and memory output[0m [0m[2m[0.13ms[0m[2m][0m
|
|
78
|
-
[0m[32m✓[0m [0mDockerAdapter[2m >[0m[1m streamLogs forwards stdout and stderr[0m [0m[2m[4.70ms[0m[2m][0m
|
|
79
|
-
[0m
|
|
80
|
-
tests/Integration.test.ts:
|
|
81
|
-
[LaunchPad] 正在熱機,準備發射 1 架新火箭...
|
|
82
|
-
[Test] 容器內 Bun 版本: 1.0.36
|
|
83
|
-
[0m[32m✓[0m [0mLaunchPad 集成測試 (真實 Docker)[2m >[0m[1m 應該能成功熱機並在容器內執行指令[0m [0m[2m[[1m1171.83ms[0m[2m][0m
|
|
84
|
-
[0m
|
|
85
|
-
tests/Deployment.test.ts:
|
|
86
|
-
[LaunchPad] 資源吃緊,正在緊急呼叫後援火箭...
|
|
87
|
-
[PayloadInjector] 正在拉取代碼: http://git (dev)
|
|
88
|
-
[PayloadInjector] 正在注入載荷至容器: cid-1
|
|
89
|
-
[PayloadInjector] 正在安裝依賴...
|
|
90
|
-
[PayloadInjector] 點火!
|
|
91
|
-
[0m[32m✓[0m [0mPayload Injection Flow[2m >[0m[1m 應該能從指派任務到成功點火[0m [0m[2m[0.29ms[0m[2m][0m
|
|
92
|
-
[0m
|
|
93
|
-
tests/PoolManager.test.ts:
|
|
94
|
-
[LaunchPad] 正在熱機,準備發射 2 架新火箭...
|
|
95
|
-
[0m[32m✓[0m [0mPoolManager (Application Service)[2m >[0m[1m 應該能正確熱機並指派任務[0m [0m[2m[0.24ms[0m[2m][0m
|
|
96
|
-
|
|
97
|
-
[0m[32m 34 pass[0m
|
|
98
|
-
[0m[2m 0 fail[0m
|
|
99
|
-
99 expect() calls
|
|
100
|
-
Ran 34 tests across 13 files. [0m[2m[[1m1499.00ms[0m[2m][0m
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
$ bun tsc -p tsconfig.json --noEmit --skipLibCheck
|