@stacksjs/ts-cloud 0.12.11 → 0.12.13

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 (237) hide show
  1. package/dist/aws/index.js +1 -1
  2. package/dist/bin/chunk-0vsxpmfj.js +3 -0
  3. package/dist/bin/chunk-12e9v1dw.js +3 -0
  4. package/dist/bin/chunk-13dhcjjb.js +60 -0
  5. package/dist/bin/chunk-1fj5gk6r.js +725 -0
  6. package/dist/bin/chunk-1j2sja1j.js +1 -0
  7. package/dist/bin/chunk-1s4dny8d.js +1 -0
  8. package/dist/bin/chunk-2hpnd4g4.js +1 -0
  9. package/dist/bin/chunk-49sthm4q.js +2 -0
  10. package/dist/bin/chunk-4yntpqbe.js +1 -0
  11. package/dist/bin/chunk-4zbnwt9b.js +2 -0
  12. package/dist/bin/chunk-55kmbzr5.js +1 -0
  13. package/dist/{chunk-2ybcnrte.js → bin/chunk-57w9nsjk.js} +3 -3
  14. package/dist/bin/chunk-5gehfky4.js +2 -0
  15. package/dist/bin/chunk-6xw0r4gn.js +7364 -0
  16. package/dist/bin/chunk-6zk2n3wk.js +511 -0
  17. package/dist/bin/{chunk-2pevjm25.js → chunk-7a7n6p2m.js} +2 -2
  18. package/dist/bin/chunk-7h6h8yxm.js +6 -0
  19. package/dist/bin/chunk-7x0hrna6.js +1 -0
  20. package/dist/bin/{chunk-bj4ft4qc.js → chunk-80zkjpfz.js} +29 -29
  21. package/dist/bin/chunk-84tvv3x1.js +1 -0
  22. package/dist/bin/chunk-94cfdvrn.js +2 -0
  23. package/dist/bin/chunk-96xtj5j6.js +1 -0
  24. package/dist/bin/chunk-9jfjzycs.js +111 -0
  25. package/dist/bin/{chunk-mhrtx0p1.js → chunk-bckm6fre.js} +6 -6
  26. package/dist/bin/chunk-bnv8yd9w.js +6 -0
  27. package/dist/bin/chunk-c51xp8f7.js +1 -0
  28. package/dist/bin/chunk-d5qhwtkg.js +9 -0
  29. package/dist/bin/chunk-d7r6mhyv.js +34 -0
  30. package/dist/bin/chunk-de88yqwy.js +1 -0
  31. package/dist/bin/chunk-dh2qmxw9.js +1 -0
  32. package/dist/bin/chunk-dhxwmkhz.js +2 -0
  33. package/dist/bin/chunk-f35pte64.js +44 -0
  34. package/dist/bin/{chunk-3g80gjw6.js → chunk-gj5jkhfr.js} +13 -13
  35. package/dist/bin/chunk-jcyrm5q0.js +2 -0
  36. package/dist/bin/chunk-jh1593zx.js +1 -0
  37. package/dist/bin/chunk-nnkhrm4n.js +8 -0
  38. package/dist/bin/chunk-p36ns96s.js +1 -0
  39. package/dist/bin/{chunk-dep2n31v.js → chunk-p9hd27k4.js} +8 -8
  40. package/dist/bin/chunk-qz3za76g.js +1 -0
  41. package/dist/bin/chunk-r6cvc2pr.js +1 -0
  42. package/dist/bin/chunk-rh2sqtew.js +1 -0
  43. package/dist/bin/chunk-rxwecjgc.js +1 -0
  44. package/dist/bin/chunk-tkzpbb7n.js +1 -0
  45. package/dist/bin/chunk-vx649y7t.js +1 -0
  46. package/dist/bin/chunk-vymg9ywg.js +2 -0
  47. package/dist/bin/chunk-w7k5rvmw.js +1 -0
  48. package/dist/bin/chunk-wge61ccr.js +2 -0
  49. package/dist/bin/chunk-wvhqjr80.js +2 -0
  50. package/dist/bin/chunk-x5x9dzk7.js +3 -0
  51. package/dist/bin/chunk-xaafj6kf.js +1 -0
  52. package/dist/bin/chunk-xgepx8yx.js +1 -0
  53. package/dist/bin/{chunk-48eb4z0c.js → chunk-yhxpmk29.js} +32 -32
  54. package/dist/bin/chunk-ymbwekjm.js +1 -0
  55. package/dist/bin/chunk-yn34zgr2.js +1 -0
  56. package/dist/bin/chunk-ynr22ma8.js +2 -0
  57. package/dist/bin/chunk-yt8rgkqt.js +2 -0
  58. package/dist/bin/chunk-z2ez8wn9.js +37 -0
  59. package/dist/bin/cli.js +428 -428
  60. package/dist/bin/dashboard-server.js +1 -1
  61. package/dist/chunk-13d54txj.js +44 -0
  62. package/dist/chunk-1kp3y2s7.js +1 -0
  63. package/dist/chunk-1n3ckctd.js +7355 -0
  64. package/dist/chunk-30h9rgfn.js +6 -0
  65. package/dist/chunk-3kapcdpn.js +92 -0
  66. package/dist/chunk-3qp10j0j.js +5 -0
  67. package/dist/chunk-6g81m01r.js +141 -0
  68. package/dist/{chunk-6cxb8d6y.js → chunk-6nvn041c.js} +3 -3
  69. package/dist/chunk-7by4rm7y.js +1 -0
  70. package/dist/chunk-7ww65b66.js +709 -0
  71. package/dist/chunk-9c29rnk3.js +22 -0
  72. package/dist/chunk-9w32efae.js +1 -0
  73. package/dist/chunk-e0919h5g.js +2 -0
  74. package/dist/{chunk-dndxwssj.js → chunk-e7ds04wb.js} +2 -2
  75. package/dist/chunk-edqhhcg9.js +4 -0
  76. package/dist/chunk-ej4sm2tw.js +60 -0
  77. package/dist/chunk-emg3shmb.js +2 -0
  78. package/dist/chunk-fdexq9e1.js +1 -0
  79. package/dist/chunk-g8fpsdyq.js +37 -0
  80. package/dist/chunk-jb8em9ba.js +2 -0
  81. package/dist/chunk-n688m5fp.js +1 -0
  82. package/dist/chunk-r5emv4x8.js +2 -0
  83. package/dist/{chunk-q9a1z53k.js → chunk-sct6mdgc.js} +51 -51
  84. package/dist/chunk-thpce63q.js +34 -0
  85. package/dist/chunk-tnjae324.js +585 -0
  86. package/dist/{bin/chunk-hv3w2qy1.js → chunk-wjgnfg6q.js} +6 -6
  87. package/dist/chunk-wpqj98h8.js +2 -0
  88. package/dist/chunk-wrnhbb13.js +1 -0
  89. package/dist/chunk-zftpjxkr.js +2 -0
  90. package/dist/chunk-zmyv76f0.js +114 -0
  91. package/dist/deploy/index.js +1 -1
  92. package/dist/dns/index.js +1 -1
  93. package/dist/drivers/index.d.ts +1 -0
  94. package/dist/drivers/index.js +1 -1
  95. package/dist/drivers/shared/compute-deploy.d.ts +0 -12
  96. package/dist/drivers/shared/rpx-gateway.d.ts +124 -4
  97. package/dist/drivers/ssh/bootstrap.d.ts +13 -3
  98. package/dist/drivers/ssh/config.d.ts +11 -3
  99. package/dist/index.d.ts +1 -1
  100. package/dist/index.js +91 -91
  101. package/dist/operations/index.js +1 -1
  102. package/dist/protection/index.js +1 -1
  103. package/dist/push/index.js +1 -1
  104. package/dist/spend/index.js +1 -1
  105. package/dist/ui/404.html +1 -1
  106. package/dist/ui/accept-invitation.html +1 -1
  107. package/dist/ui/access-denied.html +2 -2
  108. package/dist/ui/account/automation.html +5 -5
  109. package/dist/ui/account/security.html +2 -2
  110. package/dist/ui/applications/compose.html +6 -6
  111. package/dist/ui/applications/new.html +2 -2
  112. package/dist/ui/data/backups.html +6 -6
  113. package/dist/ui/data/services.html +6 -6
  114. package/dist/ui/data/volumes.html +6 -6
  115. package/dist/ui/index.html +5 -5
  116. package/dist/ui/infrastructure/topology.html +9 -9
  117. package/dist/ui/integrations.html +2 -2
  118. package/dist/ui/operations/alerts.html +6 -6
  119. package/dist/ui/operations/configuration.html +6 -6
  120. package/dist/ui/operations/jobs.html +6 -6
  121. package/dist/ui/operations/maintenance.html +5 -5
  122. package/dist/ui/operations/observability.html +5 -5
  123. package/dist/ui/operations/previews.html +6 -6
  124. package/dist/ui/operations/queue.html +6 -6
  125. package/dist/ui/operations/regions.html +5 -5
  126. package/dist/ui/operations/releases.html +6 -6
  127. package/dist/ui/operations/spend.html +6 -6
  128. package/dist/ui/operations/workloads.html +10 -10
  129. package/dist/ui/security.html +2 -2
  130. package/dist/ui/server/actions.html +6 -6
  131. package/dist/ui/server/activity.html +2 -2
  132. package/dist/ui/server/capacity.html +5 -5
  133. package/dist/ui/server/database.html +5 -5
  134. package/dist/ui/server/deployments.html +5 -5
  135. package/dist/ui/server/diagnostics.html +2 -2
  136. package/dist/ui/server/firewall.html +6 -6
  137. package/dist/ui/server/fleet.html +5 -5
  138. package/dist/ui/server/logs.html +6 -6
  139. package/dist/ui/server/metrics.html +5 -5
  140. package/dist/ui/server/security.html +1 -1
  141. package/dist/ui/server/services.html +2 -2
  142. package/dist/ui/server/sites.html +16 -16
  143. package/dist/ui/server/ssh-keys.html +6 -6
  144. package/dist/ui/server/team.html +6 -6
  145. package/dist/ui/server/terminal.html +2 -2
  146. package/dist/ui/serverless/alarms.html +5 -5
  147. package/dist/ui/serverless/assets.html +2 -2
  148. package/dist/ui/serverless/cost.html +2 -2
  149. package/dist/ui/serverless/data.html +6 -6
  150. package/dist/ui/serverless/deployments.html +2 -2
  151. package/dist/ui/serverless/firewall.html +2 -2
  152. package/dist/ui/serverless/functions.html +5 -5
  153. package/dist/ui/serverless/logs.html +6 -6
  154. package/dist/ui/serverless/metrics.html +2 -2
  155. package/dist/ui/serverless/queues.html +6 -6
  156. package/dist/ui/serverless/secrets.html +6 -6
  157. package/dist/ui/serverless/traces.html +6 -6
  158. package/dist/ui/serverless.html +6 -6
  159. package/dist/ui-src/src/charts.ts +1141 -1294
  160. package/dist/ui-src/src/topology.ts +3 -3
  161. package/package.json +3 -3
  162. package/dist/bin/chunk-0x8szp53.js +0 -111
  163. package/dist/bin/chunk-1hggd7yz.js +0 -1
  164. package/dist/bin/chunk-2tsg6e8j.js +0 -1
  165. package/dist/bin/chunk-3f27aa5r.js +0 -2
  166. package/dist/bin/chunk-40j9hgzc.js +0 -1
  167. package/dist/bin/chunk-4gqfdr7t.js +0 -1
  168. package/dist/bin/chunk-5gx38418.js +0 -44
  169. package/dist/bin/chunk-5jv4cpky.js +0 -1
  170. package/dist/bin/chunk-5kxm5mx7.js +0 -1
  171. package/dist/bin/chunk-5rhvcgzt.js +0 -34
  172. package/dist/bin/chunk-8223r1xn.js +0 -2
  173. package/dist/bin/chunk-84703zpq.js +0 -7364
  174. package/dist/bin/chunk-9edyzdm0.js +0 -2
  175. package/dist/bin/chunk-9xbsmz1f.js +0 -2
  176. package/dist/bin/chunk-a8t3c4qe.js +0 -2
  177. package/dist/bin/chunk-aghy01we.js +0 -1
  178. package/dist/bin/chunk-akwfvn5k.js +0 -1
  179. package/dist/bin/chunk-asvz121j.js +0 -1
  180. package/dist/bin/chunk-b0xtsv8k.js +0 -6
  181. package/dist/bin/chunk-bcpdj01b.js +0 -1
  182. package/dist/bin/chunk-da49my09.js +0 -1
  183. package/dist/bin/chunk-ewxf62t8.js +0 -60
  184. package/dist/bin/chunk-f42gqn6c.js +0 -3
  185. package/dist/bin/chunk-fc6r1ack.js +0 -2
  186. package/dist/bin/chunk-ftcjjf76.js +0 -9
  187. package/dist/bin/chunk-g76sry03.js +0 -1
  188. package/dist/bin/chunk-hwdfky19.js +0 -2
  189. package/dist/bin/chunk-j02d6qmn.js +0 -1
  190. package/dist/bin/chunk-j2cb8we4.js +0 -37
  191. package/dist/bin/chunk-kmz8vb77.js +0 -1
  192. package/dist/bin/chunk-kyr5rasx.js +0 -511
  193. package/dist/bin/chunk-nc9pp87y.js +0 -8
  194. package/dist/bin/chunk-ncrnbcsa.js +0 -6
  195. package/dist/bin/chunk-py1hyeb2.js +0 -1
  196. package/dist/bin/chunk-qa06sft7.js +0 -1
  197. package/dist/bin/chunk-qr0xck72.js +0 -3
  198. package/dist/bin/chunk-r85ahkwq.js +0 -1
  199. package/dist/bin/chunk-re15e6p4.js +0 -2
  200. package/dist/bin/chunk-sj5csg49.js +0 -2
  201. package/dist/bin/chunk-t6y3pkm8.js +0 -1
  202. package/dist/bin/chunk-tfmx17he.js +0 -2
  203. package/dist/bin/chunk-vfcchrby.js +0 -1
  204. package/dist/bin/chunk-vmdh41kp.js +0 -1
  205. package/dist/bin/chunk-vrc7eemq.js +0 -1
  206. package/dist/bin/chunk-vsd7670h.js +0 -2
  207. package/dist/bin/chunk-vwqn3yx6.js +0 -3
  208. package/dist/bin/chunk-vxbnjz78.js +0 -1
  209. package/dist/bin/chunk-w8s8vgdj.js +0 -1
  210. package/dist/bin/chunk-yq9vetf8.js +0 -698
  211. package/dist/bin/chunk-zrgd65r8.js +0 -1
  212. package/dist/chunk-0a4tqwm9.js +0 -709
  213. package/dist/chunk-4884der5.js +0 -1
  214. package/dist/chunk-4wdxsnn2.js +0 -44
  215. package/dist/chunk-5hhyyhjt.js +0 -1
  216. package/dist/chunk-5zkacdw1.js +0 -1
  217. package/dist/chunk-6f68caq0.js +0 -1
  218. package/dist/chunk-7z50g5xz.js +0 -4
  219. package/dist/chunk-8fh4m5ge.js +0 -1
  220. package/dist/chunk-97pb7wb1.js +0 -1
  221. package/dist/chunk-ac87ds1k.js +0 -6
  222. package/dist/chunk-ess6vxfj.js +0 -2
  223. package/dist/chunk-fvpkxznh.js +0 -558
  224. package/dist/chunk-j06r5rwv.js +0 -2
  225. package/dist/chunk-j1g67djb.js +0 -92
  226. package/dist/chunk-k8x8mrkr.js +0 -2
  227. package/dist/chunk-mnmz8t7q.js +0 -34
  228. package/dist/chunk-n1fyryha.js +0 -141
  229. package/dist/chunk-n1hg0jxs.js +0 -2
  230. package/dist/chunk-n5xmh0ma.js +0 -37
  231. package/dist/chunk-q22qfwsc.js +0 -22
  232. package/dist/chunk-r8t25tbm.js +0 -7355
  233. package/dist/chunk-whyttetx.js +0 -5
  234. package/dist/chunk-yf8stygs.js +0 -114
  235. package/dist/chunk-ze5x2bpm.js +0 -2
  236. package/dist/chunk-zh0apedk.js +0 -60
  237. package/dist/chunk-zjyz926j.js +0 -2
@@ -1 +1 @@
1
- import{$c as ra,Ac as I,Bc as J,Cc as K,Dc as L,Ec as M,Fc as N,Gc as O,Hc as P,Ic as Q,Jc as R,Kc as S,Lc as T,Mc as U,Nc as V,Oc as W,Pc as X,Pd as Ha,Qc as ga,Qd as Ia,Rc as ha,Rd as Ja,Sc as ia,Sd as Ka,Tc as ja,Uc as ka,Vc as la,Wc as ma,Xc as na,Yc as oa,Zc as pa,_c as qa,ad as ta,bd as ua,cd as va,dd as wa,ed as xa,fd as ya,gd as za,hd as Aa,id as Ba,jd as Ca,kd as Da,ld as Ea,md as Fa,nd as Ga,xc as F,yc as G,zc as H}from"../chunk-0a4tqwm9.js";import{$d as fa,Td as Y,Ud as Z,Vd as _,Wd as aa,Xd as ba,Yd as ca,Zd as da,_d as ea}from"../chunk-zh0apedk.js";import{he as sa}from"../chunk-whyttetx.js";import"../chunk-yf8stygs.js";import"../chunk-mnmz8t7q.js";import"../chunk-n1fyryha.js";import"../chunk-ze5x2bpm.js";import"../chunk-k8x8mrkr.js";import"../chunk-j06r5rwv.js";import"../chunk-2ybcnrte.js";import{Ag as y,Ui as z,Vi as A,Wi as B,Xi as C,Yi as D,Zi as E,ug as s,vg as t,wg as u,xg as v,yg as w,zg as x}from"../chunk-fvpkxznh.js";import"../chunk-n5xmh0ma.js";import"../chunk-6cxb8d6y.js";import"../chunk-ess6vxfj.js";import"../chunk-j1g67djb.js";import"../chunk-ac87ds1k.js";import{ok as l,pk as m,qk as n,rk as o,sk as p,tk as q,uk as r}from"../chunk-7z50g5xz.js";import{Ak as f,Bk as g,Ck as h,Dk as i,Ek as j,Fk as k,vk as a,wk as b,xk as c,yk as d,zk as e}from"../chunk-n1hg0jxs.js";import"../chunk-q9a1z53k.js";import"../chunk-4wdxsnn2.js";import"../chunk-r8t25tbm.js";import"../chunk-zjyz926j.js";export{m as DEFAULT_SITE_PORT_RANGE,l as HOST_SITES_DIR,v as IPV6_EXCLUDED_HOST_LABELS,z as MANAGEMENT_DASHBOARD_SITE,F as addSiteToCloudConfig,r as allocateSitePorts,ra as buildAndPushContainerImage,sa as buildAndPushServerlessImage,ua as buildFunctionEnv,p as buildHostSitePortsScript,E as buildManagementDashboardArtifact,Aa as buildServerTopology,Ba as buildServerlessTopology,Ca as buildTopology,Ga as collectEgressMetrics,s as collectServerDnsDomains,qa as createContainerImageDependencies,la as createExistingStaticFullStackDependencies,ha as createStaticApiOriginDependencies,Ia as dashboardActions,A as dashboardCredentialsFile,V as dashboardPageRoutes,ea as deleteStaticSite,na as deployExistingStaticFullStack,va as deployServerlessApp,k as deployShipsFiles,ga as deploySite,ia as deployStaticApiOrigin,ba as deployStaticSite,fa as deployStaticSiteFull,Z as deployStaticSiteWithExternalDns,_ as deployStaticSiteWithExternalDnsFull,Ea as egressReportMetrics,R as ensureDashboardActor,D as ensureManagementDashboard,oa as estimateExistingStaticFullStackMonthlyCost,ka as estimateStaticApiOriginMonthlyCost,Fa as fetchEgressReport,ma as generateExistingStaticFullStackTemplate,Y as generateExternalDnsStaticSiteTemplate,aa as generateStaticSiteTemplate,g as hasComputeConfigured,d as hasProxyUpstream,pa as hashContainerContext,w as hostAcceptsIpv6,ta as infraEnvFromOutputs,S as initializeDashboardControlPlane,da as invalidateCache,b as isPhpSite,M as isValidHostname,u as normalizePublicIpv6,o as occupiedHostPorts,q as parseHostSiteFragments,n as parseUpstreamPort,x as reconcileAddressRecords,wa as redeployServerlessApp,G as removeSiteFromCloudConfig,t as removeStaleServerAddressRecords,N as renderAliasesValue,L as renderEnvValue,O as renderRedirectsValue,P as renderSiteSnippet,J as renderSslValue,K as renderStringValue,Ja as resolveDashboardAction,B as resolveDashboardAuth,Da as resolveDashboardData,W as resolveLegacyDashboardRoute,c as resolveProxyUpstreams,e as resolveSiteDeployTarget,f as resolveSiteKind,C as resolveUiSource,xa as rollbackServerlessApp,X as routesForDashboard,za as runRemoteCommand,Ha as sanitizeCloudConfig,Q as setAttachToInCloudConfig,ya as setMaintenance,I as setSitePropertyInCloudConfig,i as shipsARelease,j as shipsToBucket,a as siteInstallBase,Ka as startLocalDashboardServer,T as synchronizeDashboardUsers,U as trackDashboardOperation,H as updateSiteInCloudConfig,ca as uploadStaticFiles,h as validateDeploymentConfig,y as verifyAddressRecord,ja as verifyStaticApiOrigin};
1
+ import{jr,zr,Sl,xi,Cl,bl,El,Jo,vl,Tl,fm,wl,S,Rl,_i,we,Dl,Pl,bA,Nl,Am,EA,vA,TA,ym,Im,wA,RA,Sm,Cm,DA,Oi,Kt,Xo,Kr,Wr,Wt,je,ht,Li,bm,Jr,kl,Bl,Yo,Mi,Yr,Fi,pa}from"../chunk-7ww65b66.js";import{ga,Zr,en,Ui,Qi,Hi,Gi,ma,ha}from"../chunk-ej4sm2tw.js";import{fa}from"../chunk-3qp10j0j.js";import"../chunk-zmyv76f0.js";import"../chunk-thpce63q.js";import"../chunk-6g81m01r.js";import"../chunk-r5emv4x8.js";import"../chunk-zftpjxkr.js";import"../chunk-emg3shmb.js";import"../chunk-wjgnfg6q.js";import{Kl,Na,me,ka,mn,Wl,Ba,rc,us,nc,Pt,Hn,ps}from"../chunk-tnjae324.js";import"../chunk-6nvn041c.js";import"../chunk-jb8em9ba.js";import"../chunk-3kapcdpn.js";import"../chunk-30h9rgfn.js";import{rt,wh,dc,zn,Kn,Wn,zu}from"../chunk-edqhhcg9.js";import{B,hr,fr,lc,hs,u,Rh,Ku,Wu,sy,oy}from"../chunk-wpqj98h8.js";import"../chunk-sct6mdgc.js";import"../chunk-1n3ckctd.js";export{wh as DEFAULT_SITE_PORT_RANGE,rt as HOST_SITES_DIR,ka as IPV6_EXCLUDED_HOST_LABELS,rc as MANAGEMENT_DASHBOARD_SITE,jr as addSiteToCloudConfig,zu as allocateSitePorts,DA as buildAndPushContainerImage,fa as buildAndPushServerlessImage,Kt as buildFunctionEnv,Kn as buildHostSitePortsScript,ps as buildManagementDashboardArtifact,ht as buildServerTopology,Li as buildServerlessTopology,bm as buildTopology,Yo as collectEgressMetrics,Kl as collectServerDnsDomains,Cm as createContainerImageDependencies,ym as createExistingStaticFullStackDependencies,Am as createStaticApiOriginDependencies,Yr as dashboardActions,us as dashboardCredentialsFile,Dl as dashboardPageRoutes,ma as deleteStaticSite,wA as deployExistingStaticFullStack,Xo as deployServerlessApp,oy as deployShipsFiles,Nl as deploySite,EA as deployStaticApiOrigin,Qi as deployStaticSite,ha as deployStaticSiteFull,Zr as deployStaticSiteWithExternalDns,en as deployStaticSiteWithExternalDnsFull,kl as egressReportMetrics,S as ensureDashboardActor,Hn as ensureManagementDashboard,RA as estimateExistingStaticFullStackMonthlyCost,TA as estimateStaticApiOriginMonthlyCost,Bl as fetchEgressReport,Im as generateExistingStaticFullStackTemplate,ga as generateExternalDnsStaticSiteTemplate,Ui as generateStaticSiteTemplate,Rh as hasComputeConfigured,lc as hasProxyUpstream,Sm as hashContainerContext,mn as hostAcceptsIpv6,Oi as infraEnvFromOutputs,Rl as initializeDashboardControlPlane,Gi as invalidateCache,hr as isPhpSite,Jo as isValidHostname,me as normalizePublicIpv6,zn as occupiedHostPorts,Wn as parseHostSiteFragments,dc as parseUpstreamPort,Wl as reconcileAddressRecords,Kr as redeployServerlessApp,zr as removeSiteFromCloudConfig,Na as removeStaleServerAddressRecords,vl as renderAliasesValue,El as renderEnvValue,Tl as renderRedirectsValue,fm as renderSiteSnippet,Cl as renderSslValue,bl as renderStringValue,Fi as resolveDashboardAction,nc as resolveDashboardAuth,Jr as resolveDashboardData,Pl as resolveLegacyDashboardRoute,fr as resolveProxyUpstreams,hs as resolveSiteDeployTarget,u as resolveSiteKind,Pt as resolveUiSource,Wr as rollbackServerlessApp,bA as routesForDashboard,je as runRemoteCommand,Mi as sanitizeCloudConfig,wl as setAttachToInCloudConfig,Wt as setMaintenance,xi as setSitePropertyInCloudConfig,Wu as shipsARelease,sy as shipsToBucket,B as siteInstallBase,pa as startLocalDashboardServer,_i as synchronizeDashboardUsers,we as trackDashboardOperation,Sl as updateSiteInCloudConfig,Hi as uploadStaticFiles,Ku as validateDeploymentConfig,Ba as verifyAddressRecord,vA as verifyStaticApiOrigin};
package/dist/dns/index.js CHANGED
@@ -1 +1 @@
1
- import{$f as d,Xf as a,Yf as b,Zf as c,ag as e,bg as f,cg as g,dg as h,eg as i,fg as j,gg as k,hg as l,ig as m,jg as n,kg as o,lg as p,mg as q,ng as r,og as s,pg as t,qg as u}from"../chunk-j06r5rwv.js";import"../chunk-2ybcnrte.js";import"../chunk-ac87ds1k.js";import"../chunk-zjyz926j.js";export{d as CloudflareProvider,t as DnsProviderFactory,c as GoDaddyProvider,a as PROXIABLE_RECORD_TYPES,b as PorkbunProvider,i as Route53Provider,n as UnifiedDnsValidator,l as applyZoneMigration,r as createDnsProvider,p as createGoDaddyValidator,o as createPorkbunValidator,q as createRoute53Validator,s as detectDnsProvider,u as dnsProviders,j as exportRoute53Zone,k as planZoneMigration,e as policyTag,f as qualifyName,h as reconcileDeclaredRecords,g as resolveDeclaredRecords,m as verifyZoneParity};
1
+ import{un,Ne,Ct,bt,Et,pn,Xi,Yi,ge,Zi,es,ts,rs,ne,ns,is,ss,T,Da,gn,Pa}from"../chunk-emg3shmb.js";import"../chunk-wjgnfg6q.js";import"../chunk-30h9rgfn.js";export{bt as CloudflareProvider,gn as DnsProviderFactory,Ct as GoDaddyProvider,un as PROXIABLE_RECORD_TYPES,Ne as PorkbunProvider,ge as Route53Provider,ne as UnifiedDnsValidator,ts as applyZoneMigration,T as createDnsProvider,is as createGoDaddyValidator,ns as createPorkbunValidator,ss as createRoute53Validator,Da as detectDnsProvider,Pa as dnsProviders,Zi as exportRoute53Zone,es as planZoneMigration,Et as policyTag,pn as qualifyName,Yi as reconcileDeclaredRecords,Xi as resolveDeclaredRecords,rs as verifyZoneParity};
@@ -36,6 +36,7 @@ export { AwsBoxProvisioner, buildBoxUserData, createBoxProvisioner, HetznerBoxPr
36
36
  export type { AwsBoxProvisionerOptions, BoxPort, BoxProviderName, BoxProvisioner, BoxSpec, CreateBoxProvisionerOptions, ProvisionedBox, } from './shared/box-provision';
37
37
  export { buildAwsArtifactFetch, buildHostCleanupScript, buildLocalArtifactFetch, buildSiteDeployScript, buildStaticSiteDeployScript, releaseTarballTmpPath, resolveExecStart, } from './shared/deploy-script';
38
38
  export { deployAllComputeSites, deploySiteRelease, reloadRpxGateway, renewRpxCertificates, } from './shared/compute-deploy';
39
+ export { isLocalDatabase } from './shared/db-provision';
39
40
  export { buildRpxConfig, buildRpxFragmentRefreshScript, buildRpxLbConfig, buildRpxProvisionScript, deriveRouteId, gatewayHostnames, hasAutoWwwVariant, normalizeRoutePath, renderRpxLauncher, DEFAULT_RPX_CERTS_DIR, RPX_DIR, RPX_LAUNCHER_PATH, RPX_SERVICE_NAME, } from './shared/rpx-gateway';
40
41
  export type { BuildRpxConfigOptions, BuildRpxFragmentRefreshOptions, BuildRpxProvisionOptions, RpxGatewayConfig, RpxLbAppBox, RpxRoute, } from './shared/rpx-gateway';
41
42
  export { buildCloudFrontOriginConfig, MANAGED_CACHE_POLICY_DISABLED, MANAGED_CACHE_POLICY_OPTIMIZED, MANAGED_ORIGIN_REQUEST_POLICY_ALL_VIEWER, } from './shared/cloudfront-origin';
@@ -1 +1 @@
1
- import{$g as q,$h as qa,$i as hb,Ah as Q,Ai as Ra,Bg as a,Bh as R,Bi as Sa,Cg as b,Ch as S,Ci as Ta,Dg as c,Dh as T,Di as Ua,Eg as d,Eh as U,Ei as Va,Fh as V,Fi as Wa,Gh as W,Gi as Xa,Hh as X,Hi as Ya,Ih as Y,Ii as Za,Jh as Z,Ji as _a,Kh as _,Ki as $a,Lh as aa,Mh as ba,Nh as ca,Ni as ab,Oh as da,Oi as bb,Pg as e,Ph as ea,Pi as cb,Qg as f,Qh as fa,Qi as db,Rg as g,Rh as ga,Ri as eb,Sg as h,Sh as ha,Si as fb,Tg as i,Th as ia,Ti as gb,Ug as j,Uh as ja,Vg as k,Vh as ka,Wg as l,Wh as la,Xg as m,Xh as ma,Yg as n,Yh as na,Zg as o,Zh as oa,_g as p,_h as pa,ah as r,ai as ra,aj as ib,bh as s,bi as sa,bj as jb,ch as t,ci as ta,cj as kb,dh as u,di as ua,dj as lb,eh as v,ei as va,ej as mb,fh as w,fi as wa,fj as nb,gh as x,gi as xa,gj as ob,hh as y,hi as ya,ih as z,ii as za,jh as A,ji as Aa,ki as Ba,lh as B,li as Ca,mh as C,mi as Da,nh as D,ni as Ea,oh as E,oi as Fa,ph as F,pi as Ga,qh as G,qi as Ha,rh as H,ri as Ia,sh as I,si as Ja,th as J,ti as Ka,uh as K,ui as La,vh as L,vi as Ma,wh as M,wi as Na,xh as N,xi as Oa,yh as O,yi as Pa,zh as P,zi as Qa}from"../chunk-fvpkxznh.js";import"../chunk-n5xmh0ma.js";import"../chunk-6cxb8d6y.js";import"../chunk-ess6vxfj.js";import"../chunk-j1g67djb.js";import"../chunk-ac87ds1k.js";import"../chunk-n1hg0jxs.js";import"../chunk-4wdxsnn2.js";import"../chunk-r8t25tbm.js";import"../chunk-zjyz926j.js";export{_a as AwsBoxProvisioner,s as AwsDriver,Ba as BOOT_PARTITION_LABEL,ya as CloudDriverFactory,e as DEFAULT_RPX_CERTS_DIR,Aa as FIRST_BOOT_SCRIPT_PATH,Za as HetznerBoxProvisioner,B as HetznerClient,K as HetznerDriver,F as LEGACY_DRIVER_STATE_DIR,L as LocalBoxDriver,mb as MANAGED_CACHE_POLICY_DISABLED,lb as MANAGED_CACHE_POLICY_OPTIMIZED,nb as MANAGED_ORIGIN_REQUEST_POLICY_ALL_VIEWER,aa as RASPBERRY_PI_DEFAULT_SWAP_GB,A as REMOTE_SCRIPT_RUNNER,m as RPX_DIR,n as RPX_LAUNCHER_PATH,o as RPX_SERVICE_NAME,Z as SSH_BOOTSTRAP_MARKER_DIR,Y as SSH_BOOTSTRAP_VERSION,da as SSH_DEFAULTS,ta as SSH_DEPLOY_STORAGE_PATH,N as SSH_INSECURE_HOST_KEY_OPTS,O as SSH_KEEPALIVE_OPTS,oa as SSH_PREFLIGHT_SCRIPT,ua as SSH_SKIP_BOOTSTRAP_ENV,wa as SshDriver,X as SystemSshTransport,Xa as UBUNTU_2404_AMI_PARAM,Sa as acquireResizeLock,La as applyHetznerHostOptimization,ba as assertArchSupported,va as assertSshComputeConfig,eb as buildAwsArtifactFetch,Ya as buildBoxUserData,ob as buildCloudFrontOriginConfig,Ca as buildCloudInitFirstBoot,Ka as buildHetznerHostOptimizationScript,gb as buildHostCleanupScript,fb as buildLocalArtifactFetch,j as buildRpxConfig,q as buildRpxFragmentRefreshScript,k as buildRpxLbConfig,p as buildRpxProvisionScript,Q as buildScpArgsFor,bb as buildSiteDeployScript,t as buildSshArgs,P as buildSshArgsFor,ca as buildSshBootstrapScript,cb as buildStaticSiteDeployScript,za as cloudDrivers,Ma as collectHetznerHostOptimizationReport,Ga as collectHetznerResizeManifest,$a as createBoxProvisioner,xa as createCloudDriver,ib as deployAllComputeSites,hb as deploySiteRelease,i as deriveRouteId,a as describeScriptSyntaxError,G as driverStateDir,H as driverStatePath,Ua as ensureFirewall,Va as ensureServer,Ta as ensureSshKey,qa as evaluatePreflight,Fa as executeHetznerServerResize,V as findKnownHostKey,sa as formatPreflightFindings,b as formatSshFailure,g as gatewayHostnames,r as generateUbuntuAppCloudInit,f as hasAutoWwwVariant,M as isBoxMode,Ea as isHetznerCapacityError,U as knownHostsLine,T as knownHostsToken,h as normalizeRoutePath,D as normalizeSshPublicKey,pa as parsePreflightFacts,Da as planHetznerServerResize,ra as preflightFailed,Ha as prepareHetznerResize,I as readDriverState,Qa as readResizeCheckpoint,db as releaseTarballTmpPath,jb as reloadRpxGateway,z as remoteScriptRunner,l as renderRpxLauncher,kb as renewRpxCertificates,Oa as resizeCheckpointPath,Pa as resizeLockPath,ab as resolveExecStart,C as resolveHetznerApiToken,Ja as resolveHetznerHostOptimizationPlan,ia as resolveSshHostKeyPolicy,ea as resolveSshHosts,ma as resolveSshLan,ga as resolveSshPort,ha as resolveSshPrivateKeyPath,ka as resolveSshProfile,la as resolveSshPublicIp,na as resolveSshSettings,ja as resolveSshSudo,fa as resolveSshUser,S as scanHostKey,w as scpUpload,Wa as serverPublicIpv4,_ as sshBootstrapMarkerPath,u as sshExec,v as sshExecOrThrow,R as sshHostKeyFingerprint,W as sshKnownHostsPath,d as summarizeRemoteFailures,c as surfaceRemoteNotices,Na as verifyHetznerHostOptimization,Ia as verifyHetznerResize,y as waitForCloudInit,x as waitForSsh,E as wrapCloudInitUserData,J as writeDriverState,Ra as writeResizeCheckpoint};
1
+ import{hn,vt,nr,Tt,fn,xa,An,yn,Zl,_a,he,or,Mm,In,Oa,Xe,fe,Rt,N,ar,Sn,cr,se,La,Cn,$a,bn,Ma,dr,Ua,ke,z,Qa,Ye,Be,xe,Ze,Ae,cs,Ha,eu,tu,Ga,ru,et,En,qa,nu,iu,Va,lr,ye,ja,su,ou,ds,vn,tt,au,cu,du,lu,uu,pu,gu,mu,hu,Tn,wn,Rn,Dn,Pn,Nn,kn,fu,Au,ur,k,ls,yu,Iu,Su,za,Cu,bu,Fm,Ka,Um,Qm,Eu,vu,Hm,Gm,qm,Wa,Tu,Vm,jm,zm,Bn,xn,_n,On,Ja,Xa,Ya,Za,Km,Ln,$n,Mn,Un,ec,tc,Qn,gs,ic,Gn,sc,Wm,Jm,Xm,Ym}from"../chunk-tnjae324.js";import"../chunk-6nvn041c.js";import"../chunk-jb8em9ba.js";import"../chunk-3kapcdpn.js";import"../chunk-30h9rgfn.js";import"../chunk-wpqj98h8.js";import"../chunk-1n3ckctd.js";export{Za as AwsBoxProvisioner,ar as AwsDriver,Su as BOOT_PARTITION_LABEL,ls as CloudDriverFactory,xa as DEFAULT_RPX_CERTS_DIR,Iu as FIRST_BOOT_SCRIPT_PATH,Ya as HetznerBoxProvisioner,dr as HetznerClient,Ae as HetznerDriver,Qa as LEGACY_DRIVER_STATE_DIR,cs as LocalBoxDriver,Jm as MANAGED_CACHE_POLICY_DISABLED,Wm as MANAGED_CACHE_POLICY_OPTIMIZED,Xm as MANAGED_ORIGIN_REQUEST_POLICY_ALL_VIEWER,ou as RASPBERRY_PI_DEFAULT_SWAP_GB,Ma as REMOTE_SCRIPT_RUNNER,In as RPX_DIR,Oa as RPX_LAUNCHER_PATH,Xe as RPX_SERVICE_NAME,ja as SSH_BOOTSTRAP_MARKER_DIR,ye as SSH_BOOTSTRAP_VERSION,tt as SSH_DEFAULTS,kn as SSH_DEPLOY_STORAGE_PATH,eu as SSH_INSECURE_HOST_KEY_OPTS,tu as SSH_KEEPALIVE_OPTS,wn as SSH_PREFLIGHT_SCRIPT,fu as SSH_SKIP_BOOTSTRAP_ENV,ur as SshDriver,lr as SystemSshTransport,Ja as UBUNTU_2404_AMI_PARAM,zm as acquireResizeLock,Hm as applyHetznerHostOptimization,ds as assertArchSupported,Au as assertSshComputeConfig,ec as buildAwsArtifactFetch,Xa as buildBoxUserData,Ym as buildCloudFrontOriginConfig,za as buildCloudInitFirstBoot,vu as buildHetznerHostOptimizationScript,Qn as buildHostCleanupScript,tc as buildLocalArtifactFetch,he as buildRpxConfig,Rt as buildRpxFragmentRefreshScript,or as buildRpxLbConfig,fe as buildRpxProvisionScript,ru as buildScpArgsFor,$n as buildSiteDeployScript,Sn as buildSshArgs,Ga as buildSshArgsFor,vn as buildSshBootstrapScript,Mn as buildStaticSiteDeployScript,yu as cloudDrivers,Gm as collectHetznerHostOptimizationReport,Ka as collectHetznerResizeManifest,Km as createBoxProvisioner,k as createCloudDriver,ic as deployAllComputeSites,gs as deploySiteRelease,_a as deriveRouteId,hn as describeScriptSyntaxError,Ye as driverStateDir,Be as driverStatePath,xn as ensureFirewall,_n as ensureServer,Bn as ensureSshKey,Dn as evaluatePreflight,Fm as executeHetznerServerResize,iu as findKnownHostKey,Nn as formatPreflightFindings,vt as formatSshFailure,yn as gatewayHostnames,N as generateUbuntuAppCloudInit,An as hasAutoWwwVariant,Ha as isBoxMode,bu as isHetznerCapacityError,fn as isLocalDatabase,nu as knownHostsLine,qa as knownHostsToken,Zl as normalizeRoutePath,ke as normalizeSshPublicKey,Rn as parsePreflightFacts,Cu as planHetznerServerResize,Pn as preflightFailed,Um as prepareHetznerResize,xe as readDriverState,Vm as readResizeCheckpoint,Un as releaseTarballTmpPath,Gn as reloadRpxGateway,bn as remoteScriptRunner,Mm as renderRpxLauncher,sc as renewRpxCertificates,Wa as resizeCheckpointPath,Tu as resizeLockPath,Ln as resolveExecStart,Ua as resolveHetznerApiToken,Eu as resolveHetznerHostOptimizationPlan,uu as resolveSshHostKeyPolicy,au as resolveSshHosts,hu as resolveSshLan,du as resolveSshPort,lu as resolveSshPrivateKeyPath,gu as resolveSshProfile,mu as resolveSshPublicIp,Tn as resolveSshSettings,pu as resolveSshSudo,cu as resolveSshUser,En as scanHostKey,La as scpUpload,On as serverPublicIpv4,su as sshBootstrapMarkerPath,cr as sshExec,se as sshExecOrThrow,et as sshHostKeyFingerprint,Va as sshKnownHostsPath,Tt as summarizeRemoteFailures,nr as surfaceRemoteNotices,qm as verifyHetznerHostOptimization,Qm as verifyHetznerResize,$a as waitForCloudInit,Cn as waitForSsh,z as wrapCloudInitUserData,Ze as writeDriverState,jm as writeResizeCheckpoint};
@@ -49,18 +49,6 @@ export declare function buildManagementDashboardServiceReconciliationScript(slug
49
49
  * without `start`, shipped to `/var/www/<site>`). Bucket sites are skipped.
50
50
  */
51
51
  export declare function deployAllComputeSites(options: DeployAllSitesOptions): Promise<boolean>;
52
- /**
53
- * Regenerate the rpx gateway config from the sites model and (re)start the
54
- * gateway. No-op (returns `true`) unless `compute.proxy.engine === 'rpx'`.
55
- *
56
- * Two shapes, resolved by probing for a dedicated load-balancer target:
57
- * - **Fleet** (bun-style: one rpx LB box fronts N gateway-less app boxes) —
58
- * rewrite ONLY the LB's route fragment with the multi-upstream LB config
59
- * ({@link buildRpxLbConfig} + {@link buildRpxFragmentRefreshScript}).
60
- * - **Single box** — the gateway is co-located with the app, so the full
61
- * provision script runs on the app targets. Re-runnable: it rewrites the
62
- * launcher + unit and `systemctl restart`s, reloading the new routes.
63
- */
64
52
  export declare function reloadRpxGateway(options: DeployAllSitesOptions): Promise<boolean>;
65
53
  /**
66
54
  * Request the first production certificates after DNS has been reconciled.
@@ -19,10 +19,27 @@
19
19
  * It replaces the old Caddyfile generation — pantry/stacks use rpx (their own
20
20
  * tooling), so the gateway is rpx, not Caddy.
21
21
  */
22
- import type { ComputeProxyConfig, RpxLoadBalancerConfig, SiteConfig, SiteRedirectConfig } from '@ts-cloud/core';
22
+ import type { CloudConfig, ComputeProxyConfig, RpxLoadBalancerConfig, SiteConfig, SiteRedirectConfig } from '@ts-cloud/core';
23
23
  /** Default directory on the box that holds real per-domain TLS certs. */
24
24
  export declare const DEFAULT_RPX_CERTS_DIR = "/etc/rpx/certs";
25
- /** Whether the gateway adds a `www.` redirect for `domain` on its own. */
25
+ /**
26
+ * Where the LAN certificate authority lives on the box. rpx writes the CA
27
+ * (`rpx-root-ca.crt` / `.key`) and the leaf it signs here; the CA cert is the
28
+ * one file an operator copies off the box to trust on a laptop or a phone.
29
+ */
30
+ export declare const DEFAULT_LOCAL_CA_DIR = "/etc/rpx/local-ca";
31
+ /** rpx's own filename for the CA certificate inside {@link DEFAULT_LOCAL_CA_DIR}. */
32
+ export declare const LOCAL_CA_ROOT_CERT_FILENAME = "rpx-root-ca.crt";
33
+ /** Absolute path to the CA certificate a client has to trust. */
34
+ export declare function localCaCertPath(dir?: string): string;
35
+ /**
36
+ * Whether the gateway adds a `www.` redirect for `domain` on its own.
37
+ *
38
+ * Apex domains only, and never an mDNS name: `pi-app.local` also has two
39
+ * labels, but nobody types `www.pi-app.local`, no LAN resolves it, and the
40
+ * route it would create is a host the LAN certificate does not cover, so it
41
+ * is a browser warning on a name that exists for no reason.
42
+ */
26
43
  export declare function hasAutoWwwVariant(domain: string): boolean;
27
44
  /**
28
45
  * Every hostname the gateway will answer for a sites config.
@@ -137,6 +154,68 @@ export interface RpxRoute {
137
154
  * enabled (default) AND a password is present — no password is ever invented.
138
155
  */
139
156
  export declare function resolveRouteAuth(site: SiteConfig): RpxRoute['auth'];
157
+ /**
158
+ * The gateway's LAN certificate authority, mirroring rpx's `LocalCaConfig`
159
+ * (see `@stacksjs/rpx`'s `types.ts`, available since 0.11.49). rpx loads or
160
+ * creates the CA under `dir`, signs ONE leaf covering `hosts` + `ips`, and
161
+ * registers it both per server name and as the default TLS context, so a
162
+ * connection that sends no SNI at all (an IP-literal URL) still gets it.
163
+ */
164
+ export interface RpxLocalCaConfig {
165
+ /** Directory holding the CA and the leaf it signs. See {@link DEFAULT_LOCAL_CA_DIR}. */
166
+ dir: string;
167
+ /** dNSName SANs on the leaf, e.g. `['pi-app.local']`. Never empty. */
168
+ hosts: string[];
169
+ /** iPAddress SANs, so the box is also reachable by address over TLS. */
170
+ ips?: string[];
171
+ /** Install the CA into the box's OWN system trust store (rpx runs as root here). */
172
+ installTrust?: boolean;
173
+ /** Leaf validity in days. Omitted so rpx applies its documented default (825). */
174
+ validityDays?: number;
175
+ /** Re-mint when fewer than this many days remain. Omitted for rpx's default (30). */
176
+ renewBeforeDays?: number;
177
+ }
178
+ /**
179
+ * LAN settings for a gateway on a host that is not on the public internet.
180
+ *
181
+ * This is the ONLY input that makes {@link buildRpxConfig} emit `localCa` or
182
+ * `https: false`, and it is passed exclusively on the ssh-provider path (see
183
+ * {@link resolveGatewayLan}), which is what keeps every cloud driver's
184
+ * emitted config byte-identical to what it produced before LAN TLS existed.
185
+ */
186
+ export interface RpxLanOptions {
187
+ /** The LAN name the gateway's certificate covers. Defaults to `<slug>.local`. */
188
+ hostname?: string;
189
+ /** `'local-ca'` issues a LAN certificate; `'off'` serves plain HTTP. @default 'local-ca' */
190
+ tls?: 'local-ca' | 'off';
191
+ /**
192
+ * The box's LAN address, when it is actually known: the ssh preflight's
193
+ * `lanIp`, else the configured ssh host when that is an IP literal. Never
194
+ * guessed: a wrong iPAddress SAN is worse than an absent one.
195
+ */
196
+ ip?: string;
197
+ }
198
+ /** `lan.tls` with its default applied, or `undefined` when there is no LAN config. */
199
+ export declare function lanTlsMode(lan?: RpxLanOptions): 'local-ca' | 'off' | undefined;
200
+ /**
201
+ * The LAN options for a config, or `undefined` when LAN TLS does not apply.
202
+ *
203
+ * The provider gate lives HERE, in one function, rather than at each call
204
+ * site: `ssh.lan` is meaningless for a cloud box (a Hetzner host has no LAN an
205
+ * operator can reach), and a driver that reads it anyway would start emitting
206
+ * a `localCa` the box can never use. Callers with resolved ssh settings should
207
+ * pass those instead; this reads `cloud.config.ts` alone, so a `TS_CLOUD_SSH_*`
208
+ * override is not visible to it.
209
+ */
210
+ export declare function resolveGatewayLan(config: Pick<CloudConfig, 'cloud' | 'ssh'>, lanIp?: string): RpxLanOptions | undefined;
211
+ /** The host profile the gateway unit should be tuned for, when one is known. */
212
+ export declare function resolveGatewayProfile(config: Pick<CloudConfig, 'cloud' | 'ssh'>): 'raspberry-pi' | 'generic' | undefined;
213
+ /**
214
+ * Is `domain` a name only a LAN can resolve? Either an mDNS `.local` name or a
215
+ * bare single-label hostname. Public CAs cannot issue for either, so these are
216
+ * exactly the names that need the box's own CA instead.
217
+ */
218
+ export declare function isLanHostname(domain: string): boolean;
140
219
  /** The rpx daemon/proxy config produced from a sites model. */
141
220
  export interface RpxGatewayConfig {
142
221
  /** Multi-proxy route list (host + path keyed). */
@@ -167,8 +246,18 @@ export interface RpxGatewayConfig {
167
246
  * down to free `:80`. Omitted ⇒ the `:80` server only redirects.
168
247
  */
169
248
  acmeChallengeWebroot?: string;
170
- /** Always `true` — the gateway terminates TLS on the box. */
171
- https: true;
249
+ /**
250
+ * `true` (the only value any public deploy produces) terminates TLS on the
251
+ * box. `false` is the LAN opt-out (`ssh.lan.tls: 'off'`): rpx then binds the
252
+ * HTTP port only, and nothing on `:443`.
253
+ */
254
+ https: boolean;
255
+ /**
256
+ * LAN certificate authority: rpx signs one leaf for these names with a CA it
257
+ * keeps on the box. Emitted ONLY on the ssh-provider path; see
258
+ * {@link RpxLanOptions}.
259
+ */
260
+ localCa?: RpxLocalCaConfig;
172
261
  /** Never touch `/etc/hosts` on a real server with real DNS. */
173
262
  hostsManagement: false;
174
263
  /** Don't remove certs/hosts on exit. */
@@ -199,6 +288,12 @@ export interface BuildRpxConfigOptions {
199
288
  * wrong directory.
200
289
  */
201
290
  slug?: string;
291
+ /**
292
+ * LAN settings for a host with no public DNS. Passed on the ssh-provider
293
+ * path only (see {@link resolveGatewayLan}); every other driver leaves it
294
+ * undefined and gets exactly the config it always got.
295
+ */
296
+ lan?: RpxLanOptions;
202
297
  }
203
298
  /**
204
299
  * Normalize a path prefix to a leading-slash, no-trailing-slash form, or
@@ -313,7 +408,32 @@ export interface BuildRpxProvisionOptions {
313
408
  bunBin?: string;
314
409
  /** Keep the dashboard route currently running on the box during an app-only deploy. */
315
410
  preserveManagementDashboardRoutes?: boolean;
411
+ /**
412
+ * Host profile, when the caller knows it (the ssh provider resolves one; the
413
+ * cloud drivers do not and leave this undefined, keeping their unit byte for
414
+ * byte what it was). `raspberry-pi` lowers the gateway's memory ceilings, see
415
+ * {@link RASPBERRY_PI_PROXY_MEMORY}.
416
+ */
417
+ profile?: 'raspberry-pi' | 'generic';
316
418
  }
419
+ /**
420
+ * Gateway cgroup ceilings by host profile.
421
+ *
422
+ * The generic defaults are sized for a 4G+ cloud box. A Pi is commonly a 2G
423
+ * board also running the app, a database and swap on an SD card, where a
424
+ * 768M ceiling is not a bound at all: the gateway can take a third of RAM
425
+ * before systemd notices, and the reclaim that follows lands on the SD card.
426
+ * The gateway's steady state is well under 100M on either machine, so the
427
+ * lower pair still leaves the same order of magnitude of burst room.
428
+ */
429
+ export declare const RASPBERRY_PI_PROXY_MEMORY: {
430
+ readonly high: '256M';
431
+ readonly max: '384M';
432
+ };
433
+ export declare const DEFAULT_PROXY_MEMORY: {
434
+ readonly high: '512M';
435
+ readonly max: '768M';
436
+ };
317
437
  export declare const RPX_CERT_RENEW_SCRIPT = "/etc/rpx/renew-certs.sh";
318
438
  export declare const RPX_CERT_RENEW_SERVICE = "rpx-cert-renew.service";
319
439
  export declare const RPX_CERT_RENEW_TIMER = "rpx-cert-renew.timer";
@@ -36,16 +36,26 @@ export interface SshBootstrapOptions {
36
36
  config: CloudConfig;
37
37
  environment: EnvironmentType;
38
38
  profile: SshProfile;
39
- /** Preflight facts, when the host has been probed; `arch` gates x86_64-only services. */
40
- facts?: Pick<SshPreflightFacts, 'arch'>;
39
+ /**
40
+ * Preflight facts, when the host has been probed. `arch` gates x86_64-only
41
+ * services; `lanIp` becomes the LAN certificate's iPAddress SAN.
42
+ */
43
+ facts?: Pick<SshPreflightFacts, 'arch'> & Partial<Pick<SshPreflightFacts, 'lanIp'>>;
41
44
  /**
42
45
  * The non-root deploy user, when there is one. Makes the artifact and
43
46
  * staging directories group-writable for it and manages its
44
47
  * `authorized_keys` rather than root's.
45
48
  */
46
49
  sudoUser?: string;
47
- /** LAN settings; recorded in the script header today, wired to the gateway by the local-CA work. */
50
+ /** LAN settings; recorded in the script header and wired into the gateway's local CA. */
48
51
  lan?: SshLanConfig;
52
+ /**
53
+ * The box's LAN address, when the caller knows one that is not in `facts`
54
+ * (the configured ssh host, when that host is an IP literal). Wins over
55
+ * `facts.lanIp`. Never guessed: an address absent here is simply left off
56
+ * the certificate.
57
+ */
58
+ lanIp?: string;
49
59
  }
50
60
  /**
51
61
  * Refuse a config that asks for something this host's architecture cannot
@@ -52,8 +52,15 @@ export declare function resolveSshSudo(config?: CloudConfig, user?: string, expl
52
52
  export declare function resolveSshProfile(config?: CloudConfig, explicit?: string): SshProfile;
53
53
  /** The public IP DNS should point at: `'auto'` or a literal address. */
54
54
  export declare function resolveSshPublicIp(config?: CloudConfig, explicit?: string): string;
55
- /** LAN access settings; empty when unset. */
56
- export declare function resolveSshLan(config?: CloudConfig, explicit?: SshLanConfig): SshLanConfig;
55
+ /**
56
+ * LAN access settings, or `undefined` when the project configured none.
57
+ *
58
+ * This used to answer `{}` for "unset", which reads as a LAN with defaults
59
+ * once anything acts on it: with the gateway now wired to `lan`, that sentinel
60
+ * would give every adopted host a local certificate authority for
61
+ * `<slug>.local` that nobody asked for. Absent has to be absent.
62
+ */
63
+ export declare function resolveSshLan(config?: CloudConfig, explicit?: SshLanConfig): SshLanConfig | undefined;
57
64
  /** One host with every per-host value resolved. */
58
65
  export interface ResolvedSshHost {
59
66
  host: string;
@@ -69,7 +76,8 @@ export interface ResolvedSshSettings {
69
76
  sudo: boolean;
70
77
  profile: SshProfile;
71
78
  publicIp: string;
72
- lan: SshLanConfig;
79
+ /** LAN access settings, or `undefined` when this project configured none. */
80
+ lan?: SshLanConfig;
73
81
  }
74
82
  export interface SshOverrides {
75
83
  hosts?: SshHostConfig[];
package/dist/index.d.ts CHANGED
@@ -39,7 +39,7 @@ export { collectServerDnsDomains, hostAcceptsIpv6, IPV6_EXCLUDED_HOST_LABELS, no
39
39
  export type { AddressRecordReport } from './deploy/server-dns';
40
40
  export * from './cdn';
41
41
  export type { EnsureDashboardLogger, ResolvedDashboardAuth, StaticSiteConfig, DeployResult, UploadOptions, ExternalDnsStaticSiteConfig, ExternalDnsDeployResult, DeploySiteConfig, DeploySiteResult, StaticSiteDnsProvider, SiteDeployKind, DeploymentValidationResult, BuildImageOptions, BuiltImage, CodeSource, DeployServerlessOptions, ResolvedContext, } from './deploy';
42
- export { createCloudDriver, CloudDriverFactory, cloudDrivers, AwsDriver, HetznerDriver, SshDriver, SystemSshTransport, resolveSshSettings, buildSshBootstrapScript, SSH_BOOTSTRAP_VERSION, evaluatePreflight, formatPreflightFindings, parsePreflightFacts, preflightFailed, SSH_PREFLIGHT_SCRIPT, buildCloudInitFirstBoot, driverStatePath, readDriverState, writeDriverState, HetznerClient, resolveHetznerApiToken, normalizeSshPublicKey, ensureFirewall, ensureServer, ensureSshKey, serverPublicIpv4, sshExec, sshExecOrThrow, scpUpload, waitForSsh, waitForCloudInit, buildSshArgs, generateUbuntuAppCloudInit, wrapCloudInitUserData, buildHostCleanupScript, buildSiteDeployScript, buildStaticSiteDeployScript, resolveExecStart, deployAllComputeSites, deploySiteRelease, reloadRpxGateway, renewRpxCertificates, gatewayHostnames, hasAutoWwwVariant, } from './drivers';
42
+ export { createCloudDriver, CloudDriverFactory, cloudDrivers, AwsDriver, HetznerDriver, SshDriver, SystemSshTransport, resolveSshSettings, buildSshBootstrapScript, SSH_BOOTSTRAP_VERSION, evaluatePreflight, formatPreflightFindings, parsePreflightFacts, preflightFailed, SSH_PREFLIGHT_SCRIPT, buildCloudInitFirstBoot, driverStatePath, readDriverState, writeDriverState, HetznerClient, resolveHetznerApiToken, normalizeSshPublicKey, ensureFirewall, ensureServer, ensureSshKey, serverPublicIpv4, sshExec, sshExecOrThrow, scpUpload, waitForSsh, waitForCloudInit, buildSshArgs, generateUbuntuAppCloudInit, wrapCloudInitUserData, buildHostCleanupScript, buildSiteDeployScript, buildStaticSiteDeployScript, resolveExecStart, deployAllComputeSites, deploySiteRelease, isLocalDatabase, reloadRpxGateway, renewRpxCertificates, gatewayHostnames, hasAutoWwwVariant, } from './drivers';
43
43
  export type { CreateCloudDriverOptions } from './drivers/factory';
44
44
  export type { DriverState, FirstBootBundle, FirstBootIdentity, FirstBootOs, ResolvedSshSettings, SshDriverOptions, SshDriverState, SshPreflightFacts, SshTransport, SshTransportOptions, } from './drivers';
45
45
  export { dashboardActions, resolveDashboardAction, sanitizeCloudConfig, startLocalDashboardServer, } from './deploy/local-dashboard-server';