@rakay-technology/kraft 0.7.4

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 (504) hide show
  1. package/README.md +263 -0
  2. package/dist/bare-HL2GUYE2.js +27 -0
  3. package/dist/bowser-HNOTPGJO.js +2825 -0
  4. package/dist/chunk-3CJLKL6E.js +124 -0
  5. package/dist/chunk-3NQQXMDR.js +2098 -0
  6. package/dist/chunk-42WQABXM.js +439 -0
  7. package/dist/chunk-5GPXMTE4.js +25 -0
  8. package/dist/chunk-AJ4QZLZ2.js +1069 -0
  9. package/dist/chunk-AO252K7Z.js +137 -0
  10. package/dist/chunk-BQMFIXHI.js +975 -0
  11. package/dist/chunk-DM3PKWDC.js +2453 -0
  12. package/dist/chunk-DOD2BXHQ.js +1364 -0
  13. package/dist/chunk-DRK3MEDS.js +2870 -0
  14. package/dist/chunk-EW4PHKB2.js +13914 -0
  15. package/dist/chunk-HMJUFZK7.js +340 -0
  16. package/dist/chunk-I2TOOF2A.js +517 -0
  17. package/dist/chunk-I3DPMTSF.js +29 -0
  18. package/dist/chunk-JSCZT76F.js +2588 -0
  19. package/dist/chunk-MNV2QFHW.js +138 -0
  20. package/dist/chunk-MOLPYPVH.js +2529 -0
  21. package/dist/chunk-N4OALTFK.js +295 -0
  22. package/dist/chunk-OFXBNFNL.js +458 -0
  23. package/dist/chunk-ONKEYSMY.js +1388 -0
  24. package/dist/chunk-PDW4L3NV.js +17 -0
  25. package/dist/chunk-PNNXWA2A.js +1947 -0
  26. package/dist/chunk-PNRPKRJU.js +11105 -0
  27. package/dist/chunk-PVOWHIND.js +26781 -0
  28. package/dist/chunk-PXKCZB2I.js +46 -0
  29. package/dist/chunk-PZVKPCKE.js +475 -0
  30. package/dist/chunk-QWHBRY2K.js +4945 -0
  31. package/dist/chunk-RFOBMHQ7.js +338 -0
  32. package/dist/chunk-RHLNVZMS.js +28 -0
  33. package/dist/chunk-RVER2EOO.js +577 -0
  34. package/dist/chunk-S3QBGGVP.js +81 -0
  35. package/dist/chunk-TAML5WMA.js +198 -0
  36. package/dist/chunk-THTEUDBC.js +3188 -0
  37. package/dist/chunk-WYNM7L22.js +329 -0
  38. package/dist/chunk-XGCG4MD5.js +102 -0
  39. package/dist/chunk-XVKUFMIB.js +148 -0
  40. package/dist/chunk-XZYFZ6A5.js +50 -0
  41. package/dist/chunk-Y7PVJUXJ.js +2275 -0
  42. package/dist/chunk-YRSZPVMB.js +306 -0
  43. package/dist/chunk-YZUKHG3S.js +362 -0
  44. package/dist/chunk-ZVFS4LUA.js +116 -0
  45. package/dist/chunk-ZWLDLTJP.js +1417 -0
  46. package/dist/detect-676SNZK4.js +48 -0
  47. package/dist/dist-es-2YRDXMUU.js +73 -0
  48. package/dist/dist-es-CCVZEFRZ.js +91 -0
  49. package/dist/dist-es-EDUSMF6Q.js +488 -0
  50. package/dist/dist-es-IOH6G4GM.js +380 -0
  51. package/dist/dist-es-KWSMDPIP.js +26 -0
  52. package/dist/dist-es-UYDDOVZ3.js +173 -0
  53. package/dist/dist-es-XUOR4NQN.js +321 -0
  54. package/dist/docker-GOT3Q7DJ.js +41 -0
  55. package/dist/docker-edge-executor-VO6JHHW2.js +19 -0
  56. package/dist/edge-import-NFCHIW7G.js +50 -0
  57. package/dist/edge-preflight-QUJ757C6.js +45 -0
  58. package/dist/ensure-container-edge-Q7IZXHGM.js +38 -0
  59. package/dist/event-streams-TR4GAC53.js +46 -0
  60. package/dist/executor-GKXKN52K.js +42 -0
  61. package/dist/host-channel-preflight-Z6HYSPKO.js +48 -0
  62. package/dist/index.d.ts +2 -0
  63. package/dist/index.js +9469 -0
  64. package/dist/loadSso-UGF4JMRK.js +581 -0
  65. package/dist/local-executor-OMMDKXCM.js +13 -0
  66. package/dist/nginx-VITTWZZU.js +42 -0
  67. package/dist/node-bootstrap.js +277 -0
  68. package/dist/node-entry.js +55 -0
  69. package/dist/noop-CLLJHCPL.js +11 -0
  70. package/dist/openresty-lua-6I3Z6PEQ.js +90 -0
  71. package/dist/privilege-UQAI2HV4.js +20 -0
  72. package/dist/server/engine/ChangeLog +2289 -0
  73. package/dist/server/engine/Documentations +5 -0
  74. package/dist/server/engine/LICENSE +674 -0
  75. package/dist/server/engine/README.md +34 -0
  76. package/dist/server/engine/conf/amavisd +150 -0
  77. package/dist/server/engine/conf/clamav +71 -0
  78. package/dist/server/engine/conf/core +632 -0
  79. package/dist/server/engine/conf/dovecot +151 -0
  80. package/dist/server/engine/conf/fail2ban +72 -0
  81. package/dist/server/engine/conf/global +698 -0
  82. package/dist/server/engine/conf/iredapd +52 -0
  83. package/dist/server/engine/conf/logwatch +28 -0
  84. package/dist/server/engine/conf/postfix +97 -0
  85. package/dist/server/engine/conf/postgresql +93 -0
  86. package/dist/server/engine/conf/spamassassin +39 -0
  87. package/dist/server/engine/dialog/config_via_dialog.sh +258 -0
  88. package/dist/server/engine/dialog/optional_components.sh +122 -0
  89. package/dist/server/engine/dialog/pgsql_config.sh +52 -0
  90. package/dist/server/engine/dialog/virtual_domain_config.sh +94 -0
  91. package/dist/server/engine/functions/amavisd.sh +267 -0
  92. package/dist/server/engine/functions/backend.sh +85 -0
  93. package/dist/server/engine/functions/clamav.sh +100 -0
  94. package/dist/server/engine/functions/cleanup.sh +393 -0
  95. package/dist/server/engine/functions/dovecot.sh +583 -0
  96. package/dist/server/engine/functions/fail2ban.sh +209 -0
  97. package/dist/server/engine/functions/iredapd.sh +356 -0
  98. package/dist/server/engine/functions/optional_components.sh +24 -0
  99. package/dist/server/engine/functions/packages.sh +522 -0
  100. package/dist/server/engine/functions/packages_freebsd.sh +179 -0
  101. package/dist/server/engine/functions/postfix.sh +457 -0
  102. package/dist/server/engine/functions/postgresql.sh +239 -0
  103. package/dist/server/engine/functions/spamassassin.sh +49 -0
  104. package/dist/server/engine/functions/system_accounts.sh +128 -0
  105. package/dist/server/engine/iRedMail.sh +144 -0
  106. package/dist/server/engine/pkgs/get_all.sh +338 -0
  107. package/dist/server/engine/pkgs/pkgs.freebsd.sha256 +3 -0
  108. package/dist/server/engine/pkgs/pkgs.openbsd.sha256 +6 -0
  109. package/dist/server/engine/pkgs/pkgs.sha256 +1 -0
  110. package/dist/server/engine/samples/amavisd/amavisd.conf +702 -0
  111. package/dist/server/engine/samples/amavisd/amavisd.mysql +278 -0
  112. package/dist/server/engine/samples/amavisd/amavisd.pgsql +253 -0
  113. package/dist/server/engine/samples/amavisd/amavisd.schema +942 -0
  114. package/dist/server/engine/samples/amavisd/default_spam_policy.sql +46 -0
  115. package/dist/server/engine/samples/dovecot/dovecot-2.4-mariadb.conf +758 -0
  116. package/dist/server/engine/samples/dovecot/dovecot-2.4-openldap.conf +767 -0
  117. package/dist/server/engine/samples/dovecot/dovecot-2.4-pgsql.conf +762 -0
  118. package/dist/server/engine/samples/dovecot/dovecot-last-login.conf +50 -0
  119. package/dist/server/engine/samples/dovecot/dovecot-ldap.conf +21 -0
  120. package/dist/server/engine/samples/dovecot/dovecot-share-folder.conf +22 -0
  121. package/dist/server/engine/samples/dovecot/dovecot-sql.conf +28 -0
  122. package/dist/server/engine/samples/dovecot/dovecot-used-quota.conf +13 -0
  123. package/dist/server/engine/samples/dovecot/dovecot.conf +484 -0
  124. package/dist/server/engine/samples/dovecot/dovecot.sieve +7 -0
  125. package/dist/server/engine/samples/dovecot/dovecot2-quota-warning.sh +38 -0
  126. package/dist/server/engine/samples/dovecot/sql/imap_share_folder.mysql +16 -0
  127. package/dist/server/engine/samples/dovecot/sql/last_login.mysql +12 -0
  128. package/dist/server/engine/samples/dovecot/sql/used_quota.mysql +26 -0
  129. package/dist/server/engine/samples/dovecot/systemd/override.conf +3 -0
  130. package/dist/server/engine/samples/fail2ban/action.d/banned_db.conf +9 -0
  131. package/dist/server/engine/samples/fail2ban/bin/fail2ban_banned_db +268 -0
  132. package/dist/server/engine/samples/fail2ban/fail2ban.local +17 -0
  133. package/dist/server/engine/samples/fail2ban/filter.d/dovecot.iredmail.conf +5 -0
  134. package/dist/server/engine/samples/fail2ban/filter.d/postfix-pregreet.iredmail.conf +16 -0
  135. package/dist/server/engine/samples/fail2ban/filter.d/postfix.iredmail.conf +18 -0
  136. package/dist/server/engine/samples/fail2ban/filter.d/roundcube.iredmail.conf +9 -0
  137. package/dist/server/engine/samples/fail2ban/jail.d/dovecot.local +8 -0
  138. package/dist/server/engine/samples/fail2ban/jail.d/nginx-http-auth.local +8 -0
  139. package/dist/server/engine/samples/fail2ban/jail.d/postfix-pregreet.local +9 -0
  140. package/dist/server/engine/samples/fail2ban/jail.d/postfix.local +8 -0
  141. package/dist/server/engine/samples/fail2ban/jail.d/roundcube.local +9 -0
  142. package/dist/server/engine/samples/fail2ban/jail.d/sogo.local +8 -0
  143. package/dist/server/engine/samples/fail2ban/jail.d/sshd.local +11 -0
  144. package/dist/server/engine/samples/fail2ban/jail.local +6 -0
  145. package/dist/server/engine/samples/fail2ban/openbsd/rc +27 -0
  146. package/dist/server/engine/samples/fail2ban/sql/fail2ban.mysql +49 -0
  147. package/dist/server/engine/samples/fail2ban/sql/fail2ban.pgsql +48 -0
  148. package/dist/server/engine/samples/firewall/firewalld/services/ssh.xml +6 -0
  149. package/dist/server/engine/samples/firewall/firewalld/zones/iredmail.xml +15 -0
  150. package/dist/server/engine/samples/firewall/iptables/ip6tables.init.debian +362 -0
  151. package/dist/server/engine/samples/firewall/iptables/ip6tables.rules +53 -0
  152. package/dist/server/engine/samples/firewall/iptables/iptables.init.debian +363 -0
  153. package/dist/server/engine/samples/firewall/iptables/iptables.rules +54 -0
  154. package/dist/server/engine/samples/firewall/nftables.conf +58 -0
  155. package/dist/server/engine/samples/freebsd/newsyslog.conf.d/dovecot.conf +3 -0
  156. package/dist/server/engine/samples/freebsd/newsyslog.conf.d/iredapd.conf +1 -0
  157. package/dist/server/engine/samples/freebsd/newsyslog.conf.d/mlmmjadmin.conf +1 -0
  158. package/dist/server/engine/samples/freebsd/newsyslog.conf.d/php-fpm.conf +2 -0
  159. package/dist/server/engine/samples/freebsd/newsyslog.conf.d/slapd.conf +1 -0
  160. package/dist/server/engine/samples/freebsd/syslog.d/dovecot.conf +2 -0
  161. package/dist/server/engine/samples/freebsd/syslog.d/fail2ban.conf +2 -0
  162. package/dist/server/engine/samples/freebsd/syslog.d/iredapd.conf +2 -0
  163. package/dist/server/engine/samples/freebsd/syslog.d/mlmmjadmin.conf +2 -0
  164. package/dist/server/engine/samples/freebsd/syslog.d/php-fpm.conf +2 -0
  165. package/dist/server/engine/samples/freebsd/syslog.d/slapd.conf +2 -0
  166. package/dist/server/engine/samples/iredmail/iredmail.mysql +491 -0
  167. package/dist/server/engine/samples/iredmail/iredmail.pgsql +465 -0
  168. package/dist/server/engine/samples/iredmail/iredmail.schema +456 -0
  169. package/dist/server/engine/samples/iredmail/used_quota_triggers_dovecot_2.3.pgsql +40 -0
  170. package/dist/server/engine/samples/iredmail/used_quota_triggers_dovecot_2.4.pgsql +18 -0
  171. package/dist/server/engine/samples/logrotate/dovecot +13 -0
  172. package/dist/server/engine/samples/logrotate/iredapd +13 -0
  173. package/dist/server/engine/samples/logrotate/mlmmjadmin +13 -0
  174. package/dist/server/engine/samples/logrotate/openldap +19 -0
  175. package/dist/server/engine/samples/logrotate/php-fpm +13 -0
  176. package/dist/server/engine/samples/openbsd/ldapd.conf +58 -0
  177. package/dist/server/engine/samples/openbsd/pf.conf +28 -0
  178. package/dist/server/engine/samples/postfix/command_filter.pcre +3 -0
  179. package/dist/server/engine/samples/postfix/freebsd/mailer.conf +9 -0
  180. package/dist/server/engine/samples/postfix/helo_access.pcre +180 -0
  181. package/dist/server/engine/samples/postfix/ldap/catchall_maps.cf +11 -0
  182. package/dist/server/engine/samples/postfix/ldap/recipient_bcc_maps_domain.cf +11 -0
  183. package/dist/server/engine/samples/postfix/ldap/recipient_bcc_maps_user.cf +11 -0
  184. package/dist/server/engine/samples/postfix/ldap/relay_domains.cf +11 -0
  185. package/dist/server/engine/samples/postfix/ldap/sender_bcc_maps_domain.cf +11 -0
  186. package/dist/server/engine/samples/postfix/ldap/sender_bcc_maps_user.cf +11 -0
  187. package/dist/server/engine/samples/postfix/ldap/sender_dependent_relayhost_maps_domain.cf +11 -0
  188. package/dist/server/engine/samples/postfix/ldap/sender_dependent_relayhost_maps_user.cf +11 -0
  189. package/dist/server/engine/samples/postfix/ldap/sender_login_maps.cf +11 -0
  190. package/dist/server/engine/samples/postfix/ldap/transport_maps_domain.cf +11 -0
  191. package/dist/server/engine/samples/postfix/ldap/transport_maps_user.cf +11 -0
  192. package/dist/server/engine/samples/postfix/ldap/virtual_alias_maps.cf +11 -0
  193. package/dist/server/engine/samples/postfix/ldap/virtual_group_maps.cf +11 -0
  194. package/dist/server/engine/samples/postfix/ldap/virtual_group_members_maps.cf +11 -0
  195. package/dist/server/engine/samples/postfix/ldap/virtual_mailbox_domains.cf +11 -0
  196. package/dist/server/engine/samples/postfix/ldap/virtual_mailbox_maps.cf +12 -0
  197. package/dist/server/engine/samples/postfix/main.cf +282 -0
  198. package/dist/server/engine/samples/postfix/main.cf.amavisd +7 -0
  199. package/dist/server/engine/samples/postfix/main.cf.dovecot +8 -0
  200. package/dist/server/engine/samples/postfix/main.cf.ldap +39 -0
  201. package/dist/server/engine/samples/postfix/main.cf.mlmmj +5 -0
  202. package/dist/server/engine/samples/postfix/main.cf.mysql +39 -0
  203. package/dist/server/engine/samples/postfix/main.cf.pgsql +39 -0
  204. package/dist/server/engine/samples/postfix/main.cf.postscreen +30 -0
  205. package/dist/server/engine/samples/postfix/master.cf +101 -0
  206. package/dist/server/engine/samples/postfix/mysql/catchall_maps.cf +5 -0
  207. package/dist/server/engine/samples/postfix/mysql/domain_alias_catchall_maps.cf +5 -0
  208. package/dist/server/engine/samples/postfix/mysql/domain_alias_maps.cf +5 -0
  209. package/dist/server/engine/samples/postfix/mysql/recipient_bcc_maps_domain.cf +5 -0
  210. package/dist/server/engine/samples/postfix/mysql/recipient_bcc_maps_user.cf +5 -0
  211. package/dist/server/engine/samples/postfix/mysql/relay_domains.cf +5 -0
  212. package/dist/server/engine/samples/postfix/mysql/sender_bcc_maps_domain.cf +5 -0
  213. package/dist/server/engine/samples/postfix/mysql/sender_bcc_maps_user.cf +5 -0
  214. package/dist/server/engine/samples/postfix/mysql/sender_dependent_relayhost_maps.cf +6 -0
  215. package/dist/server/engine/samples/postfix/mysql/sender_login_maps.cf +5 -0
  216. package/dist/server/engine/samples/postfix/mysql/transport_maps_domain.cf +5 -0
  217. package/dist/server/engine/samples/postfix/mysql/transport_maps_maillist.cf +5 -0
  218. package/dist/server/engine/samples/postfix/mysql/transport_maps_user.cf +5 -0
  219. package/dist/server/engine/samples/postfix/mysql/virtual_alias_maps.cf +5 -0
  220. package/dist/server/engine/samples/postfix/mysql/virtual_mailbox_domains.cf +5 -0
  221. package/dist/server/engine/samples/postfix/mysql/virtual_mailbox_maps.cf +5 -0
  222. package/dist/server/engine/samples/postfix/pgsql/catchall_maps.cf +5 -0
  223. package/dist/server/engine/samples/postfix/pgsql/domain_alias_catchall_maps.cf +5 -0
  224. package/dist/server/engine/samples/postfix/pgsql/domain_alias_maps.cf +5 -0
  225. package/dist/server/engine/samples/postfix/pgsql/recipient_bcc_maps_domain.cf +5 -0
  226. package/dist/server/engine/samples/postfix/pgsql/recipient_bcc_maps_user.cf +5 -0
  227. package/dist/server/engine/samples/postfix/pgsql/relay_domains.cf +5 -0
  228. package/dist/server/engine/samples/postfix/pgsql/sender_bcc_maps_domain.cf +5 -0
  229. package/dist/server/engine/samples/postfix/pgsql/sender_bcc_maps_user.cf +5 -0
  230. package/dist/server/engine/samples/postfix/pgsql/sender_dependent_relayhost_maps.cf +6 -0
  231. package/dist/server/engine/samples/postfix/pgsql/sender_login_maps.cf +5 -0
  232. package/dist/server/engine/samples/postfix/pgsql/transport_maps_domain.cf +5 -0
  233. package/dist/server/engine/samples/postfix/pgsql/transport_maps_maillist.cf +5 -0
  234. package/dist/server/engine/samples/postfix/pgsql/transport_maps_user.cf +5 -0
  235. package/dist/server/engine/samples/postfix/pgsql/virtual_alias_maps.cf +5 -0
  236. package/dist/server/engine/samples/postfix/pgsql/virtual_mailbox_domains.cf +5 -0
  237. package/dist/server/engine/samples/postfix/pgsql/virtual_mailbox_maps.cf +5 -0
  238. package/dist/server/engine/samples/postfix/postscreen_access.cidr +6 -0
  239. package/dist/server/engine/samples/postgresql/sql/add_first_domain_and_user.sql +34 -0
  240. package/dist/server/engine/samples/postgresql/sql/grant_permissions.sql +14 -0
  241. package/dist/server/engine/samples/postgresql/sql/init_vmail_db.sql +15 -0
  242. package/dist/server/engine/samples/rsyslog.d/1-iredmail-dovecot.conf +23 -0
  243. package/dist/server/engine/samples/rsyslog.d/1-iredmail-fail2ban.conf +2 -0
  244. package/dist/server/engine/samples/rsyslog.d/1-iredmail-iredapd.conf +12 -0
  245. package/dist/server/engine/samples/rsyslog.d/1-iredmail-mlmmjadmin.conf +12 -0
  246. package/dist/server/engine/samples/rsyslog.d/1-iredmail-openldap.conf +2 -0
  247. package/dist/server/engine/samples/rsyslog.d/1-iredmail-phpfpm.conf +3 -0
  248. package/dist/server/engine/samples/spamassassin/local.cf +186 -0
  249. package/dist/server/engine/samples/spamassassin/razor.conf +1 -0
  250. package/dist/server/engine/samples/systemd/clamd.service.d/override.conf +2 -0
  251. package/dist/server/engine/samples/systemd/mariadb.service.d/override.conf +3 -0
  252. package/dist/server/engine/samples/systemd/slapd.service.d/override.conf +6 -0
  253. package/dist/server/engine/samples/yum/CentOS-Linux-AppStream.repo +6 -0
  254. package/dist/server/engine/samples/yum/CentOS-Linux-PowerTools.repo +6 -0
  255. package/dist/server/engine/samples/yum/CentOS-Stream-AppStream.repo +7 -0
  256. package/dist/server/engine/samples/yum/CentOS-Stream-PowerTools.repo +7 -0
  257. package/dist/server/engine/samples/yum/symas-openldap.repo +6 -0
  258. package/dist/server/engine/tools/add_enabled_service.py +60 -0
  259. package/dist/server/engine/tools/backup_mysql.sh +238 -0
  260. package/dist/server/engine/tools/backup_openldap.sh +230 -0
  261. package/dist/server/engine/tools/backup_pgsql.sh +217 -0
  262. package/dist/server/engine/tools/backup_sogo.sh +156 -0
  263. package/dist/server/engine/tools/create_mail_user_OpenLDAP.py +335 -0
  264. package/dist/server/engine/tools/create_mail_user_OpenLDAP.sh +287 -0
  265. package/dist/server/engine/tools/create_mail_user_SQL.sh +127 -0
  266. package/dist/server/engine/tools/enable_postscreen.sh +144 -0
  267. package/dist/server/engine/tools/fail2ban_unban_ip.sh +39 -0
  268. package/dist/server/engine/tools/find_sasl_login_ip.sh +20 -0
  269. package/dist/server/engine/tools/find_top_sasl_usernames.sh +28 -0
  270. package/dist/server/engine/tools/generate_ssl_keys.sh +85 -0
  271. package/dist/server/engine/tools/kill_high_cpu_sogo_process.sh +32 -0
  272. package/dist/server/engine/tools/ldap_assign_user_to_groups.py +151 -0
  273. package/dist/server/engine/tools/ldap_move_members_to_another_group.py +129 -0
  274. package/dist/server/engine/tools/migrate_sql_alias_table.py +177 -0
  275. package/dist/server/engine/update/0.9.8/amavisd.mysql +29 -0
  276. package/dist/server/engine/update/0.9.8/amavisd.pgsql +39 -0
  277. package/dist/server/engine/update/0.9.8/iredmail.mysql +53 -0
  278. package/dist/server/engine/update/0.9.8/iredmail.pgsql +61 -0
  279. package/dist/server/engine/update/0.9.9/iredmail.mysql +2 -0
  280. package/dist/server/engine/update/0.9.9/iredmail.pgsql +2 -0
  281. package/dist/server/engine/update/1.0/iredmail.mysql +2 -0
  282. package/dist/server/engine/update/1.0/iredmail.pgsql +2 -0
  283. package/dist/server/engine/update/1.2/last_login.mysql +16 -0
  284. package/dist/server/engine/update/1.4.0/iredmail.mysql +22 -0
  285. package/dist/server/engine/update/1.4.0/iredmail.pgsql +20 -0
  286. package/dist/server/engine/update/1.4.1/iredmail.mysql +3 -0
  287. package/dist/server/engine/update/1.4.1/iredmail.pgsql +3 -0
  288. package/dist/server/engine/update/1.4.1/sogo.mysql +11 -0
  289. package/dist/server/engine/update/1.4.1/sogo.pgsql +30 -0
  290. package/dist/server/engine/update/1.4.1/update-ldap.py +66 -0
  291. package/dist/server/engine/update/1.4.2/iredmail.mysql +9 -0
  292. package/dist/server/engine/update/1.4.2/iredmail.pgsql +9 -0
  293. package/dist/server/engine/update/1.4.2/sogo.pgsql +30 -0
  294. package/dist/server/engine/update/1.6.0/sogo_view.pgsql +27 -0
  295. package/dist/server/engine/update/1.6.3/iredmail.mysql +1 -0
  296. package/dist/server/engine/update/1.7.0/fail2ban.mysql +11 -0
  297. package/dist/server/engine/update/1.7.0/fail2ban.pgsql +12 -0
  298. package/dist/server/engine/update/1.7.1/amavisd.mysql +1 -0
  299. package/dist/server/engine/update/1.7.2/vmail.mysql +30 -0
  300. package/dist/server/engine/update/1.7.3/deleted_mailboxes.mysql +43 -0
  301. package/dist/server/engine/update/1.7.3/iredadmin.mysql +26 -0
  302. package/dist/server/engine/update/1.7.3/vmail.mysql +79 -0
  303. package/dist/server/engine/update/1.7.3/vmail.pgsql +9 -0
  304. package/dist/server/engine/update/README.md +1 -0
  305. package/dist/server/engine/update/ldap/README.md +39 -0
  306. package/dist/server/engine/update/ldap/update-ldap-dovecot-2.3.py +69 -0
  307. package/dist/server/index.js +349016 -0
  308. package/dist/server/lua/geo_country.lua +127 -0
  309. package/dist/server/lua/maxminddb.lua +403 -0
  310. package/dist/server/lua/mgmt_api.lua +654 -0
  311. package/dist/server/lua/pipe_stream.lua +103 -0
  312. package/dist/server/lua/rules_guard.lua +132 -0
  313. package/dist/server/lua/rules_lib.lua +176 -0
  314. package/dist/server/lua/site_logger.lua +405 -0
  315. package/dist/server/lua/webhook_handler.lua +126 -0
  316. package/dist/server/migrations/0000_init.sql +666 -0
  317. package/dist/server/migrations/0001_brief_tomorrow_man.sql +47 -0
  318. package/dist/server/migrations/0002_funny_dazzler.sql +2 -0
  319. package/dist/server/migrations/0003_third_killer_shrike.sql +1 -0
  320. package/dist/server/migrations/0004_session_active_org_not_null.sql +10 -0
  321. package/dist/server/migrations/0005_warm_amazoness.sql +3 -0
  322. package/dist/server/migrations/0006_lumpy_joystick.sql +1 -0
  323. package/dist/server/migrations/0007_outgoing_maginty.sql +2 -0
  324. package/dist/server/migrations/0008_frozen_cutover.sql +3 -0
  325. package/dist/server/migrations/0009_credits_billing.sql +142 -0
  326. package/dist/server/migrations/0010_credit_grant_dedupe.sql +14 -0
  327. package/dist/server/migrations/0011_remove_credit_ledger.sql +23 -0
  328. package/dist/server/migrations/0012_smart_deploys_and_git_rollback.sql +81 -0
  329. package/dist/server/migrations/0013_fix_check_run_rollup_unique.sql +38 -0
  330. package/dist/server/migrations/0014_default_rollback_git.sql +9 -0
  331. package/dist/server/migrations/0015_billing_idempotency_grants.sql +41 -0
  332. package/dist/server/migrations/0016_github_auth_high_findings.sql +30 -0
  333. package/dist/server/migrations/0017_spooky_rumiko_fujikawa.sql +6 -0
  334. package/dist/server/migrations/0018_calm_shatterstar.sql +1 -0
  335. package/dist/server/migrations/0019_rename_workspace_install_to_prepare.sql +1 -0
  336. package/dist/server/migrations/0020_uneven_the_renegades.sql +13 -0
  337. package/dist/server/migrations/0021_shiny_firestar.sql +2 -0
  338. package/dist/server/migrations/0022_version_on_success_backfill.sql +6 -0
  339. package/dist/server/migrations/0023_productive_gorilla_man.sql +17 -0
  340. package/dist/server/migrations/0024_sleepy_peter_quill.sql +2 -0
  341. package/dist/server/migrations/0025_smooth_blue_shield.sql +1 -0
  342. package/dist/server/migrations/0026_mail_backup_source.sql +11 -0
  343. package/dist/server/migrations/0027_opposite_anthem.sql +6 -0
  344. package/dist/server/migrations/0028_stale_rogue.sql +18 -0
  345. package/dist/server/migrations/0029_bouncy_loners.sql +16 -0
  346. package/dist/server/migrations/0030_bright_darkstar.sql +6 -0
  347. package/dist/server/migrations/0031_conscious_catseye.sql +13 -0
  348. package/dist/server/migrations/0032_wet_mimic.sql +51 -0
  349. package/dist/server/migrations/0033_eminent_molly_hayes.sql +2 -0
  350. package/dist/server/migrations/0034_nervous_surge.sql +1 -0
  351. package/dist/server/migrations/0035_thankful_morgan_stark.sql +1 -0
  352. package/dist/server/migrations/0036_gorgeous_scalphunter.sql +17 -0
  353. package/dist/server/migrations/0037_clever_makkari.sql +28 -0
  354. package/dist/server/migrations/0038_young_magneto.sql +1 -0
  355. package/dist/server/migrations/0039_secret_lady_ursula.sql +15 -0
  356. package/dist/server/migrations/0040_sharp_red_wolf.sql +16 -0
  357. package/dist/server/migrations/0041_round_spyke.sql +4 -0
  358. package/dist/server/migrations/0042_dapper_havok.sql +1 -0
  359. package/dist/server/migrations/0043_fast_sharon_ventura.sql +15 -0
  360. package/dist/server/migrations/0044_amused_shape.sql +8 -0
  361. package/dist/server/migrations/0045_amusing_korath.sql +1 -0
  362. package/dist/server/migrations/0046_white_harrier.sql +35 -0
  363. package/dist/server/migrations/0047_sloppy_strong_guy.sql +2 -0
  364. package/dist/server/migrations/0048_funny_emma_frost.sql +2 -0
  365. package/dist/server/migrations/0049_nappy_piledriver.sql +3 -0
  366. package/dist/server/migrations/0050_add_service_deployment_image_digest.sql +1 -0
  367. package/dist/server/migrations/0051_add_update_status.sql +19 -0
  368. package/dist/server/migrations/0052_add_notice_target.sql +2 -0
  369. package/dist/server/migrations/0053_colossal_sandman.sql +14 -0
  370. package/dist/server/migrations/0054_add_instance_smtp.sql +5 -0
  371. package/dist/server/migrations/0055_rainy_klaw.sql +22 -0
  372. package/dist/server/migrations/0056_moaning_daredevil.sql +2 -0
  373. package/dist/server/migrations/0057_complete_prism.sql +18 -0
  374. package/dist/server/migrations/0058_add_server_is_local.sql +1 -0
  375. package/dist/server/migrations/0059_legal_fixer.sql +18 -0
  376. package/dist/server/migrations/0060_add_route_strategy_host_port.sql +3 -0
  377. package/dist/server/migrations/0061_notification_default_multi_kind.sql +3 -0
  378. package/dist/server/migrations/0062_add_incoming_webhook.sql +21 -0
  379. package/dist/server/migrations/0063_add_migration_logs.sql +1 -0
  380. package/dist/server/migrations/0064_add_migration_partial.sql +2 -0
  381. package/dist/server/migrations/0065_custom_app_template.sql +14 -0
  382. package/dist/server/migrations/0066_ensure_migration_partial_columns.sql +2 -0
  383. package/dist/server/migrations/0067_webhook_delivery.sql +28 -0
  384. package/dist/server/migrations/0068_add_migration_target_volumes.sql +1 -0
  385. package/dist/server/migrations/0069_add_project_composite_routes.sql +1 -0
  386. package/dist/server/migrations/0070_forward_git_to_server.sql +1 -0
  387. package/dist/server/migrations/0071_gh_device_token.sql +3 -0
  388. package/dist/server/migrations/0072_gh_device_token_method.sql +1 -0
  389. package/dist/server/migrations/0073_project_volumes_object_storage.sql +3 -0
  390. package/dist/server/migrations/0074_project_compose_path.sql +1 -0
  391. package/dist/server/migrations/0075_service_command_argv.sql +1 -0
  392. package/dist/server/migrations/0076_rollback_retention.sql +17 -0
  393. package/dist/server/migrations/0077_domain_redirect.sql +13 -0
  394. package/dist/server/migrations/0078_grant_source_scope.sql +30 -0
  395. package/dist/server/migrations/0079_project_readiness.sql +18 -0
  396. package/dist/server/migrations/0080_deployment_error_classification.sql +26 -0
  397. package/dist/server/migrations/0081_project_readiness_repair.sql +34 -0
  398. package/dist/server/migrations/0082_edge_target_verification.sql +39 -0
  399. package/dist/server/migrations/0083_service_incident.sql +84 -0
  400. package/dist/server/migrations/0084_analytics_daily_rollup.sql +72 -0
  401. package/dist/server/migrations/0085_resource_usage.sql +68 -0
  402. package/dist/server/migrations/0086_remote_infra_updates.sql +41 -0
  403. package/dist/server/migrations/0087_server_container_version_columns.sql +17 -0
  404. package/dist/server/migrations/0088_audit_source_and_settings.sql +27 -0
  405. package/dist/server/migrations/0089_auto_scan_infra.sql +7 -0
  406. package/dist/server/migrations/0090_project_collect_paths.sql +18 -0
  407. package/dist/server/migrations/0091_project_server_id.sql +26 -0
  408. package/dist/server/migrations/0092_project_internal_alias.sql +13 -0
  409. package/dist/server/migrations/0093_service_incident_org_index.sql +13 -0
  410. package/dist/server/migrations/0094_backup_restore_meta.sql +15 -0
  411. package/dist/server/migrations/0095_backup_restore_cancel.sql +19 -0
  412. package/dist/server/migrations/0096_backup_policy_retention_defaults.sql +20 -0
  413. package/dist/server/migrations/0097_update_status_upstream_only.sql +35 -0
  414. package/dist/server/migrations/0098_instance_product_mode.sql +12 -0
  415. package/dist/server/migrations/0099_mail_webmail_project.sql +24 -0
  416. package/dist/server/migrations/0100_server_ssh_private_key.sql +11 -0
  417. package/dist/server/migrations/0101_mail_resume_step.sql +12 -0
  418. package/dist/server/migrations/0102_project_workload_axes.sql +19 -0
  419. package/dist/server/migrations/0103_dns_credential.sql +41 -0
  420. package/dist/server/migrations/0104_instance_host_control.sql +15 -0
  421. package/dist/server/migrations/0105_mail_inbound_rules.sql +80 -0
  422. package/dist/server/migrations/0106_mcp_call_tracking.sql +23 -0
  423. package/dist/server/migrations/0107_build_minute_metering_indexes.sql +20 -0
  424. package/dist/server/migrations/0108_credential.sql +68 -0
  425. package/dist/server/migrations/0109_service_build_args.sql +9 -0
  426. package/dist/server/migrations/0110_service_deployment_host_ports.sql +18 -0
  427. package/dist/server/migrations/0111_host_port_claim.sql +381 -0
  428. package/dist/server/migrations/0112_backup_run_execution_lease.sql +12 -0
  429. package/dist/server/migrations/0113_docker_migration_execution_lease.sql +11 -0
  430. package/dist/server/migrations/0114_build_session_execution_lease_index.sql +6 -0
  431. package/dist/server/migrations/0115_orphan_target_key.sql +3 -0
  432. package/dist/server/migrations/0116_domain_ssl_challenge.sql +2 -0
  433. package/dist/server/migrations/0117_github_installation_workspace_scope.sql +24 -0
  434. package/dist/server/migrations/0118_git_sources.sql +66 -0
  435. package/dist/server/migrations/0119_backup_run_batch.sql +8 -0
  436. package/dist/server/migrations/0120_domain_primary_unique.sql +24 -0
  437. package/dist/server/migrations/0121_host_port_claim_overlap.sql +14 -0
  438. package/dist/server/migrations/0122_data_transfer_staging.sql +45 -0
  439. package/dist/server/migrations/0123_drop_cloud_infra.sql +7 -0
  440. package/dist/server/migrations/0124_mail_dmarc_report.sql +23 -0
  441. package/dist/server/migrations/0125_server_security_snapshot.sql +22 -0
  442. package/dist/server/migrations/meta/0000_snapshot.json +4848 -0
  443. package/dist/server/migrations/meta/0001_snapshot.json +4991 -0
  444. package/dist/server/migrations/meta/0002_snapshot.json +5013 -0
  445. package/dist/server/migrations/meta/0003_snapshot.json +5020 -0
  446. package/dist/server/migrations/meta/0004_snapshot.json +5020 -0
  447. package/dist/server/migrations/meta/0005_snapshot.json +5039 -0
  448. package/dist/server/migrations/meta/0006_snapshot.json +5045 -0
  449. package/dist/server/migrations/meta/0007_snapshot.json +5057 -0
  450. package/dist/server/migrations/meta/0016_snapshot.json +6053 -0
  451. package/dist/server/migrations/meta/0017_snapshot.json +6091 -0
  452. package/dist/server/migrations/meta/0018_snapshot.json +6098 -0
  453. package/dist/server/migrations/meta/0019_snapshot.json +6098 -0
  454. package/dist/server/migrations/meta/0020_snapshot.json +6201 -0
  455. package/dist/server/migrations/meta/0021_snapshot.json +6213 -0
  456. package/dist/server/migrations/meta/0022_snapshot.json +6213 -0
  457. package/dist/server/migrations/meta/0023_snapshot.json +6331 -0
  458. package/dist/server/migrations/meta/0024_snapshot.json +6343 -0
  459. package/dist/server/migrations/meta/0025_snapshot.json +6350 -0
  460. package/dist/server/migrations/meta/0026_snapshot.json +6440 -0
  461. package/dist/server/migrations/meta/0027_snapshot.json +6447 -0
  462. package/dist/server/migrations/meta/0028_snapshot.json +6581 -0
  463. package/dist/server/migrations/meta/0029_snapshot.json +6710 -0
  464. package/dist/server/migrations/meta/0030_snapshot.json +6748 -0
  465. package/dist/server/migrations/meta/0031_snapshot.json +6859 -0
  466. package/dist/server/migrations/meta/0032_snapshot.json +7222 -0
  467. package/dist/server/migrations/meta/0033_snapshot.json +7249 -0
  468. package/dist/server/migrations/meta/0034_snapshot.json +7255 -0
  469. package/dist/server/migrations/meta/0035_snapshot.json +7262 -0
  470. package/dist/server/migrations/meta/0036_snapshot.json +7392 -0
  471. package/dist/server/migrations/meta/0037_snapshot.json +7602 -0
  472. package/dist/server/migrations/meta/0038_snapshot.json +7609 -0
  473. package/dist/server/migrations/meta/0039_snapshot.json +7714 -0
  474. package/dist/server/migrations/meta/0040_snapshot.json +7820 -0
  475. package/dist/server/migrations/meta/0041_snapshot.json +7833 -0
  476. package/dist/server/migrations/meta/0042_snapshot.json +7839 -0
  477. package/dist/server/migrations/meta/0043_snapshot.json +7938 -0
  478. package/dist/server/migrations/meta/0044_snapshot.json +7982 -0
  479. package/dist/server/migrations/meta/0045_snapshot.json +7989 -0
  480. package/dist/server/migrations/meta/0046_snapshot.json +8263 -0
  481. package/dist/server/migrations/meta/0047_snapshot.json +8275 -0
  482. package/dist/server/migrations/meta/0048_snapshot.json +8289 -0
  483. package/dist/server/migrations/meta/0049_snapshot.json +8308 -0
  484. package/dist/server/migrations/meta/0050_snapshot.json +8314 -0
  485. package/dist/server/migrations/meta/0051_snapshot.json +8460 -0
  486. package/dist/server/migrations/meta/0052_snapshot.json +8472 -0
  487. package/dist/server/migrations/meta/0053_snapshot.json +8556 -0
  488. package/dist/server/migrations/meta/0054_snapshot.json +8586 -0
  489. package/dist/server/migrations/meta/0055_snapshot.json +8756 -0
  490. package/dist/server/migrations/meta/0056_snapshot.json +8777 -0
  491. package/dist/server/migrations/meta/0057_snapshot.json +8904 -0
  492. package/dist/server/migrations/meta/0058_snapshot.json +8911 -0
  493. package/dist/server/migrations/meta/0059_snapshot.json +9061 -0
  494. package/dist/server/migrations/meta/0060_snapshot.json +9081 -0
  495. package/dist/server/migrations/meta/_journal.json +888 -0
  496. package/dist/server/pglite/pglite.data +0 -0
  497. package/dist/server/pglite/pglite.wasm +0 -0
  498. package/dist/setup-JWKZIECM.js +25 -0
  499. package/dist/signin-3M3UPB6K.js +667 -0
  500. package/dist/ssh-client-NWQVRCV7.js +29 -0
  501. package/dist/sso-oidc-3VDIYOEJ.js +834 -0
  502. package/dist/sts-B3WIYLXR.js +1426 -0
  503. package/dist/up-P5DMQ5YO.js +55 -0
  504. package/package.json +58 -0
@@ -0,0 +1,329 @@
1
+ #!/usr/bin/env sh
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
+ import { createRequire as __ospCreateRequire } from "node:module";
4
+ const require = __ospCreateRequire(import.meta.url);
5
+ import {
6
+ containerIdFromCgroup,
7
+ isContainerPortForwarder,
8
+ managedDeploymentIdFromUnit,
9
+ tryExec
10
+ } from "./chunk-N4OALTFK.js";
11
+ import {
12
+ shellQuote
13
+ } from "./chunk-PVOWHIND.js";
14
+
15
+ // ../../packages/adapters/src/system/port-listen.ts
16
+ var PROC_NET_TCP_FILES = ["/proc/net/tcp", "/proc/net/tcp6"];
17
+ var PROBE_LISTENING = "__KRAFT_PORT_LISTENING__";
18
+ var PROBE_FREE = "__KRAFT_PORT_FREE__";
19
+ var PROBE_UNAVAILABLE = "__KRAFT_PORT_UNAVAILABLE__";
20
+ function buildPortProbeCommand(port) {
21
+ if (!Number.isInteger(port) || port < 1 || port > 65535) {
22
+ throw new RangeError(`Invalid TCP port: ${port}`);
23
+ }
24
+ return [
25
+ `lsof_output="$(lsof -nP -t -iTCP:${port} -sTCP:LISTEN 2>&1)"`,
26
+ `lsof_status=$?`,
27
+ `if [ "$lsof_status" -eq 0 ] && [ -n "$lsof_output" ] && printf '%s\\n' "$lsof_output" | grep -Eqv '^[0-9]+$'; then`,
28
+ ` : # Unexpected lsof output: fall through to ss instead of guessing.`,
29
+ `elif [ "$lsof_status" -eq 0 ] && [ -n "$lsof_output" ]; then`,
30
+ ` printf '${PROBE_LISTENING}\\n'`,
31
+ ` exit 0`,
32
+ `elif [ "$lsof_status" -eq 1 ] && [ -z "$lsof_output" ]; then`,
33
+ ` printf '${PROBE_FREE}\\n'`,
34
+ ` exit 0`,
35
+ `fi`,
36
+ `ss_output="$(ss -tln "sport = :${port}" 2>&1)"`,
37
+ `ss_status=$?`,
38
+ `if [ "$ss_status" -eq 0 ] && printf '%s\\n' "$ss_output" | grep -q LISTEN; then`,
39
+ ` printf '${PROBE_LISTENING}\\n'`,
40
+ `elif [ "$ss_status" -eq 0 ]; then`,
41
+ ` printf '${PROBE_FREE}\\n'`,
42
+ `else`,
43
+ ` printf '${PROBE_UNAVAILABLE}\\n'`,
44
+ `fi`
45
+ ].join("\n");
46
+ }
47
+ var TCP_LISTEN = "0A";
48
+ function parseListeningPorts(procText) {
49
+ const ports = /* @__PURE__ */ new Set();
50
+ for (const rawLine of procText.split("\n")) {
51
+ const line = rawLine.trim();
52
+ if (!line) continue;
53
+ const fields = line.split(/\s+/);
54
+ if (fields.length < 4) continue;
55
+ if (fields[3] !== TCP_LISTEN) continue;
56
+ const local = fields[1];
57
+ const colon = local.lastIndexOf(":");
58
+ if (colon === -1) continue;
59
+ const hexPort = local.slice(colon + 1);
60
+ if (!/^[0-9A-Fa-f]{1,4}$/.test(hexPort)) continue;
61
+ const port = parseInt(hexPort, 16);
62
+ if (port > 0) ports.add(port);
63
+ }
64
+ return ports;
65
+ }
66
+ function parsePortProbeOutput(out) {
67
+ const trimmed = out.trim();
68
+ if (trimmed === PROBE_LISTENING) return true;
69
+ if (trimmed === PROBE_FREE) return false;
70
+ if (trimmed === PROBE_UNAVAILABLE) return null;
71
+ return null;
72
+ }
73
+ async function probePortListeningOnce(executor, port) {
74
+ if (!Number.isInteger(port) || port < 1 || port > 65535) return null;
75
+ const readable = [];
76
+ for (const file of PROC_NET_TCP_FILES) {
77
+ try {
78
+ readable.push(
79
+ await executor.exec(`cat ${file} 2>/dev/null`, { timeout: 5e3 })
80
+ );
81
+ } catch {
82
+ }
83
+ }
84
+ if (readable.length > 0)
85
+ return parseListeningPorts(readable.join("\n")).has(port);
86
+ try {
87
+ const out = await executor.exec(buildPortProbeCommand(port), {
88
+ timeout: 5e3
89
+ });
90
+ return parsePortProbeOutput(out);
91
+ } catch {
92
+ return null;
93
+ }
94
+ }
95
+ function delay(ms) {
96
+ return new Promise((resolve) => setTimeout(resolve, ms));
97
+ }
98
+ async function waitForPortListening(executor, port, opts = {}) {
99
+ const timeoutMs = opts.timeoutMs ?? 45e3;
100
+ const intervalMs = opts.intervalMs ?? 1e3;
101
+ const deadline = Date.now() + timeoutMs;
102
+ let anyConclusive = false;
103
+ try {
104
+ for (; ; ) {
105
+ const result = await probePortListeningOnce(executor, port);
106
+ if (result === true) return { listening: true, checked: true };
107
+ if (result === false) anyConclusive = true;
108
+ const remaining = deadline - Date.now();
109
+ if (remaining <= 0) break;
110
+ await delay(Math.min(intervalMs, remaining));
111
+ }
112
+ } catch {
113
+ return { listening: false, checked: false };
114
+ }
115
+ return anyConclusive ? { listening: false, checked: true } : { listening: false, checked: false };
116
+ }
117
+ async function waitForPortFree(executor, port, opts = {}) {
118
+ const timeoutMs = opts.timeoutMs ?? 15e3;
119
+ const intervalMs = opts.intervalMs ?? 500;
120
+ const deadline = Date.now() + timeoutMs;
121
+ let anyConclusive = false;
122
+ try {
123
+ for (; ; ) {
124
+ const result = await probePortListeningOnce(executor, port);
125
+ if (result === false) return { free: true, checked: true };
126
+ if (result === true) anyConclusive = true;
127
+ const remaining = deadline - Date.now();
128
+ if (remaining <= 0) break;
129
+ await delay(Math.min(intervalMs, remaining));
130
+ }
131
+ } catch {
132
+ return { free: false, checked: false };
133
+ }
134
+ return anyConclusive ? { free: false, checked: true } : { free: false, checked: false };
135
+ }
136
+
137
+ // ../../packages/adapters/src/runtime/port-conflict.ts
138
+ async function resolveListenerOwner(executor, pid) {
139
+ const cgroup = (await tryExec(executor, `cat /proc/${pid}/cgroup 2>/dev/null`))?.trim();
140
+ if (!cgroup) return { cgroupVerified: false };
141
+ const evidence = { cgroupVerified: true, processCgroup: cgroup };
142
+ const containerId = containerIdFromCgroup(cgroup);
143
+ if (containerId) return { ...evidence, containerId };
144
+ const systemdUnit = cgroup?.match(/(?:^|\/)([^/\n]+\.service)(?:$|\n|\/)/m)?.[1]?.trim();
145
+ if (!systemdUnit || !/^[A-Za-z0-9@._:-]+\.service$/.test(systemdUnit)) {
146
+ return evidence;
147
+ }
148
+ const description = await tryExec(
149
+ executor,
150
+ `systemctl show ${shellQuote(systemdUnit)} --property=Description --value 2>/dev/null || true`
151
+ );
152
+ const deploymentId = managedDeploymentIdFromUnit(systemdUnit);
153
+ return {
154
+ ...evidence,
155
+ systemdUnit,
156
+ systemdDescription: description?.trim() || void 0,
157
+ ...deploymentId ? { deploymentId, isManagedDeployment: true } : { isManagedDeployment: false }
158
+ };
159
+ }
160
+ async function resolveListener(executor, port) {
161
+ const out = await tryExec(
162
+ executor,
163
+ `ss -tlnp sport = :${port} 2>/dev/null | grep LISTEN || lsof -ti tcp:${port} -sTCP:LISTEN 2>/dev/null || true`
164
+ );
165
+ const listenerPid = (output) => {
166
+ if (!output) return null;
167
+ const ssMatch = output.match(/pid=(\d+)/);
168
+ const lsofMatch = !ssMatch ? output.match(/^\s*(\d+)\s*$/m) : null;
169
+ const parsed = ssMatch?.[1] ?? lsofMatch?.[1];
170
+ if (!parsed) return null;
171
+ const pid2 = Number.parseInt(parsed, 10);
172
+ return Number.isSafeInteger(pid2) && pid2 > 0 ? pid2 : null;
173
+ };
174
+ const pid = listenerPid(out);
175
+ if (pid) return { pid, occupied: true, checked: true };
176
+ const observedListener = Boolean(out?.trim());
177
+ if (observedListener) {
178
+ const privilegedOut = await tryExec(
179
+ executor,
180
+ `sudo -n ss -tlnp sport = :${port} 2>/dev/null | grep LISTEN || sudo -n lsof -ti tcp:${port} -sTCP:LISTEN 2>/dev/null || true`,
181
+ { timeout: 5e3 }
182
+ );
183
+ const privilegedPid = listenerPid(privilegedOut);
184
+ if (privilegedPid)
185
+ return { pid: privilegedPid, occupied: true, checked: true };
186
+ }
187
+ const listening = await probePortListeningOnce(executor, port);
188
+ return {
189
+ pid: null,
190
+ occupied: observedListener || listening === true,
191
+ checked: observedListener || listening !== null
192
+ };
193
+ }
194
+ function parseListenerPids(output) {
195
+ const lines = (output ?? "").split("\n").map((line) => line.trim()).filter(Boolean);
196
+ if (lines.length === 0) return { observed: false, complete: true, pids: [] };
197
+ const pids = /* @__PURE__ */ new Set();
198
+ let complete = true;
199
+ for (const line of lines) {
200
+ const matches = [...line.matchAll(/pid=(\d+)/g)].map((match) => match[1]);
201
+ const bare = matches.length === 0 ? line.match(/^(\d+)$/)?.[1] : void 0;
202
+ const values = bare ? [bare] : matches;
203
+ if (values.length === 0) complete = false;
204
+ for (const value of values) {
205
+ const pid = Number.parseInt(value, 10);
206
+ if (Number.isSafeInteger(pid) && pid > 0) pids.add(pid);
207
+ else complete = false;
208
+ }
209
+ }
210
+ return { observed: true, complete, pids: [...pids] };
211
+ }
212
+ async function probeListeningPortOwners(executor, port) {
213
+ const command = `ss -tlnp sport = :${port} 2>/dev/null | grep LISTEN || lsof -ti tcp:${port} -sTCP:LISTEN 2>/dev/null || true`;
214
+ const ordinary = parseListenerPids(await tryExec(executor, command));
215
+ let evidence = ordinary;
216
+ if (ordinary.observed && !ordinary.complete) {
217
+ const privileged = parseListenerPids(
218
+ await tryExec(
219
+ executor,
220
+ `sudo -n ss -tlnp sport = :${port} 2>/dev/null | grep LISTEN || sudo -n lsof -ti tcp:${port} -sTCP:LISTEN 2>/dev/null`,
221
+ { timeout: 5e3 }
222
+ )
223
+ );
224
+ if (privileged.observed && privileged.complete) evidence = privileged;
225
+ else {
226
+ evidence = {
227
+ observed: true,
228
+ complete: false,
229
+ pids: [.../* @__PURE__ */ new Set([...ordinary.pids, ...privileged.pids])]
230
+ };
231
+ }
232
+ }
233
+ if (!evidence.observed) {
234
+ const listening = await probePortListeningOnce(executor, port);
235
+ if (listening === null)
236
+ return { occupants: [], checked: false, ownershipComplete: false };
237
+ if (!listening)
238
+ return { occupants: [], checked: true, ownershipComplete: true };
239
+ return { occupants: [], checked: true, ownershipComplete: false };
240
+ }
241
+ const described = await Promise.all(
242
+ evidence.pids.map(
243
+ (pid) => describeProcess(executor, pid).catch(() => null)
244
+ )
245
+ );
246
+ const occupants = described.filter(
247
+ (row) => row !== null
248
+ );
249
+ return {
250
+ occupants,
251
+ checked: true,
252
+ ownershipComplete: evidence.complete && occupants.length === evidence.pids.length
253
+ };
254
+ }
255
+ async function probeListeningPortState(executor, port) {
256
+ try {
257
+ const { pid, occupied, checked } = await resolveListener(executor, port);
258
+ if (!checked || !occupied) return { occupant: null, checked };
259
+ if (pid === null) {
260
+ return {
261
+ occupant: { pid: null, command: "unknown listener" },
262
+ checked: true
263
+ };
264
+ }
265
+ return { occupant: await describeProcess(executor, pid), checked: true };
266
+ } catch {
267
+ return { occupant: null, checked: false };
268
+ }
269
+ }
270
+ async function probeListeningPort(executor, port) {
271
+ return (await probeListeningPortState(executor, port)).occupant;
272
+ }
273
+ async function describeProcess(executor, pid) {
274
+ let command = `PID ${pid}`;
275
+ let rawCommand;
276
+ const args = await tryExec(
277
+ executor,
278
+ `ps -p ${pid} -o args= 2>/dev/null || true`
279
+ );
280
+ if (args?.trim()) {
281
+ rawCommand = args.trim();
282
+ command = `${rawCommand} (PID ${pid})`;
283
+ } else {
284
+ const cmd = await tryExec(
285
+ executor,
286
+ `ps -p ${pid} -o comm= 2>/dev/null || true`
287
+ );
288
+ if (cmd?.trim()) {
289
+ rawCommand = cmd.trim();
290
+ command = `${rawCommand} (PID ${pid})`;
291
+ }
292
+ }
293
+ if (isContainerPortForwarder(rawCommand)) {
294
+ return { pid, command, rawCommand, dockerPublished: true };
295
+ }
296
+ const systemd = await resolveListenerOwner(executor, pid);
297
+ return { pid, command, rawCommand, ...systemd };
298
+ }
299
+ function portOccupantDetails(port, occupant, stopTarget) {
300
+ if (!occupant) return { port };
301
+ return {
302
+ port,
303
+ pid: occupant.pid,
304
+ command: occupant.command,
305
+ rawCommand: occupant.rawCommand,
306
+ systemdUnit: occupant.systemdUnit,
307
+ systemdDescription: occupant.systemdDescription,
308
+ deploymentId: occupant.deploymentId,
309
+ isManagedDeployment: occupant.isManagedDeployment,
310
+ containerId: occupant.containerId,
311
+ containerName: occupant.containerName,
312
+ containerImage: occupant.containerImage,
313
+ ownerProjectId: occupant.ownerProjectId,
314
+ serviceName: occupant.serviceName,
315
+ dockerPublished: occupant.dockerPublished,
316
+ platformContainer: occupant.platformContainer,
317
+ ambiguousOwners: occupant.ambiguousOwners,
318
+ ...stopTarget ? { stopTarget } : {}
319
+ };
320
+ }
321
+
322
+ export {
323
+ waitForPortListening,
324
+ waitForPortFree,
325
+ probeListeningPortOwners,
326
+ probeListeningPort,
327
+ describeProcess,
328
+ portOccupantDetails
329
+ };
@@ -0,0 +1,102 @@
1
+ #!/usr/bin/env sh
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
+ import { createRequire as __ospCreateRequire } from "node:module";
4
+ const require = __ospCreateRequire(import.meta.url);
5
+ import {
6
+ PACKAGE_ROOT_ONLY_EXCLUDES
7
+ } from "./chunk-PVOWHIND.js";
8
+
9
+ // ../../packages/adapters/src/archive.ts
10
+ import { execFile } from "child_process";
11
+ import { mkdtemp, rm, stat, writeFile } from "fs/promises";
12
+ import { tmpdir } from "os";
13
+ import { join } from "path";
14
+ import { promisify } from "util";
15
+ var execFileAsync = promisify(execFile);
16
+ var ROOT_ONLY_EXCLUDES = new Set(PACKAGE_ROOT_ONLY_EXCLUDES);
17
+ var NOOP_CLEANUP = async () => {
18
+ };
19
+ function getTarCreateEnv() {
20
+ return {
21
+ ...process.env,
22
+ COPYFILE_DISABLE: "1",
23
+ COPY_EXTENDED_ATTRIBUTES_DISABLE: "1"
24
+ };
25
+ }
26
+ function tarCreateBaseArgs(localPath) {
27
+ const darwinFlags = process.platform === "darwin" ? ["--no-mac-metadata", "--no-xattrs", "--no-acls", "--no-fflags"] : [];
28
+ return [...darwinFlags, "-czf", "-", "-C", localPath];
29
+ }
30
+ async function gitTrackedFiles(localPath) {
31
+ try {
32
+ const { stdout } = await execFileAsync(
33
+ "git",
34
+ [
35
+ "-C",
36
+ localPath,
37
+ "ls-files",
38
+ "-z",
39
+ "--cached",
40
+ "--others",
41
+ "--exclude-standard"
42
+ ],
43
+ { maxBuffer: 256 * 1024 * 1024 }
44
+ );
45
+ const files = stdout.split("\0").filter(Boolean);
46
+ return files.length > 0 ? files : null;
47
+ } catch {
48
+ return null;
49
+ }
50
+ }
51
+ async function existingRelativePaths(root, paths) {
52
+ if (!paths?.length) return [];
53
+ const found = [];
54
+ for (const p of paths) {
55
+ try {
56
+ await stat(join(root, p));
57
+ found.push(p);
58
+ } catch {
59
+ }
60
+ }
61
+ return found;
62
+ }
63
+ async function prepareSourceTarArgs(localPath, options) {
64
+ if (options?.includes?.length) {
65
+ return {
66
+ args: getTarCreateArgs(localPath, options),
67
+ cleanup: NOOP_CLEANUP
68
+ };
69
+ }
70
+ const files = await gitTrackedFiles(localPath);
71
+ if (files) {
72
+ const extra = await existingRelativePaths(localPath, options?.alsoInclude);
73
+ const entries = extra.length ? [...files, ...extra] : files;
74
+ const tmpDir = await mkdtemp(join(tmpdir(), "kraft-tarlist-"));
75
+ const listFile = join(tmpDir, "files.null");
76
+ await writeFile(listFile, entries.join("\0"));
77
+ const args = [...tarCreateBaseArgs(localPath), "--null", "-T", listFile];
78
+ return {
79
+ args,
80
+ cleanup: () => rm(tmpDir, { recursive: true, force: true })
81
+ };
82
+ }
83
+ return { args: getTarCreateArgs(localPath, options), cleanup: NOOP_CLEANUP };
84
+ }
85
+ function getTarCreateArgs(localPath, options) {
86
+ const args = tarCreateBaseArgs(localPath);
87
+ if (options?.includes?.length) {
88
+ args.push(...options.includes);
89
+ return args;
90
+ }
91
+ for (const exclude of options?.excludes ?? []) {
92
+ const pattern = ROOT_ONLY_EXCLUDES.has(exclude) ? `./${exclude}` : exclude;
93
+ args.push(`--exclude=${pattern}`);
94
+ }
95
+ args.push(".");
96
+ return args;
97
+ }
98
+
99
+ export {
100
+ getTarCreateEnv,
101
+ prepareSourceTarArgs
102
+ };
@@ -0,0 +1,148 @@
1
+ #!/usr/bin/env sh
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
+ import { createRequire as __ospCreateRequire } from "node:module";
4
+ const require = __ospCreateRequire(import.meta.url);
5
+ import {
6
+ getLocalExecEnv,
7
+ getLocalShellArgs,
8
+ getLocalShellPath,
9
+ logEntry,
10
+ sq
11
+ } from "./chunk-MNV2QFHW.js";
12
+
13
+ // ../../packages/adapters/src/system/local-executor.ts
14
+ import { exec, spawn } from "child_process";
15
+ import {
16
+ access,
17
+ mkdir as fsMkdir,
18
+ open as fsOpen,
19
+ readFile as fsReadFile,
20
+ rename as fsRename,
21
+ rm as fsRm,
22
+ writeFile as fsWriteFile
23
+ } from "fs/promises";
24
+ import { dirname } from "path";
25
+ var LocalExecutor = class {
26
+ async exec(command, opts) {
27
+ return new Promise((resolve, reject) => {
28
+ const shell = getLocalShellPath();
29
+ exec(
30
+ command,
31
+ {
32
+ timeout: opts?.timeout ?? 3e4,
33
+ shell,
34
+ env: getLocalExecEnv()
35
+ },
36
+ (err, stdout, stderr) => {
37
+ if (err) {
38
+ const detail = [stderr.trim(), stdout.trim()].filter(Boolean).join("\n");
39
+ reject(new Error(detail || err.message));
40
+ } else resolve(stdout.trim());
41
+ }
42
+ );
43
+ });
44
+ }
45
+ streamExec(command, onLog, opts) {
46
+ return new Promise((resolve) => {
47
+ if (opts?.signal?.aborted) {
48
+ resolve({ code: 0, output: "" });
49
+ return;
50
+ }
51
+ const child = spawn(getLocalShellPath(), getLocalShellArgs(command), {
52
+ stdio: ["ignore", "pipe", "pipe"],
53
+ env: getLocalExecEnv()
54
+ });
55
+ const MAX_RETAINED_CHUNKS = 200;
56
+ const chunks = [];
57
+ const onChunk = (data, level) => {
58
+ const text = data.toString();
59
+ if (!text) return;
60
+ chunks.push(text);
61
+ if (chunks.length > MAX_RETAINED_CHUNKS) chunks.shift();
62
+ onLog(logEntry(text, level, data.toString("base64")));
63
+ };
64
+ const signal = opts?.signal;
65
+ const onAbort = () => {
66
+ try {
67
+ child.kill("SIGTERM");
68
+ } catch {
69
+ }
70
+ };
71
+ signal?.addEventListener("abort", onAbort, { once: true });
72
+ const cleanup = () => signal?.removeEventListener("abort", onAbort);
73
+ child.stdout.on("data", (data) => onChunk(data, "info"));
74
+ child.stderr.on("data", (data) => onChunk(data, "warn"));
75
+ child.on("close", (code) => {
76
+ cleanup();
77
+ resolve({ code: code ?? 1, output: chunks.join("") });
78
+ });
79
+ child.on("error", (err) => {
80
+ cleanup();
81
+ onLog(logEntry(`Process error: ${err.message}`, "error"));
82
+ resolve({ code: 1, output: err.message });
83
+ });
84
+ });
85
+ }
86
+ async writeFile(path, content, opts) {
87
+ await fsMkdir(dirname(path), { recursive: true });
88
+ if (opts?.mode === void 0) {
89
+ await fsWriteFile(path, content, "utf-8");
90
+ return;
91
+ }
92
+ const file = await fsOpen(path, "w", opts.mode);
93
+ try {
94
+ await file.chmod(opts.mode);
95
+ await file.writeFile(content, "utf-8");
96
+ } finally {
97
+ await file.close();
98
+ }
99
+ }
100
+ async rename(from, to) {
101
+ await fsRename(from, to);
102
+ }
103
+ async readFile(path) {
104
+ return fsReadFile(path, "utf-8");
105
+ }
106
+ async exists(path) {
107
+ try {
108
+ await access(path);
109
+ return true;
110
+ } catch {
111
+ return false;
112
+ }
113
+ }
114
+ async mkdir(path) {
115
+ await fsMkdir(path, { recursive: true });
116
+ }
117
+ async rm(path) {
118
+ try {
119
+ await fsRm(path, { recursive: true, force: true });
120
+ } catch {
121
+ }
122
+ }
123
+ async transferIn(localPath, remotePath, onLog, options) {
124
+ const log = onLog ?? (() => {
125
+ });
126
+ if (options?.includes?.length) {
127
+ for (const p of options.includes) {
128
+ const { code: code2 } = await this.streamExec(
129
+ `cp -a ${sq(localPath + "/" + p)} ${sq(remotePath + "/" + p)}`,
130
+ log
131
+ );
132
+ if (code2 !== 0) throw new Error(`Failed to copy ${p}`);
133
+ }
134
+ return;
135
+ }
136
+ const { code } = await this.streamExec(
137
+ `cp -a ${sq(localPath + "/")}. ${sq(remotePath)}`,
138
+ log
139
+ );
140
+ if (code !== 0) throw new Error("Failed to copy local project files");
141
+ }
142
+ async dispose() {
143
+ }
144
+ };
145
+
146
+ export {
147
+ LocalExecutor
148
+ };
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env sh
2
+ ":" //# ; exec "$(command -v node || command -v bun)" "$0" "$@"
3
+ import { createRequire as __ospCreateRequire } from "node:module";
4
+ const require = __ospCreateRequire(import.meta.url);
5
+ import {
6
+ setCredentialFeature
7
+ } from "./chunk-DRK3MEDS.js";
8
+ import {
9
+ CredentialsProviderError
10
+ } from "./chunk-3NQQXMDR.js";
11
+
12
+ // ../../node_modules/@aws-sdk/credential-provider-env/dist-es/fromEnv.js
13
+ var ENV_KEY = "AWS_ACCESS_KEY_ID";
14
+ var ENV_SECRET = "AWS_SECRET_ACCESS_KEY";
15
+ var ENV_SESSION = "AWS_SESSION_TOKEN";
16
+ var ENV_EXPIRATION = "AWS_CREDENTIAL_EXPIRATION";
17
+ var ENV_CREDENTIAL_SCOPE = "AWS_CREDENTIAL_SCOPE";
18
+ var ENV_ACCOUNT_ID = "AWS_ACCOUNT_ID";
19
+ var fromEnv = (init) => async () => {
20
+ init?.logger?.debug("@aws-sdk/credential-provider-env - fromEnv");
21
+ const accessKeyId = process.env[ENV_KEY];
22
+ const secretAccessKey = process.env[ENV_SECRET];
23
+ const sessionToken = process.env[ENV_SESSION];
24
+ const expiry = process.env[ENV_EXPIRATION];
25
+ const credentialScope = process.env[ENV_CREDENTIAL_SCOPE];
26
+ const accountId = process.env[ENV_ACCOUNT_ID];
27
+ if (accessKeyId && secretAccessKey) {
28
+ const credentials = {
29
+ accessKeyId,
30
+ secretAccessKey,
31
+ ...sessionToken && { sessionToken },
32
+ ...expiry && { expiration: new Date(expiry) },
33
+ ...credentialScope && { credentialScope },
34
+ ...accountId && { accountId }
35
+ };
36
+ setCredentialFeature(credentials, "CREDENTIALS_ENV_VARS", "g");
37
+ return credentials;
38
+ }
39
+ throw new CredentialsProviderError("Unable to find environment variable credentials.", { logger: init?.logger });
40
+ };
41
+
42
+ export {
43
+ ENV_KEY,
44
+ ENV_SECRET,
45
+ ENV_SESSION,
46
+ ENV_EXPIRATION,
47
+ ENV_CREDENTIAL_SCOPE,
48
+ ENV_ACCOUNT_ID,
49
+ fromEnv
50
+ };