@ts-cloud/core 0.2.24 → 0.2.25

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 (2) hide show
  1. package/dist/types.d.ts +45 -0
  2. package/package.json +2 -2
package/dist/types.d.ts CHANGED
@@ -1538,6 +1538,51 @@ export interface ComputeConfig {
1538
1538
  * Set to `true` only if you need traditional SSH access.
1539
1539
  */
1540
1540
  allowSsh?: boolean;
1541
+ /**
1542
+ * Reverse-proxy gateway to provision on the box. When set to an engine,
1543
+ * `buddy deploy` generates the gateway's route config from the `sites` model
1544
+ * (mapping each non-bucket site to a route by `domain`/`path`) and installs +
1545
+ * starts the gateway on :80/:443.
1546
+ *
1547
+ * Opt-in and **off by default** (`undefined` → no gateway provisioned, the
1548
+ * operator runs their own), so existing deploys are unaffected.
1549
+ *
1550
+ * Currently the only engine is `rpx` (`@stacksjs/rpx`), which natively
1551
+ * supports path-based routing within a host, on-demand TLS, and serving
1552
+ * static dirs — so an app, docs, and a public site can share one domain.
1553
+ */
1554
+ proxy?: ComputeProxyConfig;
1555
+ }
1556
+ /**
1557
+ * Reverse-proxy gateway provisioning for a compute box. The gateway is
1558
+ * generated from the `sites` model and installed by the driver's cloud-init /
1559
+ * deploy flow. See {@link ComputeConfig.proxy}.
1560
+ */
1561
+ export interface ComputeProxyConfig {
1562
+ /**
1563
+ * Gateway engine. `rpx` provisions `@stacksjs/rpx` as a systemd service
1564
+ * (`rpx-gateway.service`) reading a generated config. This is the only
1565
+ * supported engine today.
1566
+ */
1567
+ engine: 'rpx';
1568
+ /**
1569
+ * npm version/range of `@stacksjs/rpx` to install on the box.
1570
+ * @default 'latest'
1571
+ */
1572
+ version?: string;
1573
+ /**
1574
+ * Directory on the box holding real TLS certs (PEM `<domain>.crt`/`.key`),
1575
+ * served per-SNI by rpx. @default '/etc/rpx/certs'
1576
+ */
1577
+ certsDir?: string;
1578
+ /**
1579
+ * Enable rpx on-demand TLS: lazily issue a real (Let's Encrypt) cert for an
1580
+ * approved host the first time it's needed. The site domains are used as the
1581
+ * allowlist. Off by default.
1582
+ */
1583
+ onDemandTls?: boolean;
1584
+ /** Contact email for the ACME account when {@link onDemandTls} is enabled. */
1585
+ onDemandTlsEmail?: string;
1541
1586
  }
1542
1587
  export interface DatabaseItemConfig {
1543
1588
  engine?: 'dynamodb' | 'postgres' | 'mysql';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ts-cloud/core",
3
- "version": "0.2.24",
3
+ "version": "0.2.25",
4
4
  "type": "module",
5
5
  "description": "Core CloudFormation generation library for ts-cloud",
6
6
  "author": "Chris Breuer <chris@stacksjs.com>",
@@ -31,7 +31,7 @@
31
31
  "typecheck": "tsc --noEmit"
32
32
  },
33
33
  "dependencies": {
34
- "@ts-cloud/aws-types": "0.2.24"
34
+ "@ts-cloud/aws-types": "0.2.25"
35
35
  },
36
36
  "devDependencies": {
37
37
  "typescript": "^5.9.3"