@cicore/cli 1.0.0

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.
Files changed (337) hide show
  1. package/bin/ci.js +13 -0
  2. package/dist/commands/addon/api-actions.d.ts +45 -0
  3. package/dist/commands/addon/api-actions.d.ts.map +1 -0
  4. package/dist/commands/addon/api-actions.js +281 -0
  5. package/dist/commands/addon/api-actions.js.map +1 -0
  6. package/dist/commands/addon/build.d.ts +11 -0
  7. package/dist/commands/addon/build.d.ts.map +1 -0
  8. package/dist/commands/addon/build.js +182 -0
  9. package/dist/commands/addon/build.js.map +1 -0
  10. package/dist/commands/addon/create.d.ts +11 -0
  11. package/dist/commands/addon/create.d.ts.map +1 -0
  12. package/dist/commands/addon/create.js +1186 -0
  13. package/dist/commands/addon/create.js.map +1 -0
  14. package/dist/commands/addon/delete.d.ts +13 -0
  15. package/dist/commands/addon/delete.d.ts.map +1 -0
  16. package/dist/commands/addon/delete.js +83 -0
  17. package/dist/commands/addon/delete.js.map +1 -0
  18. package/dist/commands/addon/deploy.d.ts +27 -0
  19. package/dist/commands/addon/deploy.d.ts.map +1 -0
  20. package/dist/commands/addon/deploy.js +459 -0
  21. package/dist/commands/addon/deploy.js.map +1 -0
  22. package/dist/commands/addon/dev-deploy.d.ts +31 -0
  23. package/dist/commands/addon/dev-deploy.d.ts.map +1 -0
  24. package/dist/commands/addon/dev-deploy.js +128 -0
  25. package/dist/commands/addon/dev-deploy.js.map +1 -0
  26. package/dist/commands/addon/dev.d.ts +36 -0
  27. package/dist/commands/addon/dev.d.ts.map +1 -0
  28. package/dist/commands/addon/dev.js +323 -0
  29. package/dist/commands/addon/dev.js.map +1 -0
  30. package/dist/commands/addon/extract-classes.d.ts +23 -0
  31. package/dist/commands/addon/extract-classes.d.ts.map +1 -0
  32. package/dist/commands/addon/extract-classes.js +281 -0
  33. package/dist/commands/addon/extract-classes.js.map +1 -0
  34. package/dist/commands/addon/generate-safelist.d.ts +24 -0
  35. package/dist/commands/addon/generate-safelist.d.ts.map +1 -0
  36. package/dist/commands/addon/generate-safelist.js +276 -0
  37. package/dist/commands/addon/generate-safelist.js.map +1 -0
  38. package/dist/commands/addon/index.d.ts +19 -0
  39. package/dist/commands/addon/index.d.ts.map +1 -0
  40. package/dist/commands/addon/index.js +296 -0
  41. package/dist/commands/addon/index.js.map +1 -0
  42. package/dist/commands/addon/init-repo.d.ts +25 -0
  43. package/dist/commands/addon/init-repo.d.ts.map +1 -0
  44. package/dist/commands/addon/init-repo.js +171 -0
  45. package/dist/commands/addon/init-repo.js.map +1 -0
  46. package/dist/commands/addon/install.d.ts +23 -0
  47. package/dist/commands/addon/install.d.ts.map +1 -0
  48. package/dist/commands/addon/install.js +84 -0
  49. package/dist/commands/addon/install.js.map +1 -0
  50. package/dist/commands/addon/list.d.ts +10 -0
  51. package/dist/commands/addon/list.d.ts.map +1 -0
  52. package/dist/commands/addon/list.js +102 -0
  53. package/dist/commands/addon/list.js.map +1 -0
  54. package/dist/commands/addon/manifest-refresh.d.ts +17 -0
  55. package/dist/commands/addon/manifest-refresh.d.ts.map +1 -0
  56. package/dist/commands/addon/manifest-refresh.js +48 -0
  57. package/dist/commands/addon/manifest-refresh.js.map +1 -0
  58. package/dist/commands/addon/migrate.d.ts +40 -0
  59. package/dist/commands/addon/migrate.d.ts.map +1 -0
  60. package/dist/commands/addon/migrate.js +236 -0
  61. package/dist/commands/addon/migrate.js.map +1 -0
  62. package/dist/commands/addon/publish.d.ts +33 -0
  63. package/dist/commands/addon/publish.d.ts.map +1 -0
  64. package/dist/commands/addon/publish.js +236 -0
  65. package/dist/commands/addon/publish.js.map +1 -0
  66. package/dist/commands/addon/scaffold-quality.d.ts +21 -0
  67. package/dist/commands/addon/scaffold-quality.d.ts.map +1 -0
  68. package/dist/commands/addon/scaffold-quality.js +90 -0
  69. package/dist/commands/addon/scaffold-quality.js.map +1 -0
  70. package/dist/commands/addon/sign.d.ts +9 -0
  71. package/dist/commands/addon/sign.d.ts.map +1 -0
  72. package/dist/commands/addon/sign.js +83 -0
  73. package/dist/commands/addon/sign.js.map +1 -0
  74. package/dist/commands/addon/toggle.d.ts +6 -0
  75. package/dist/commands/addon/toggle.d.ts.map +1 -0
  76. package/dist/commands/addon/toggle.js +46 -0
  77. package/dist/commands/addon/toggle.js.map +1 -0
  78. package/dist/commands/agent/index.d.ts +34 -0
  79. package/dist/commands/agent/index.d.ts.map +1 -0
  80. package/dist/commands/agent/index.js +564 -0
  81. package/dist/commands/agent/index.js.map +1 -0
  82. package/dist/commands/brand/index.d.ts +54 -0
  83. package/dist/commands/brand/index.d.ts.map +1 -0
  84. package/dist/commands/brand/index.js +367 -0
  85. package/dist/commands/brand/index.js.map +1 -0
  86. package/dist/commands/build/index.d.ts +53 -0
  87. package/dist/commands/build/index.d.ts.map +1 -0
  88. package/dist/commands/build/index.js +726 -0
  89. package/dist/commands/build/index.js.map +1 -0
  90. package/dist/commands/cache/flush-local.d.ts +31 -0
  91. package/dist/commands/cache/flush-local.d.ts.map +1 -0
  92. package/dist/commands/cache/flush-local.js +161 -0
  93. package/dist/commands/cache/flush-local.js.map +1 -0
  94. package/dist/commands/cache/index.d.ts +14 -0
  95. package/dist/commands/cache/index.d.ts.map +1 -0
  96. package/dist/commands/cache/index.js +453 -0
  97. package/dist/commands/cache/index.js.map +1 -0
  98. package/dist/commands/check/index.d.ts +8 -0
  99. package/dist/commands/check/index.d.ts.map +1 -0
  100. package/dist/commands/check/index.js +1316 -0
  101. package/dist/commands/check/index.js.map +1 -0
  102. package/dist/commands/cloudflare/index.d.ts +8 -0
  103. package/dist/commands/cloudflare/index.d.ts.map +1 -0
  104. package/dist/commands/cloudflare/index.js +453 -0
  105. package/dist/commands/cloudflare/index.js.map +1 -0
  106. package/dist/commands/core/create.d.ts +12 -0
  107. package/dist/commands/core/create.d.ts.map +1 -0
  108. package/dist/commands/core/create.js +206 -0
  109. package/dist/commands/core/create.js.map +1 -0
  110. package/dist/commands/core/delete.d.ts +11 -0
  111. package/dist/commands/core/delete.d.ts.map +1 -0
  112. package/dist/commands/core/delete.js +64 -0
  113. package/dist/commands/core/delete.js.map +1 -0
  114. package/dist/commands/core/env.d.ts +12 -0
  115. package/dist/commands/core/env.d.ts.map +1 -0
  116. package/dist/commands/core/env.js +95 -0
  117. package/dist/commands/core/env.js.map +1 -0
  118. package/dist/commands/core/health.d.ts +6 -0
  119. package/dist/commands/core/health.d.ts.map +1 -0
  120. package/dist/commands/core/health.js +215 -0
  121. package/dist/commands/core/health.js.map +1 -0
  122. package/dist/commands/core/index.d.ts +15 -0
  123. package/dist/commands/core/index.d.ts.map +1 -0
  124. package/dist/commands/core/index.js +86 -0
  125. package/dist/commands/core/index.js.map +1 -0
  126. package/dist/commands/core/list.d.ts +11 -0
  127. package/dist/commands/core/list.d.ts.map +1 -0
  128. package/dist/commands/core/list.js +58 -0
  129. package/dist/commands/core/list.js.map +1 -0
  130. package/dist/commands/core/rebuild.d.ts +13 -0
  131. package/dist/commands/core/rebuild.d.ts.map +1 -0
  132. package/dist/commands/core/rebuild.js +119 -0
  133. package/dist/commands/core/rebuild.js.map +1 -0
  134. package/dist/commands/db/index.d.ts +23 -0
  135. package/dist/commands/db/index.d.ts.map +1 -0
  136. package/dist/commands/db/index.js +355 -0
  137. package/dist/commands/db/index.js.map +1 -0
  138. package/dist/commands/db/promote-silo.d.ts +320 -0
  139. package/dist/commands/db/promote-silo.d.ts.map +1 -0
  140. package/dist/commands/db/promote-silo.js +930 -0
  141. package/dist/commands/db/promote-silo.js.map +1 -0
  142. package/dist/commands/db/relocate.d.ts +41 -0
  143. package/dist/commands/db/relocate.d.ts.map +1 -0
  144. package/dist/commands/db/relocate.js +482 -0
  145. package/dist/commands/db/relocate.js.map +1 -0
  146. package/dist/commands/db/rollback-silo.d.ts +44 -0
  147. package/dist/commands/db/rollback-silo.d.ts.map +1 -0
  148. package/dist/commands/db/rollback-silo.js +402 -0
  149. package/dist/commands/db/rollback-silo.js.map +1 -0
  150. package/dist/commands/deploy/index.d.ts +26 -0
  151. package/dist/commands/deploy/index.d.ts.map +1 -0
  152. package/dist/commands/deploy/index.js +107 -0
  153. package/dist/commands/deploy/index.js.map +1 -0
  154. package/dist/commands/devops/index.d.ts +6 -0
  155. package/dist/commands/devops/index.d.ts.map +1 -0
  156. package/dist/commands/devops/index.js +220 -0
  157. package/dist/commands/devops/index.js.map +1 -0
  158. package/dist/commands/domain/index.d.ts +8 -0
  159. package/dist/commands/domain/index.d.ts.map +1 -0
  160. package/dist/commands/domain/index.js +386 -0
  161. package/dist/commands/domain/index.js.map +1 -0
  162. package/dist/commands/image/index.d.ts +8 -0
  163. package/dist/commands/image/index.d.ts.map +1 -0
  164. package/dist/commands/image/index.js +308 -0
  165. package/dist/commands/image/index.js.map +1 -0
  166. package/dist/commands/install/factory-reset.d.ts +21 -0
  167. package/dist/commands/install/factory-reset.d.ts.map +1 -0
  168. package/dist/commands/install/factory-reset.js +83 -0
  169. package/dist/commands/install/factory-reset.js.map +1 -0
  170. package/dist/commands/install/index.d.ts +17 -0
  171. package/dist/commands/install/index.d.ts.map +1 -0
  172. package/dist/commands/install/index.js +44 -0
  173. package/dist/commands/install/index.js.map +1 -0
  174. package/dist/commands/install/install.d.ts +35 -0
  175. package/dist/commands/install/install.d.ts.map +1 -0
  176. package/dist/commands/install/install.js +171 -0
  177. package/dist/commands/install/install.js.map +1 -0
  178. package/dist/commands/login/index.d.ts +15 -0
  179. package/dist/commands/login/index.d.ts.map +1 -0
  180. package/dist/commands/login/index.js +58 -0
  181. package/dist/commands/login/index.js.map +1 -0
  182. package/dist/commands/nginx/index.d.ts +11 -0
  183. package/dist/commands/nginx/index.d.ts.map +1 -0
  184. package/dist/commands/nginx/index.js +580 -0
  185. package/dist/commands/nginx/index.js.map +1 -0
  186. package/dist/commands/server/bootstrap.d.ts +25 -0
  187. package/dist/commands/server/bootstrap.d.ts.map +1 -0
  188. package/dist/commands/server/bootstrap.js +260 -0
  189. package/dist/commands/server/bootstrap.js.map +1 -0
  190. package/dist/commands/server/index.d.ts +8 -0
  191. package/dist/commands/server/index.d.ts.map +1 -0
  192. package/dist/commands/server/index.js +2524 -0
  193. package/dist/commands/server/index.js.map +1 -0
  194. package/dist/commands/setup/index.d.ts +34 -0
  195. package/dist/commands/setup/index.d.ts.map +1 -0
  196. package/dist/commands/setup/index.js +423 -0
  197. package/dist/commands/setup/index.js.map +1 -0
  198. package/dist/commands/ssl/index.d.ts +8 -0
  199. package/dist/commands/ssl/index.d.ts.map +1 -0
  200. package/dist/commands/ssl/index.js +275 -0
  201. package/dist/commands/ssl/index.js.map +1 -0
  202. package/dist/commands/superadmin/index.d.ts +16 -0
  203. package/dist/commands/superadmin/index.d.ts.map +1 -0
  204. package/dist/commands/superadmin/index.js +81 -0
  205. package/dist/commands/superadmin/index.js.map +1 -0
  206. package/dist/commands/tenant/index.d.ts +6 -0
  207. package/dist/commands/tenant/index.d.ts.map +1 -0
  208. package/dist/commands/tenant/index.js +192 -0
  209. package/dist/commands/tenant/index.js.map +1 -0
  210. package/dist/index.d.ts +11 -0
  211. package/dist/index.d.ts.map +1 -0
  212. package/dist/index.js +107 -0
  213. package/dist/index.js.map +1 -0
  214. package/dist/lib/addon-sign.d.ts +23 -0
  215. package/dist/lib/addon-sign.d.ts.map +1 -0
  216. package/dist/lib/addon-sign.js +39 -0
  217. package/dist/lib/addon-sign.js.map +1 -0
  218. package/dist/lib/addon-sign.test.d.ts +2 -0
  219. package/dist/lib/addon-sign.test.d.ts.map +1 -0
  220. package/dist/lib/addon-sign.test.js +27 -0
  221. package/dist/lib/addon-sign.test.js.map +1 -0
  222. package/dist/lib/cdn.d.ts +25 -0
  223. package/dist/lib/cdn.d.ts.map +1 -0
  224. package/dist/lib/cdn.js +131 -0
  225. package/dist/lib/cdn.js.map +1 -0
  226. package/dist/lib/cloudflare.d.ts +133 -0
  227. package/dist/lib/cloudflare.d.ts.map +1 -0
  228. package/dist/lib/cloudflare.js +435 -0
  229. package/dist/lib/cloudflare.js.map +1 -0
  230. package/dist/lib/config.d.ts +96 -0
  231. package/dist/lib/config.d.ts.map +1 -0
  232. package/dist/lib/config.js +132 -0
  233. package/dist/lib/config.js.map +1 -0
  234. package/dist/lib/env.d.ts +8 -0
  235. package/dist/lib/env.d.ts.map +1 -0
  236. package/dist/lib/env.js +64 -0
  237. package/dist/lib/env.js.map +1 -0
  238. package/dist/lib/hosts.d.ts +194 -0
  239. package/dist/lib/hosts.d.ts.map +1 -0
  240. package/dist/lib/hosts.js +183 -0
  241. package/dist/lib/hosts.js.map +1 -0
  242. package/dist/lib/logger.d.ts +68 -0
  243. package/dist/lib/logger.d.ts.map +1 -0
  244. package/dist/lib/logger.js +130 -0
  245. package/dist/lib/logger.js.map +1 -0
  246. package/dist/lib/nginx-config.d.ts +78 -0
  247. package/dist/lib/nginx-config.d.ts.map +1 -0
  248. package/dist/lib/nginx-config.js +736 -0
  249. package/dist/lib/nginx-config.js.map +1 -0
  250. package/dist/lib/ops/addon-dev.d.ts +93 -0
  251. package/dist/lib/ops/addon-dev.d.ts.map +1 -0
  252. package/dist/lib/ops/addon-dev.js +237 -0
  253. package/dist/lib/ops/addon-dev.js.map +1 -0
  254. package/dist/lib/ops/addon-quality.d.ts +38 -0
  255. package/dist/lib/ops/addon-quality.d.ts.map +1 -0
  256. package/dist/lib/ops/addon-quality.js +338 -0
  257. package/dist/lib/ops/addon-quality.js.map +1 -0
  258. package/dist/lib/ops/addon-routes.d.ts +49 -0
  259. package/dist/lib/ops/addon-routes.d.ts.map +1 -0
  260. package/dist/lib/ops/addon-routes.js +189 -0
  261. package/dist/lib/ops/addon-routes.js.map +1 -0
  262. package/dist/lib/ops/addon.d.ts +120 -0
  263. package/dist/lib/ops/addon.d.ts.map +1 -0
  264. package/dist/lib/ops/addon.js +260 -0
  265. package/dist/lib/ops/addon.js.map +1 -0
  266. package/dist/lib/ops/cdn.d.ts +87 -0
  267. package/dist/lib/ops/cdn.d.ts.map +1 -0
  268. package/dist/lib/ops/cdn.js +170 -0
  269. package/dist/lib/ops/cdn.js.map +1 -0
  270. package/dist/lib/ops/cf.d.ts +36 -0
  271. package/dist/lib/ops/cf.d.ts.map +1 -0
  272. package/dist/lib/ops/cf.js +114 -0
  273. package/dist/lib/ops/cf.js.map +1 -0
  274. package/dist/lib/ops/compose.d.ts +95 -0
  275. package/dist/lib/ops/compose.d.ts.map +1 -0
  276. package/dist/lib/ops/compose.js +165 -0
  277. package/dist/lib/ops/compose.js.map +1 -0
  278. package/dist/lib/ops/core.d.ts +117 -0
  279. package/dist/lib/ops/core.d.ts.map +1 -0
  280. package/dist/lib/ops/core.js +322 -0
  281. package/dist/lib/ops/core.js.map +1 -0
  282. package/dist/lib/ops/db.d.ts +116 -0
  283. package/dist/lib/ops/db.d.ts.map +1 -0
  284. package/dist/lib/ops/db.js +351 -0
  285. package/dist/lib/ops/db.js.map +1 -0
  286. package/dist/lib/ops/dns.d.ts +111 -0
  287. package/dist/lib/ops/dns.d.ts.map +1 -0
  288. package/dist/lib/ops/dns.js +306 -0
  289. package/dist/lib/ops/dns.js.map +1 -0
  290. package/dist/lib/ops/image.d.ts +94 -0
  291. package/dist/lib/ops/image.d.ts.map +1 -0
  292. package/dist/lib/ops/image.js +159 -0
  293. package/dist/lib/ops/image.js.map +1 -0
  294. package/dist/lib/ops/nginx.d.ts +114 -0
  295. package/dist/lib/ops/nginx.d.ts.map +1 -0
  296. package/dist/lib/ops/nginx.js +388 -0
  297. package/dist/lib/ops/nginx.js.map +1 -0
  298. package/dist/lib/ops/redis.d.ts +7 -0
  299. package/dist/lib/ops/redis.d.ts.map +1 -0
  300. package/dist/lib/ops/redis.js +35 -0
  301. package/dist/lib/ops/redis.js.map +1 -0
  302. package/dist/lib/ops/ssh.d.ts +127 -0
  303. package/dist/lib/ops/ssh.d.ts.map +1 -0
  304. package/dist/lib/ops/ssh.js +269 -0
  305. package/dist/lib/ops/ssh.js.map +1 -0
  306. package/dist/lib/prompts.d.ts +46 -0
  307. package/dist/lib/prompts.d.ts.map +1 -0
  308. package/dist/lib/prompts.js +113 -0
  309. package/dist/lib/prompts.js.map +1 -0
  310. package/dist/lib/sast.d.ts +43 -0
  311. package/dist/lib/sast.d.ts.map +1 -0
  312. package/dist/lib/sast.js +79 -0
  313. package/dist/lib/sast.js.map +1 -0
  314. package/dist/lib/sast.test.d.ts +2 -0
  315. package/dist/lib/sast.test.d.ts.map +1 -0
  316. package/dist/lib/sast.test.js +33 -0
  317. package/dist/lib/sast.test.js.map +1 -0
  318. package/dist/lib/shell.d.ts +61 -0
  319. package/dist/lib/shell.d.ts.map +1 -0
  320. package/dist/lib/shell.js +183 -0
  321. package/dist/lib/shell.js.map +1 -0
  322. package/dist/lib/ssh-config.d.ts +37 -0
  323. package/dist/lib/ssh-config.d.ts.map +1 -0
  324. package/dist/lib/ssh-config.js +122 -0
  325. package/dist/lib/ssh-config.js.map +1 -0
  326. package/dist/lib/tenant-scope.d.ts +38 -0
  327. package/dist/lib/tenant-scope.d.ts.map +1 -0
  328. package/dist/lib/tenant-scope.js +129 -0
  329. package/dist/lib/tenant-scope.js.map +1 -0
  330. package/dist/lib/tenant-scope.test.d.ts +2 -0
  331. package/dist/lib/tenant-scope.test.d.ts.map +1 -0
  332. package/dist/lib/tenant-scope.test.js +223 -0
  333. package/dist/lib/tenant-scope.test.js.map +1 -0
  334. package/package.json +58 -0
  335. package/templates/bootstrap/.env.template +54 -0
  336. package/templates/bootstrap/docker-compose.yml +145 -0
  337. package/templates/vhost.conf.tmpl +446 -0
@@ -0,0 +1,260 @@
1
+ /**
2
+ * ci server bootstrap — sıfır-sunucu → boş-cicore
3
+ *
4
+ * Adımlar:
5
+ * 1. root/sudo kontrolü
6
+ * 2. apt-get update + temel bağımlılıklar
7
+ * 3. Docker yok → get.docker.com ile kur + systemctl enable/start
8
+ * 4. /opt/cicore dizin iskeleti oluştur
9
+ * 5. docker-compose.yml + .env yaz (secret otomatik üretilir)
10
+ * 6. docker compose pull (image-only; kaynak kodu ASLA inmez)
11
+ * 7. docker compose up -d
12
+ * 8. IP:port healthcheck loop (120s / 5s aralık)
13
+ *
14
+ * Sonraki adım: tarayıcıdan /setup/install wizard'ı veya `ci install`
15
+ */
16
+ import { execSync } from 'child_process';
17
+ import fs from 'fs-extra';
18
+ import path from 'path';
19
+ import { fileURLToPath } from 'url';
20
+ import { log, spinner } from '../../lib/logger.js';
21
+ import { confirm } from '../../lib/prompts.js';
22
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
23
+ // bootstrap template'lerin disk üzerindeki konumu
24
+ const TEMPLATE_DIR = path.resolve(__dirname, '../../..', 'templates', 'bootstrap');
25
+ // ── helpers ─────────────────────────────────────────────────────────────────
26
+ function run(cmd, opts = {}) {
27
+ if (opts.label)
28
+ log.info(` → ${opts.label}`);
29
+ try {
30
+ const out = execSync(cmd, {
31
+ encoding: 'utf-8',
32
+ timeout: 600_000,
33
+ stdio: ['pipe', 'pipe', 'pipe'],
34
+ shell: '/bin/sh',
35
+ env: { ...process.env, ...opts.env },
36
+ });
37
+ return { success: true, stdout: out ?? '', stderr: '' };
38
+ }
39
+ catch (e) {
40
+ const stdout = e.stdout?.toString() ?? '';
41
+ const stderr = e.stderr?.toString() ?? e.message ?? '';
42
+ if (!opts.failOk) {
43
+ log.error(stderr || stdout || `Command failed: ${cmd}`);
44
+ }
45
+ return { success: false, stdout, stderr };
46
+ }
47
+ }
48
+ function genSecret(bytes = 32) {
49
+ const r = run(`openssl rand -hex ${bytes}`, { failOk: true });
50
+ if (r.success)
51
+ return r.stdout.trim();
52
+ // openssl yoksa Node crypto fallback
53
+ const { randomBytes } = require('crypto');
54
+ return randomBytes(bytes).toString('hex');
55
+ }
56
+ async function waitForHealth(url, timeoutMs = 120_000) {
57
+ const interval = 5_000;
58
+ const deadline = Date.now() + timeoutMs;
59
+ let attempt = 0;
60
+ while (Date.now() < deadline) {
61
+ attempt++;
62
+ const r = run(`curl -sf --max-time 4 "${url}" -o /dev/null`, { failOk: true });
63
+ if (r.success)
64
+ return true;
65
+ log.info(` ⏳ Bekleniyor... (${attempt * interval / 1000}s / ${timeoutMs / 1000}s)`);
66
+ await new Promise((res) => setTimeout(res, interval));
67
+ }
68
+ return false;
69
+ }
70
+ export async function runBootstrap(options) {
71
+ const installDir = options.dir ?? '/opt/cicore';
72
+ const imageTag = options.tag ?? 'b11';
73
+ const registry = options.registry ?? 'cisofttr';
74
+ const httpPort = options.port ?? '80';
75
+ log.title('CiCore Bootstrap — sıfır sunucu → boş core');
76
+ log.info(`Dizin : ${installDir}`);
77
+ log.info(`İmaj tag : ${registry}/cicore-*:${imageTag}`);
78
+ log.info(`HTTP port : ${httpPort}`);
79
+ log.blank();
80
+ // ── Adım 0: root kontrolü ────────────────────────────────────────────────
81
+ const whoami = run('id -u', { failOk: true });
82
+ if (whoami.stdout.trim() !== '0') {
83
+ log.error('Bu komut root veya sudo ile çalıştırılmalı (Docker kurulumu için gerekli).');
84
+ process.exit(1);
85
+ }
86
+ if (options.yes !== true) {
87
+ const ok = await confirm(`${installDir} dizinine cicore kurulacak. Devam edilsin mi?`, true);
88
+ if (!ok) {
89
+ log.warn('İptal edildi.');
90
+ return;
91
+ }
92
+ }
93
+ const start = Date.now();
94
+ // ── Adım 1: apt-get update + bağımlılıklar ──────────────────────────────
95
+ log.step(1, 7, 'Sistem paketleri güncelleniyor...');
96
+ const aptEnv = { DEBIAN_FRONTEND: 'noninteractive' };
97
+ let r = run('apt-get update -qq', { label: 'apt-get update', env: aptEnv });
98
+ if (!r.success) {
99
+ log.error('apt-get update başarısız.');
100
+ process.exit(1);
101
+ }
102
+ r = run('apt-get install -y -qq curl ca-certificates gnupg openssl', { label: 'Bağımlılıklar kurulu', env: aptEnv });
103
+ if (!r.success) {
104
+ log.error('Bağımlılık kurulumu başarısız.');
105
+ process.exit(1);
106
+ }
107
+ log.success('✅ Sistem güncellendi');
108
+ // ── Adım 2: Docker ───────────────────────────────────────────────────────
109
+ log.blank();
110
+ log.step(2, 7, 'Docker kontrol ediliyor...');
111
+ const dockerCheck = run('docker info >/dev/null 2>&1', { failOk: true });
112
+ if (dockerCheck.success) {
113
+ log.info(' Docker zaten kurulu, atlandı.');
114
+ }
115
+ else if (options.skipDockerInstall) {
116
+ log.warn(' Docker kurulu değil; --skip-docker-install verildi, geçiliyor.');
117
+ }
118
+ else {
119
+ log.info(' Docker bulunamadı — get.docker.com ile kuruluyor...');
120
+ r = run('curl -fsSL https://get.docker.com | sh', { label: 'Docker kurulu' });
121
+ if (!r.success) {
122
+ log.error('Docker kurulumu başarısız.');
123
+ process.exit(1);
124
+ }
125
+ run('systemctl enable docker', { failOk: true });
126
+ run('systemctl start docker', { failOk: true });
127
+ // İkinci kontrol
128
+ const dc2 = run('docker info >/dev/null 2>&1', { failOk: true });
129
+ if (!dc2.success) {
130
+ log.error('Docker başlatılamadı.');
131
+ process.exit(1);
132
+ }
133
+ }
134
+ log.success('✅ Docker hazır');
135
+ // ── Adım 3: /opt/cicore dizin iskeleti ───────────────────────────────────
136
+ log.blank();
137
+ log.step(3, 7, `${installDir} dizin yapısı oluşturuluyor...`);
138
+ const dirs = [
139
+ installDir,
140
+ `${installDir}/data/postgres`,
141
+ `${installDir}/data/redis`,
142
+ `${installDir}/logs/php`,
143
+ `${installDir}/uploads`,
144
+ `${installDir}/addons`,
145
+ `${installDir}/postgres-init`,
146
+ ];
147
+ for (const d of dirs)
148
+ await fs.ensureDir(d);
149
+ log.success('✅ Dizin iskeleti hazır');
150
+ // ── Adım 4: docker-compose.yml + .env ───────────────────────────────────
151
+ log.blank();
152
+ log.step(4, 7, 'Konfigürasyon dosyaları yazılıyor...');
153
+ const composeSrc = path.join(TEMPLATE_DIR, 'docker-compose.yml');
154
+ const composeDst = path.join(installDir, 'docker-compose.yml');
155
+ if (!await fs.pathExists(composeSrc)) {
156
+ log.error(`Template bulunamadı: ${composeSrc}`);
157
+ process.exit(1);
158
+ }
159
+ await fs.copy(composeSrc, composeDst, { overwrite: false });
160
+ log.success(` ✅ docker-compose.yml → ${composeDst}`);
161
+ const envDst = path.join(installDir, '.env');
162
+ if (await fs.pathExists(envDst)) {
163
+ log.info(' .env zaten mevcut, üzerine yazmıyorum (secretlar korunuyor).');
164
+ }
165
+ else {
166
+ const envTpl = await fs.readFile(path.join(TEMPLATE_DIR, '.env.template'), 'utf-8');
167
+ const envContent = envTpl
168
+ .replace('__IMAGE_TAG__', imageTag)
169
+ .replace('__REGISTRY__', registry)
170
+ .replace('__APP_KEY__', genSecret(32))
171
+ .replace('__DB_PASS__', genSecret(24))
172
+ .replace('__POSTGRES_PASSWORD__', genSecret(24))
173
+ .replace('__REDIS_PASSWORD__', genSecret(24))
174
+ .replace('__JWT_SECRET__', genSecret(32))
175
+ .replace('__WEBHOOK_SECRET__', genSecret(24));
176
+ await fs.writeFile(envDst, envContent, { mode: 0o600 });
177
+ log.success(` ✅ .env → ${envDst} (secretlar otomatik üretildi)`);
178
+ }
179
+ // HTTP_PORT override (varsayılan 80'den farklıysa)
180
+ if (httpPort !== '80') {
181
+ run(`sed -i 's/^HTTP_PORT=.*/HTTP_PORT=${httpPort}/' "${envDst}"`, { failOk: true });
182
+ }
183
+ // ── Adım 4.5: INST-2 registry-login seam ───────────────────────────────
184
+ // CICORE_REGISTRY_CREDENTIAL_ID doluysa registry-login.sh çalıştır.
185
+ // Bu değişken .env'de boş bırakılırsa (public imaj) bu adım atlanır.
186
+ const registryLoginScript = path.resolve(__dirname, '../../..', '..', 'installer', 'scripts', 'registry-login.sh');
187
+ const envContent2 = await fs.readFile(envDst, 'utf-8').catch(() => '');
188
+ const hasCredId = /^CICORE_REGISTRY_CREDENTIAL_ID=.+/m.test(envContent2);
189
+ if (hasCredId && await fs.pathExists(registryLoginScript)) {
190
+ log.blank();
191
+ log.info(' Registry kimlik doğrulama (INST-2)...');
192
+ r = run(`bash "${registryLoginScript}"`, {
193
+ label: 'docker login',
194
+ failOk: true,
195
+ env: { CICORE_ENV_FILE: envDst },
196
+ });
197
+ if (!r.success) {
198
+ log.warn(' Registry login başarısız — public imaj deneniyor (INST-2 token yoksa normal).');
199
+ }
200
+ }
201
+ // ── Adım 5: docker compose pull ──────────────────────────────────────────
202
+ log.blank();
203
+ log.step(5, 7, 'Docker imajları çekiliyor (birkaç dakika sürebilir)...');
204
+ log.info(` ${registry}/cicore-php:${imageTag}`);
205
+ log.info(` ${registry}/cicore-nuxt:${imageTag}`);
206
+ log.info(` ${registry}/cicore-nginx:${imageTag}`);
207
+ const pullSpin = spinner('docker compose pull...').start();
208
+ r = run(`docker compose -f "${composeDst}" --env-file "${envDst}" pull`, {
209
+ failOk: true,
210
+ });
211
+ if (!r.success) {
212
+ pullSpin.fail('docker compose pull başarısız');
213
+ log.error(r.stderr || r.stdout);
214
+ log.info('İpucu: DockerHub pull-token gerekiyor olabilir (INST-2). Önce registry login yapın.');
215
+ process.exit(1);
216
+ }
217
+ pullSpin.succeed('✅ İmajlar çekildi');
218
+ // ── Adım 6: docker compose up -d ─────────────────────────────────────────
219
+ log.blank();
220
+ log.step(6, 7, 'Servisler başlatılıyor...');
221
+ const upSpin = spinner('docker compose up -d...').start();
222
+ r = run(`docker compose -f "${composeDst}" --env-file "${envDst}" up -d --remove-orphans`);
223
+ if (!r.success) {
224
+ upSpin.fail('docker compose up başarısız');
225
+ process.exit(1);
226
+ }
227
+ upSpin.succeed('✅ Servisler başlatıldı');
228
+ // Container özeti
229
+ const ps = run(`docker compose -f "${composeDst}" --env-file "${envDst}" ps --format "table {{.Name}}\t{{.Status}}"`, { failOk: true });
230
+ if (ps.success && ps.stdout.trim()) {
231
+ log.blank();
232
+ log.info('Container durumu:');
233
+ console.log(ps.stdout);
234
+ }
235
+ // ── Adım 7: healthcheck ───────────────────────────────────────────────────
236
+ log.blank();
237
+ log.step(7, 7, 'Healthcheck bekleniyor...');
238
+ const healthUrl = `http://127.0.0.1:${httpPort}/health`;
239
+ log.info(` → ${healthUrl}`);
240
+ const healthy = await waitForHealth(healthUrl, 120_000);
241
+ if (!healthy) {
242
+ log.error('Healthcheck 120s içinde yanıt vermedi.');
243
+ log.info('Loglar için: docker compose -f /opt/cicore/docker-compose.yml logs --tail=50');
244
+ process.exit(1);
245
+ }
246
+ const elapsed = ((Date.now() - start) / 1000 / 60).toFixed(1);
247
+ log.blank();
248
+ log.success('══════════════════════════════════════════════');
249
+ log.success(' CiCore Bootstrap TAMAMLANDI');
250
+ log.success('══════════════════════════════════════════════');
251
+ log.info(` Dizin : ${installDir}`);
252
+ log.info(` Süre : ${elapsed} dakika`);
253
+ log.info(` Healthcheck: ${healthUrl} ✅`);
254
+ log.blank();
255
+ log.info('Sonraki adım:');
256
+ log.info(` Tarayıcı → http://<IP>:${httpPort}/setup/install`);
257
+ log.info(' veya: ci install --api-base http://127.0.0.1:3080');
258
+ log.blank();
259
+ }
260
+ //# sourceMappingURL=bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/commands/server/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * CiCore CLI - Server Management Commands
3
+ *
4
+ * Full server setup, installation, and management
5
+ */
6
+ import { Command } from 'commander';
7
+ export declare function registerServerCommands(program: Command): void;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/server/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmK7D"}