@stacksjs/ts-cloud 0.16.58 → 0.16.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aws/index.js +1 -1
- package/dist/bin/{chunk-wzpsq446.js → chunk-06rjt80a.js} +1 -1
- package/dist/bin/{chunk-gvv4hn0h.js → chunk-0dmf1a2q.js} +2 -2
- package/dist/bin/{chunk-8t01yv89.js → chunk-0f8jky3x.js} +8 -8
- package/dist/bin/{chunk-zp1cxtbh.js → chunk-0rvg0ma7.js} +2 -2
- package/dist/bin/{chunk-4crz28b9.js → chunk-1mb679gj.js} +1 -1
- package/dist/bin/{chunk-7p70c4br.js → chunk-1z4hxpwe.js} +2 -2
- package/dist/bin/{chunk-bzzwbkrx.js → chunk-27rh6te6.js} +6 -6
- package/dist/bin/{chunk-4fkmd2ce.js → chunk-37gemrn2.js} +1 -1
- package/dist/bin/chunk-40963a0r.js +1 -0
- package/dist/bin/chunk-4zsp269q.js +1 -0
- package/dist/bin/{chunk-1gznb7bh.js → chunk-551brgyd.js} +2 -2
- package/dist/bin/chunk-57sers7y.js +1 -0
- package/dist/bin/{chunk-agakphd1.js → chunk-5cmj2m13.js} +1 -1
- package/dist/bin/chunk-8vmy8yhf.js +1 -0
- package/dist/bin/{chunk-nva480hg.js → chunk-8z2436dv.js} +2 -2
- package/dist/bin/{chunk-5mnfp9ae.js → chunk-9hb2wkkt.js} +1 -1
- package/dist/bin/{chunk-zpjy26jk.js → chunk-acn2c3ep.js} +3 -3
- package/dist/bin/chunk-at4x6wf2.js +1 -0
- package/dist/bin/{chunk-enmw6v4x.js → chunk-bd4ppf6w.js} +1 -1
- package/dist/bin/{chunk-n2jh5p5x.js → chunk-bss9yv52.js} +2 -2
- package/dist/bin/{chunk-9292d4yb.js → chunk-c1dwwtkq.js} +84 -84
- package/dist/bin/chunk-cmkvxf6c.js +1 -0
- package/dist/bin/{chunk-ebhfg18g.js → chunk-cvps1wjq.js} +5 -5
- package/dist/bin/{chunk-q0takzyx.js → chunk-dwq5vgdc.js} +2 -2
- package/dist/bin/{chunk-tdftrmyx.js → chunk-e19dabas.js} +1 -1
- package/dist/bin/chunk-ed4vh6b4.js +1 -0
- package/dist/bin/{chunk-yn3499yh.js → chunk-fqvqqtg6.js} +1 -1
- package/dist/bin/{chunk-t8qzx4ka.js → chunk-hc9tnwqs.js} +173 -173
- package/dist/bin/{chunk-37aphhk9.js → chunk-hs2r1nsg.js} +3 -3
- package/dist/bin/chunk-kj0eewaq.js +1 -0
- package/dist/bin/{chunk-0vfw6xy0.js → chunk-mt70pxs8.js} +1 -1
- package/dist/bin/{chunk-p1eqv66t.js → chunk-nn1w8fvd.js} +48 -48
- package/dist/bin/{chunk-nnrta1g9.js → chunk-pntcdh4x.js} +1 -1
- package/dist/bin/{chunk-qvrfaeqq.js → chunk-qt6rjw6v.js} +1 -1
- package/dist/bin/{chunk-vmrkqtch.js → chunk-r99jcm9t.js} +1 -1
- package/dist/bin/{chunk-7cactd6c.js → chunk-rq0wxfyp.js} +1 -1
- package/dist/bin/chunk-sfwm3wzx.js +1 -0
- package/dist/bin/{chunk-v0g82agx.js → chunk-x8gqdr3m.js} +1 -1
- package/dist/bin/{chunk-pr5c0q0k.js → chunk-yydj05nb.js} +4 -4
- package/dist/bin/{chunk-a4z8b18n.js → chunk-zgasmfgt.js} +1 -1
- package/dist/bin/cli.js +238 -238
- package/dist/bin/dashboard-server.js +1 -1
- package/dist/{chunk-e42gpavb.js → chunk-1a7ms51t.js} +5 -5
- package/dist/{chunk-qjp3f5y8.js → chunk-2pqjw8pq.js} +7 -7
- package/dist/chunk-3855mx54.js +1 -0
- package/dist/{chunk-d245va6b.js → chunk-3h5vgz4z.js} +2 -2
- package/dist/{chunk-v4vz0e85.js → chunk-6ky22rmg.js} +1 -1
- package/dist/{chunk-y2dej583.js → chunk-7bzyjfb1.js} +109 -103
- package/dist/{chunk-c482jhc6.js → chunk-7md90ny0.js} +2 -2
- package/dist/chunk-92yhw6da.js +1 -0
- package/dist/{chunk-184bvh5s.js → chunk-95qrgpjk.js} +19 -19
- package/dist/chunk-9tbx7g94.js +1 -0
- package/dist/{chunk-430acqjk.js → chunk-b1v1301e.js} +25 -25
- package/dist/{chunk-2hma3g5q.js → chunk-c87bg8wk.js} +2 -2
- package/dist/{chunk-hybz2q8w.js → chunk-cwqqv7dx.js} +4 -4
- package/dist/{chunk-vgtqd3sb.js → chunk-dp0hvmd0.js} +1 -1
- package/dist/{chunk-a99wz633.js → chunk-j2bpd2v9.js} +5 -5
- package/dist/{chunk-stc3ykm3.js → chunk-jg2m713e.js} +14 -14
- package/dist/{chunk-80bgb48v.js → chunk-mkvqcd3x.js} +2 -2
- package/dist/{chunk-gmtds745.js → chunk-nq6cqjfv.js} +1 -1
- package/dist/{chunk-mp2y4t6w.js → chunk-pqyv47m4.js} +1 -1
- package/dist/{chunk-smt4t6rc.js → chunk-qb8cf1ss.js} +2 -2
- package/dist/{chunk-94z7s8ky.js → chunk-qdaj5yyh.js} +5 -5
- package/dist/chunk-qkycmppw.js +1 -0
- package/dist/{chunk-wbbbpt4v.js → chunk-rxh9dkpd.js} +5 -5
- package/dist/{chunk-qyr5hn6v.js → chunk-ryce2n62.js} +3 -3
- package/dist/{chunk-jyvnfny6.js → chunk-tj3egckk.js} +3 -3
- package/dist/{chunk-y7k5872m.js → chunk-w174jbbm.js} +2 -2
- package/dist/chunk-wtp36fj6.js +1 -0
- package/dist/{chunk-apj1eqcy.js → chunk-x6a2e5sx.js} +4 -4
- package/dist/chunk-x8fg8zg8.js +2 -0
- package/dist/{chunk-yt8qgn5d.js → chunk-y9q6sv2q.js} +6 -6
- package/dist/{chunk-nhsefr22.js → chunk-yece1kc4.js} +7 -7
- package/dist/{chunk-zvcd6x45.js → chunk-z5as1fa7.js} +141 -141
- package/dist/{chunk-4f0b21fp.js → chunk-za23j2mq.js} +149 -149
- package/dist/chunk-zwckda2e.js +1 -0
- package/dist/deploy/index.js +1 -1
- package/dist/dns/index.js +1 -1
- package/dist/drivers/hetzner/client.d.ts +6 -0
- package/dist/drivers/index.d.ts +2 -0
- package/dist/drivers/index.js +1 -1
- package/dist/drivers/shared/box-converge.d.ts +58 -0
- package/dist/drivers/shared/box-converge.test.d.ts +1 -0
- package/dist/drivers/shared/package-manager.d.ts +2 -0
- package/dist/index.js +46 -46
- package/dist/mail/index.js +2 -2
- package/dist/operations/index.js +1 -1
- package/dist/protection/index.js +1 -1
- package/dist/spend/index.js +1 -1
- package/dist/ui/404.html +1 -1
- package/dist/ui/accept-invitation.html +1 -1
- package/dist/ui/access-denied.html +1 -1
- package/dist/ui/account/automation.html +6 -6
- package/dist/ui/account/security.html +2 -2
- package/dist/ui/applications/compose.html +6 -6
- package/dist/ui/applications/new.html +2 -2
- package/dist/ui/data/backups.html +6 -6
- package/dist/ui/data/services.html +6 -6
- package/dist/ui/data/volumes.html +6 -6
- package/dist/ui/index.html +5 -5
- package/dist/ui/infrastructure/topology.html +5 -5
- package/dist/ui/integrations.html +2 -2
- package/dist/ui/operations/alerts.html +6 -6
- package/dist/ui/operations/configuration.html +6 -6
- package/dist/ui/operations/jobs.html +5 -5
- package/dist/ui/operations/maintenance.html +6 -6
- package/dist/ui/operations/observability.html +6 -6
- package/dist/ui/operations/previews.html +6 -6
- package/dist/ui/operations/queue.html +6 -6
- package/dist/ui/operations/regions.html +6 -6
- package/dist/ui/operations/releases.html +6 -6
- package/dist/ui/operations/spend.html +6 -6
- package/dist/ui/operations/workloads.html +6 -6
- package/dist/ui/security.html +1 -1
- package/dist/ui/server/actions.html +6 -6
- package/dist/ui/server/activity.html +1 -1
- package/dist/ui/server/capacity.html +5 -5
- package/dist/ui/server/database.html +6 -6
- package/dist/ui/server/deployments.html +6 -6
- package/dist/ui/server/diagnostics.html +2 -2
- package/dist/ui/server/firewall.html +6 -6
- package/dist/ui/server/fleet.html +6 -6
- package/dist/ui/server/logs.html +6 -6
- package/dist/ui/server/metrics.html +6 -6
- package/dist/ui/server/security.html +1 -1
- package/dist/ui/server/services.html +2 -2
- package/dist/ui/server/sites.html +6 -6
- package/dist/ui/server/ssh-keys.html +6 -6
- package/dist/ui/server/team.html +6 -6
- package/dist/ui/server/terminal.html +2 -2
- package/dist/ui/serverless/alarms.html +6 -6
- package/dist/ui/serverless/assets.html +2 -2
- package/dist/ui/serverless/cost.html +2 -2
- package/dist/ui/serverless/data.html +5 -5
- package/dist/ui/serverless/deployments.html +2 -2
- package/dist/ui/serverless/firewall.html +1 -1
- package/dist/ui/serverless/functions.html +6 -6
- package/dist/ui/serverless/logs.html +6 -6
- package/dist/ui/serverless/metrics.html +1 -1
- package/dist/ui/serverless/queues.html +5 -5
- package/dist/ui/serverless/secrets.html +6 -6
- package/dist/ui/serverless/traces.html +6 -6
- package/dist/ui/serverless.html +6 -6
- package/package.json +3 -3
- package/dist/bin/chunk-32nkkq9k.js +0 -1
- package/dist/bin/chunk-5s91mpty.js +0 -1
- package/dist/bin/chunk-5wz1e4ne.js +0 -1
- package/dist/bin/chunk-71vhvzhv.js +0 -1
- package/dist/bin/chunk-erdz4875.js +0 -1
- package/dist/bin/chunk-kj1e4xvg.js +0 -1
- package/dist/bin/chunk-sgkyg842.js +0 -1
- package/dist/bin/chunk-t2ec6d8h.js +0 -1
- package/dist/bin/chunk-wg9zm31f.js +0 -1
- package/dist/chunk-27ny16g8.js +0 -1
- package/dist/chunk-2n3c5axm.js +0 -1
- package/dist/chunk-5yrabpmr.js +0 -1
- package/dist/chunk-7ag4wc74.js +0 -2
- package/dist/chunk-bg89ad2e.js +0 -1
- package/dist/chunk-e5xg3p1x.js +0 -1
- package/dist/chunk-xfced13z.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{qn,Lh}from"./chunk-ryce2n62.js";import"./chunk-w174jbbm.js";import"./chunk-tj3egckk.js";import"./chunk-1a7ms51t.js";export{qn as EmailClient,Lh as email};
|
package/dist/deploy/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Rn,Dn,Wu,Ss,Ju,Xu,Yu,Wa,Zu,eg,fh,tg,v,rg,Is,Me,ng,ig,VS,sg,og,ag,cg,dg,hh,qS,jS,zS,Ah,yh,KS,WS,Sh,Ih,JS,bs,Ir,Ja,Pn,kn,br,ct,Mt,Cs,bh,Nn,lg,ug,Xa,vs,xn,Ts,uc}from"../chunk-za23j2mq.js";import{gc,On,_n,ws,Rs,Ds,Ps,pc,mc}from"../chunk-qdaj5yyh.js";import{fc}from"../chunk-cwqqv7dx.js";import"../chunk-yece1kc4.js";import"../chunk-ryce2n62.js";import"../chunk-jg2m713e.js";import"../chunk-dp0hvmd0.js";import"../chunk-pqyv47m4.js";import"../chunk-qb8cf1ss.js";import"../chunk-w174jbbm.js";import{Pg,Bc,kg,De,xc,Jn,Ng,Oc,nd,so,id,Zt,Ti,oo}from"../chunk-7bzyjfb1.js";import"../chunk-y9q6sv2q.js";import"../chunk-mkvqcd3x.js";import"../chunk-3h5vgz4z.js";import"../chunk-tj3egckk.js";import"../chunk-1a7ms51t.js";import{Ct,vA,fd,Ni,Bi,xi,Vp}from"../chunk-x6a2e5sx.js";import{U,qr,jr,hd,fo,d,TA,qp,jp,PI,kI}from"../chunk-c87bg8wk.js";import"../chunk-b1v1301e.js";import"../chunk-z5as1fa7.js";import"../chunk-j2bpd2v9.js";export{vA as DEFAULT_SITE_PORT_RANGE,Ct as HOST_SITES_DIR,xc as IPV6_EXCLUDED_HOST_LABELS,nd as MANAGEMENT_DASHBOARD_SITE,Rn as addSiteToCloudConfig,Vp as allocateSitePorts,JS as buildAndPushContainerImage,fc as buildAndPushServerlessImage,Ir as buildFunctionEnv,Bi as buildHostSitePortsScript,oo as buildManagementDashboardArtifact,Mt as buildServerTopology,Cs as buildServerlessTopology,bh as buildTopology,Xa as collectEgressMetrics,Pg as collectServerDnsDomains,Ih as createContainerImageDependencies,Ah as createExistingStaticFullStackDependencies,hh as createStaticApiOriginDependencies,xn as dashboardActions,so as dashboardCredentialsFile,ng as dashboardPageRoutes,cg as deleteFailoverReplicaBuckets,pc as deleteStaticSite,KS as deployExistingStaticFullStack,Ja as deployServerlessApp,kI as deployShipsFiles,dg as deploySite,qS as deployStaticApiOrigin,Rs as deployStaticSite,mc as deployStaticSiteFull,On as deployStaticSiteWithExternalDns,_n as deployStaticSiteWithExternalDnsFull,lg as egressReportMetrics,v as ensureDashboardActor,sg as ensureFailoverReplicaBuckets,Ti as ensureManagementDashboard,WS as estimateExistingStaticFullStackMonthlyCost,zS as estimateStaticApiOriginMonthlyCost,ug as fetchEgressReport,yh as generateExistingStaticFullStackTemplate,gc as generateExternalDnsStaticSiteTemplate,ws as generateStaticSiteTemplate,og as grantFailoverReplicaAccess,TA as hasComputeConfigured,hd as hasProxyUpstream,Sh as hashContainerContext,Jn as hostAcceptsIpv6,bs as infraEnvFromOutputs,rg as initializeDashboardControlPlane,Ps as invalidateCache,qr as isPhpSite,Wa as isValidHostname,De as normalizePublicIpv6,Ni as occupiedHostPorts,xi as parseHostSiteFragments,fd as parseUpstreamPort,Ng as reconcileAddressRecords,Pn as redeployServerlessApp,kg as removeAddressRecords,Dn as removeSiteFromCloudConfig,Bc as removeStaleServerAddressRecords,Zu as renderAliasesValue,Yu as renderEnvValue,eg as renderRedirectsValue,fh as renderSiteSnippet,Ju as renderSslValue,Xu as renderStringValue,Ts as resolveDashboardAction,id as resolveDashboardAuth,Nn as resolveDashboardData,ig as resolveLegacyDashboardRoute,jr as resolveProxyUpstreams,fo as resolveSiteDeployTarget,d as resolveSiteKind,Zt as resolveUiSource,kn as rollbackServerlessApp,VS as routesForDashboard,ct as runRemoteCommand,vs as sanitizeCloudConfig,ag as seedFailoverReplicas,tg as setAttachToInCloudConfig,br as setMaintenance,Ss as setSitePropertyInCloudConfig,jp as shipsARelease,PI as shipsToBucket,U as siteInstallBase,uc as startLocalDashboardServer,Is as synchronizeDashboardUsers,Me as trackDashboardOperation,Wu as updateSiteInCloudConfig,Ds as uploadStaticFiles,qp as validateDeploymentConfig,Oc as verifyAddressRecord,jS as verifyStaticApiOrigin};
|
package/dist/dns/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{pt,he,Ge,H,
|
|
1
|
+
import{pt,he,Ge,H,zt,zn,Ms,Fs,Dr,Pr,Kn,kr,Us,Qs,Hs,Gs,ie,Vs,qs,js,zs,Ae,Ks,Ws,Js,N,kc,Wn,Nc}from"../chunk-qb8cf1ss.js";import"../chunk-w174jbbm.js";import"../chunk-1a7ms51t.js";export{H as CloudflareProvider,Wn as DnsProviderFactory,Ge as GoDaddyProvider,pt as PROXIABLE_RECORD_TYPES,he as PorkbunProvider,ie as Route53Provider,Ae as UnifiedDnsValidator,Hs as applyDeclaredZoneSettings,js as applyZoneMigration,N as createDnsProvider,Ws as createGoDaddyValidator,Ks as createPorkbunValidator,Js as createRoute53Validator,kr as delegateZone,Us as delegateZoneFromConfig,Qs as describeDelegation,Gs as describeZoneSettings,kc as detectDnsProvider,Nc as dnsProviders,Vs as exportRoute53Zone,Dr as isNameserverRegistrar,Pr as isZoneHost,qs as planZoneMigration,zt as policyTag,zn as qualifyName,Fs as reconcileDeclaredRecords,Ms as resolveDeclaredRecords,Kn as sameNameservers,zs as verifyZoneParity};
|
|
@@ -100,6 +100,12 @@ export interface HetznerFirewall {
|
|
|
100
100
|
name: string;
|
|
101
101
|
labels?: Record<string, string>;
|
|
102
102
|
rules?: HetznerFirewallRule[];
|
|
103
|
+
applied_to?: Array<{
|
|
104
|
+
type: string;
|
|
105
|
+
server?: {
|
|
106
|
+
id: number;
|
|
107
|
+
};
|
|
108
|
+
}>;
|
|
103
109
|
}
|
|
104
110
|
export interface HetznerVolume {
|
|
105
111
|
id: number;
|
package/dist/drivers/index.d.ts
CHANGED
|
@@ -36,6 +36,8 @@ export { ensureFirewall, ensureServer, ensureSshKey, serverPublicIpv4 } from './
|
|
|
36
36
|
export type { EnsuredResource, EnsuredServer, EnsureFirewallOptions, EnsureServerOptions, EnsureSshKeyOptions, } from './hetzner/provision';
|
|
37
37
|
export { buildSshArgs, REMOTE_SCRIPT_RUNNER, remoteScriptRunner, scpUpload, sshExec, sshExecOrThrow, waitForCloudInit, waitForSsh } from './shared/remote-exec';
|
|
38
38
|
export type { RemoteExecOptions, RemoteExecResult, WaitOptions } from './shared/remote-exec';
|
|
39
|
+
export { BOX_PANTRY_BIN_DIR, BOX_PANTRY_CLI_DIR, buildBoxConvergeScript, parseBoxReport, provisionBox, renderBoxUnit, renderEnvFile, } from './shared/box-converge';
|
|
40
|
+
export type { BoxProvisionResult, ProvisionBoxOptions } from './shared/box-converge';
|
|
39
41
|
export { AwsBoxProvisioner, buildBoxUserData, createBoxProvisioner, HetznerBoxProvisioner, UBUNTU_2404_AMI_PARAM, } from './shared/box-provision';
|
|
40
42
|
export type { AwsBoxProvisionerOptions, BoxPort, BoxProviderName, BoxProvisioner, BoxSpec, CreateBoxProvisionerOptions, ProvisionedBox, } from './shared/box-provision';
|
|
41
43
|
export { buildHostCleanupDeployScript, buildHostCleanupExecutable, buildHostCleanupInstallScript, DEFAULT_HOST_CLEANUP_ESCALATED, DEFAULT_HOST_CLEANUP_HIGH_WATER_PERCENT, DEFAULT_HOST_CLEANUP_LOW_WATER_PERCENT, DEFAULT_HOST_CLEANUP_RETENTION, DEFAULT_HOST_CLEANUP_SCHEDULE, HOST_ARTIFACT_CACHE_DIR, HOST_CLEANUP_SCRIPT_PATH, HOST_CLEANUP_UNIT, resolveHostCleanupConfig, } from './shared/host-cleanup';
|
package/dist/drivers/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Xn,Kt,Br,Wt,Yn,M,Or,Zn,ei,_r,Lr,Mh,Fh,$g,Mg,Uh,Qh,Hh,$r,ti,Fg,Zs,ri,ni,ii,si,oi,_c,Lc,ai,Mr,Se,$c,Yt,Mc,ci,Fc,Fr,Qc,Ve,se,eo,Ug,Hc,Gc,Vc,qc,jc,ft,qe,je,ht,di,li,Pe,to,zc,Qg,Hg,Kc,Gg,At,ui,Wc,Vg,qg,Jc,yt,ke,Xc,jg,zg,ro,gi,St,Kg,Wg,Jg,Xg,Yg,Zg,ep,tp,rp,pi,mi,fi,hi,Ai,yi,Si,np,ip,Ur,F,no,sp,op,ap,Yc,cp,dp,Gh,Vh,qh,Zc,lp,jh,zh,Kh,Ii,bi,Ci,Ei,ed,td,vi,rd,Wh,io,up,gp,pp,mp,fp,Jh,ao,sd,wi,od,hp,Ap,yp,Xh}from"../chunk-7bzyjfb1.js";import{lo,go,po,Yh,dd,B,er,DI,mo,Cp,ze,G,Ne}from"../chunk-y9q6sv2q.js";import"../chunk-mkvqcd3x.js";import"../chunk-3h5vgz4z.js";import"../chunk-tj3egckk.js";import"../chunk-1a7ms51t.js";import"../chunk-c87bg8wk.js";import"../chunk-z5as1fa7.js";import"../chunk-j2bpd2v9.js";export{rd as AwsBoxProvisioner,Or as AwsDriver,ap as BOOT_PARTITION_LABEL,up as BOX_PANTRY_BIN_DIR,io as BOX_PANTRY_CLI_DIR,no as CloudDriverFactory,Mg as DEFAULT_HOST_CLEANUP_ESCALATED,Qh as DEFAULT_HOST_CLEANUP_HIGH_WATER_PERCENT,Uh as DEFAULT_HOST_CLEANUP_LOW_WATER_PERCENT,$g as DEFAULT_HOST_CLEANUP_RETENTION,Hh as DEFAULT_HOST_CLEANUP_SCHEDULE,lo as DEFAULT_RPX_CERTS_DIR,op as FIRST_BOOT_SCRIPT_PATH,Lr as HOST_ARTIFACT_CACHE_DIR,Mh as HOST_CLEANUP_SCRIPT_PATH,Fh as HOST_CLEANUP_UNIT,vi as HetznerBoxProvisioner,Fr as HetznerClient,Pe as HetznerDriver,jc as LEGACY_DRIVER_STATE_DIR,to as LocalBoxDriver,Ap as MANAGED_CACHE_POLICY_DISABLED,hp as MANAGED_CACHE_POLICY_OPTIMIZED,yp as MANAGED_ORIGIN_REQUEST_POLICY_ALL_VIEWER,zg as RASPBERRY_PI_DEFAULT_SWAP_GB,Fc as REMOTE_SCRIPT_RUNNER,mo as RPX_DIR,Cp as RPX_LAUNCHER_PATH,ze as RPX_SERVICE_NAME,Xc as SSH_BOOTSTRAP_MARKER_DIR,ke as SSH_BOOTSTRAP_VERSION,St as SSH_DEFAULTS,Si as SSH_DEPLOY_STORAGE_PATH,Qg as SSH_INSECURE_HOST_KEY_OPTS,Hg as SSH_KEEPALIVE_OPTS,mi as SSH_PREFLIGHT_SCRIPT,np as SSH_SKIP_BOOTSTRAP_ENV,Ur as SshDriver,yt as SystemSshTransport,ed as UBUNTU_2404_AMI_PARAM,Kh as acquireResizeLock,Gh as applyHetznerHostOptimization,li as applyHetznerVolumes,ro as assertArchSupported,ip as assertSshComputeConfig,_c as buildAwsArtifactFetch,mp as buildBoxConvergeScript,td as buildBoxUserData,Xh as buildCloudFrontOriginConfig,Yc as buildCloudInitFirstBoot,ei as buildComputeStorageInstallScript,_r as buildComputeStorageSiteScript,dp as buildHetznerHostOptimizationScript,ri as buildHostCleanupDeployScript,Fg as buildHostCleanupExecutable,Zs as buildHostCleanupInstallScript,ti as buildHostCleanupScript,Lc as buildLocalArtifactFetch,B as buildRpxConfig,Ne as buildRpxFragmentRefreshScript,er as buildRpxLbConfig,G as buildRpxProvisionScript,Gg as buildScpArgsFor,ii as buildSiteDeployScript,ai as buildSshArgs,Kc as buildSshArgsFor,gi as buildSshBootstrapScript,si as buildStaticSiteDeployScript,sp as cloudDrivers,Vh as collectHetznerHostOptimizationReport,Gc as collectHetznerResizeManifest,Wh as createBoxProvisioner,F as createCloudDriver,sd as deployAllComputeSites,ao as deploySiteRelease,dd as deriveRouteId,Xn as describeScriptSyntaxError,ft as driverStateDir,qe as driverStatePath,bi as ensureFirewall,Ci as ensureServer,Ii as ensureSshKey,hi as evaluatePreflight,Hc as executeHetznerServerResize,qg as findKnownHostKey,yi as formatPreflightFindings,Kt as formatSshFailure,po as gatewayHostnames,M as generateUbuntuAppCloudInit,go as hasAutoWwwVariant,zc as isBoxMode,Ug as isHetznerCapacityError,Yn as isLocalDatabase,Vg as knownHostsLine,Wc as knownHostsToken,Yh as normalizeRoutePath,Ve as normalizeSshPublicKey,fp as parseBoxReport,fi as parsePreflightFacts,eo as planHetznerServerResize,di as planHetznerVolumes,Ai as preflightFailed,Vc as prepareHetznerResize,Jh as provisionBox,je as readDriverState,jh as readResizeCheckpoint,oi as releaseTarballTmpPath,wi as reloadRpxGateway,ci as remoteScriptRunner,pp as renderBoxUnit,gp as renderEnvFile,DI as renderRpxLauncher,od as renewRpxCertificates,Zc as resizeCheckpointPath,lp as resizeLockPath,Zn as resolveComputeVolumes,ni as resolveExecStart,Qc as resolveHetznerApiToken,cp as resolveHetznerHostOptimizationPlan,$r as resolveHostCleanupConfig,Yg as resolveSshHostKeyPolicy,Kg as resolveSshHosts,rp as resolveSshLan,Jg as resolveSshPort,Xg as resolveSshPrivateKeyPath,ep as resolveSshProfile,tp as resolveSshPublicIp,pi as resolveSshSettings,Zg as resolveSshSudo,Wg as resolveSshUser,ui as scanHostKey,$c as scpUpload,Ei as serverPublicIpv4,jg as sshBootstrapMarkerPath,Mr as sshExec,Se as sshExecOrThrow,At as sshHostKeyFingerprint,Jc as sshKnownHostsPath,Wt as summarizeRemoteFailures,Br as surfaceRemoteNotices,qh as verifyHetznerHostOptimization,qc as verifyHetznerResize,Mc as waitForCloudInit,Yt as waitForSsh,se as wrapCloudInitUserData,ht as writeDriverState,zh as writeResizeCheckpoint};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Declared boxes: a named machine, the pantry packages it needs, and its
|
|
3
|
+
* long-running processes as systemd units of an unprivileged account.
|
|
4
|
+
*
|
|
5
|
+
* `buildBoxConvergeScript` renders one idempotent bash script from a
|
|
6
|
+
* {@link BoxConfig}; `provisionBox` finds or creates the server, then runs it
|
|
7
|
+
* over SSH. Re-running converges: a package already installed is not
|
|
8
|
+
* reinstalled, a file that already has the declared content is not touched,
|
|
9
|
+
* and a running service is left running unless it asked to be restarted -
|
|
10
|
+
* a converge must never kill the CI job a runner is in the middle of.
|
|
11
|
+
*
|
|
12
|
+
* Packages go into pantry's fixed project ({@link PANTRY_PROJECT_DIR}) and are
|
|
13
|
+
* exposed to services through `<project>/pantry/.bin` on their PATH. The
|
|
14
|
+
* pantry CLI itself is installed off that PATH ({@link BOX_PANTRY_CLI_DIR}):
|
|
15
|
+
* a service such as a CI runner may treat "pantry is on PATH" as a cue to
|
|
16
|
+
* install a repository's own toolchain, and provisioning the box must not
|
|
17
|
+
* change that behaviour.
|
|
18
|
+
*/
|
|
19
|
+
import type { BoxConfig, BoxServiceConfig } from '@ts-cloud/core';
|
|
20
|
+
import type { HetznerClient } from '../hetzner/client';
|
|
21
|
+
import { type ProvisionedBox } from './box-provision';
|
|
22
|
+
/** Where a box's pantry CLI lives: deliberately not on any service's PATH. */
|
|
23
|
+
export declare const BOX_PANTRY_CLI_DIR = "/opt/pantry/cli";
|
|
24
|
+
/** The PATH entry exposing pantry-installed packages to services. */
|
|
25
|
+
export declare const BOX_PANTRY_BIN_DIR: string;
|
|
26
|
+
/** Prefix of the lines a converge prints about what it changed. */
|
|
27
|
+
export declare const BOX_REPORT_PREFIX = "ts-cloud:";
|
|
28
|
+
/** An env file systemd reads: one `KEY="value"` per line, quotes and backslashes escaped. */
|
|
29
|
+
export declare function renderEnvFile(environment: Record<string, string>): string;
|
|
30
|
+
/** The systemd unit for one service. `%h` is the service user's home in a user unit. */
|
|
31
|
+
export declare function renderBoxUnit(name: string, service: BoxServiceConfig, options: {
|
|
32
|
+
userUnit: boolean;
|
|
33
|
+
}): string;
|
|
34
|
+
/**
|
|
35
|
+
* One idempotent bash script that converges a box to its declaration. Runs as
|
|
36
|
+
* root. Prints a `ts-cloud:` line for each thing it changed or left for the
|
|
37
|
+
* operator to do.
|
|
38
|
+
*/
|
|
39
|
+
export declare function buildBoxConvergeScript(box: BoxConfig): string;
|
|
40
|
+
/** The `ts-cloud:` lines a converge printed, without the prefix. */
|
|
41
|
+
export declare function parseBoxReport(stdout: string): string[];
|
|
42
|
+
export interface ProvisionBoxOptions {
|
|
43
|
+
box: BoxConfig;
|
|
44
|
+
client: HetznerClient;
|
|
45
|
+
/** OpenSSH public key authorized for root (reused if already registered). */
|
|
46
|
+
sshPublicKey: string;
|
|
47
|
+
/** The matching private key. */
|
|
48
|
+
identityFile: string;
|
|
49
|
+
/** Pins the box's host key on first contact and refuses a different one after. */
|
|
50
|
+
knownHostsFile: string;
|
|
51
|
+
}
|
|
52
|
+
export interface BoxProvisionResult {
|
|
53
|
+
box: ProvisionedBox;
|
|
54
|
+
/** What the converge changed or left to do, one line each. */
|
|
55
|
+
report: string[];
|
|
56
|
+
}
|
|
57
|
+
/** Find or create the box, then converge it over SSH. */
|
|
58
|
+
export declare function provisionBox(options: ProvisionBoxOptions): Promise<BoxProvisionResult>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -57,6 +57,8 @@ export declare const PANTRY_PROJECT_DIR = "/opt/pantry";
|
|
|
57
57
|
export interface PantryBootstrapOptions {
|
|
58
58
|
/** Pin the pantry CLI version (e.g. `'0.9.39'`). @default latest release */
|
|
59
59
|
version?: string;
|
|
60
|
+
/** Where to put the CLI. @default {@link PANTRY_INSTALL_DIR} */
|
|
61
|
+
installDir?: string;
|
|
60
62
|
}
|
|
61
63
|
/**
|
|
62
64
|
* Bootstrap or upgrade the `pantry` CLI on a server. Installs to
|