@crossdelta/infrastructure 0.11.9 → 0.12.1

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/index.cjs CHANGED
@@ -1155,9 +1155,7 @@ var basicAuthLines = (basicAuth) => basicAuth ? ["basic_auth {", ` ${basicAuth.
1155
1155
  var generateHandleBlock = (handle, level, basicAuth) => {
1156
1156
  const hasPath = handle.path != null;
1157
1157
  const header = hasPath ? `handle ${handle.path}* {` : "handle {";
1158
- const body = [
1159
- ...basicAuthLines(basicAuth)
1160
- ];
1158
+ const body = [...basicAuthLines(basicAuth)];
1161
1159
  if (handle.redirect) {
1162
1160
  body.push(`redir ${handle.redirect} permanent`);
1163
1161
  } else if (handle.upstream) {
@@ -1268,7 +1266,7 @@ var deployCaddy = (provider, namespace, config) => {
1268
1266
  }, { provider });
1269
1267
  const caddyContainer = {
1270
1268
  name: "caddy",
1271
- image: "caddy:2-alpine",
1269
+ image: "caddy:2.11.2-alpine",
1272
1270
  ports: [
1273
1271
  { name: "https", containerPort: 443, protocol: "TCP" },
1274
1272
  { name: "http", containerPort: 80, protocol: "TCP" },
@@ -1327,6 +1325,7 @@ var deployCaddy = (provider, namespace, config) => {
1327
1325
  namespace,
1328
1326
  labels,
1329
1327
  annotations: {
1328
+ ...config.tlsPassthrough && { "service.beta.kubernetes.io/do-loadbalancer-tls-passthrough": "true" },
1330
1329
  "service.beta.kubernetes.io/do-loadbalancer-healthcheck-path": healthCheck.path,
1331
1330
  "service.beta.kubernetes.io/do-loadbalancer-healthcheck-protocol": "http",
1332
1331
  "service.beta.kubernetes.io/do-loadbalancer-healthcheck-port": String(healthCheck.port),
package/dist/index.js CHANGED
@@ -1059,9 +1059,7 @@ var basicAuthLines = (basicAuth) => basicAuth ? ["basic_auth {", ` ${basicAuth.
1059
1059
  var generateHandleBlock = (handle, level, basicAuth) => {
1060
1060
  const hasPath = handle.path != null;
1061
1061
  const header = hasPath ? `handle ${handle.path}* {` : "handle {";
1062
- const body = [
1063
- ...basicAuthLines(basicAuth)
1064
- ];
1062
+ const body = [...basicAuthLines(basicAuth)];
1065
1063
  if (handle.redirect) {
1066
1064
  body.push(`redir ${handle.redirect} permanent`);
1067
1065
  } else if (handle.upstream) {
@@ -1172,7 +1170,7 @@ var deployCaddy = (provider, namespace, config) => {
1172
1170
  }, { provider });
1173
1171
  const caddyContainer = {
1174
1172
  name: "caddy",
1175
- image: "caddy:2-alpine",
1173
+ image: "caddy:2.11.2-alpine",
1176
1174
  ports: [
1177
1175
  { name: "https", containerPort: 443, protocol: "TCP" },
1178
1176
  { name: "http", containerPort: 80, protocol: "TCP" },
@@ -1231,6 +1229,7 @@ var deployCaddy = (provider, namespace, config) => {
1231
1229
  namespace,
1232
1230
  labels,
1233
1231
  annotations: {
1232
+ ...config.tlsPassthrough && { "service.beta.kubernetes.io/do-loadbalancer-tls-passthrough": "true" },
1234
1233
  "service.beta.kubernetes.io/do-loadbalancer-healthcheck-path": healthCheck.path,
1235
1234
  "service.beta.kubernetes.io/do-loadbalancer-healthcheck-protocol": "http",
1236
1235
  "service.beta.kubernetes.io/do-loadbalancer-healthcheck-port": String(healthCheck.port),
@@ -32,7 +32,7 @@ export declare const generateCaddyfile: (config: CaddyConfig) => string;
32
32
  * Deploy Caddy as a reverse proxy to the cluster.
33
33
  *
34
34
  * Creates:
35
- * - Deployment with `caddy:2-alpine` (Strategy: Recreate for RWO PVC)
35
+ * - Deployment with `caddy:2.11.2-alpine` (Strategy: Recreate for RWO PVC)
36
36
  * - LoadBalancer Service with DigitalOcean health check annotations
37
37
  * - PVC for cert persistence (`/data`)
38
38
  * - ConfigMap with the generated Caddyfile
@@ -461,6 +461,8 @@ export interface CaddyConfig {
461
461
  };
462
462
  /** Response encoding (e.g., ['zstd', 'gzip']). Omit to disable. */
463
463
  encode?: string[];
464
+ /** Pass raw TLS to the backend without LB termination. Only needed when the LB itself manages HTTPS. Defaults to false. */
465
+ tlsPassthrough?: boolean;
464
466
  }
465
467
  export interface CaddyResult {
466
468
  /** The Kubernetes Deployment */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossdelta/infrastructure",
3
- "version": "0.11.9",
3
+ "version": "0.12.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -35,7 +35,7 @@
35
35
  }
36
36
  },
37
37
  "dependencies": {
38
- "@crossdelta/cloudevents": "^0.8.1"
38
+ "@crossdelta/cloudevents": "^0.8.2"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "@pulumi/digitalocean": "^4.0.0",