@wtfalch/foundry 0.41.1 → 0.41.2

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.
@@ -135,7 +135,7 @@ export interface PlanOwnSfuOptions {
135
135
  /**
136
136
  * An own org (`services.own`) with calls on runs its own LiveKit media server
137
137
  * as a Coolify app. Applied once, and again when the pinned LiveKit version,
138
- * the slot or the hostname changed, or an earlier run died before the deploy
138
+ * the slot or the hostname changed, no `node_ip` is recorded (applied before 0.41.2), or an earlier run died before the deploy
139
139
  * finished. `firewall` is the one line that says which ports the server must
140
140
  * have open: foundry opens none, so it stays until the host confirms them.
141
141
  * Every line is fixed text: it is part of the stale-plan comparison.
@@ -9,7 +9,7 @@ import { OWN_MAIL_SMTP_INTERNAL_SCOPE_KEY, OWN_MAIL_SMTP_PORT_BASE, OWN_MAIL_SMT
9
9
  import { mailStoreIsLegacy, mailStoreSwitchDescription } from './mail-store.js';
10
10
  import { ownHostnames } from './own-hostnames.js';
11
11
  import { OWN_FILES_R2_SCOPE_KEY, OWN_SERVICES_APPLIED_SCOPE_KEY, orgTarget, } from './own-services.js';
12
- import { OWN_SFU_APPLIED_HOSTNAME_SCOPE_KEY, OWN_SFU_APPLIED_SLOT_SCOPE_KEY, OWN_SFU_APPLIED_VERSION_SCOPE_KEY, OWN_SFU_DEPLOY_PENDING_SCOPE_KEY, OWN_SFU_KEYS_UNDELIVERED_SCOPE_KEY, SFU_INTERNAL_URL_SCOPE_KEY, SFU_PUBLIC_URL_SCOPE_KEY, } from './own-sfu.js';
12
+ import { OWN_SFU_APPLIED_HOSTNAME_SCOPE_KEY, OWN_SFU_APPLIED_NODE_IP_SCOPE_KEY, OWN_SFU_APPLIED_SLOT_SCOPE_KEY, OWN_SFU_APPLIED_VERSION_SCOPE_KEY, OWN_SFU_DEPLOY_PENDING_SCOPE_KEY, OWN_SFU_KEYS_UNDELIVERED_SCOPE_KEY, SFU_INTERNAL_URL_SCOPE_KEY, SFU_PUBLIC_URL_SCOPE_KEY, } from './own-sfu.js';
13
13
  import { AUTH_ZITADEL_RUN_OPTIONS, JOBS_DEPLOY_PENDING_SCOPE_KEY, JOBS_INTERNAL_URL_SCOPE_KEY, PLATFORM_AUTH_ADMIN_UNDELIVERED_SCOPE_KEY, PLATFORM_AUTH_ADMIN_USER_SCOPE_KEY, PLATFORM_AUTH_BROKER_SCOPE_KEY, PLATFORM_AUTH_CONNECTOR_APP_SCOPE_KEY, PLATFORM_AUTH_INSTANCE_SCOPE_KEY, PLATFORM_AUTH_INSTANCE_UNDELIVERED_SCOPE_KEY, PLATFORM_AUTH_LOGIN_CLIENT_UNDELIVERED_SCOPE_KEY, PLATFORM_AUTH_LOGIN_CLIENT_USER_SCOPE_KEY, PLATFORM_AUTH_SMTP_SCOPE_KEY, PLATFORM_AUTH_ZITADEL_RUN_OPTIONS_SCOPE_KEY, PLATFORM_FILES_APPLIED_GIT_REF_SCOPE_KEY, PLATFORM_FILES_APPLIED_HOSTNAME_SCOPE_KEY, PLATFORM_FILES_INTERNAL_URL_SCOPE_KEY, PLATFORM_FILES_INTROSPECTION_SCOPE_KEY, PLATFORM_FILES_INTROSPECTION_UNDELIVERED_SCOPE_KEY, PLATFORM_FILES_MANAGEMENT_KEY_SCOPE_KEY, PLATFORM_FILES_MANAGEMENT_UNDELIVERED_SCOPE_KEY, PLATFORM_MAIL_ADMIN_KEY_SCOPE_KEY, PLATFORM_MAIL_ADMIN_UNDELIVERED_SCOPE_KEY, PLATFORM_MAIL_APPLIED_GIT_REF_SCOPE_KEY, PLATFORM_MAIL_APPLIED_HOSTNAME_SCOPE_KEY, PLATFORM_MAIL_INTERNAL_URL_SCOPE_KEY, platformMailMxHost, } from './platform-diff.js';
14
14
  import { OWN_FILES_RUNNER_SCOPE_KEY } from './platform-org.js';
15
15
  import { JOBS_ADMIN_TOKEN_UNDELIVERED_SCOPE_KEY, JOBS_APPLIED_GIT_REF_SCOPE_KEY, PLATFORM_AUTH_DB_SCOPE_KEY, PLATFORM_AUTH_ZITADEL_SCOPE_KEY, PLATFORM_FILES_SHARE_DOMAINS_SCOPE_KEY, filesShareDomains, } from './platform-providers.js';
@@ -312,7 +312,7 @@ export const OWN_SFU_FIREWALL_KEY = 'own-sfu:firewall';
312
312
  /**
313
313
  * An own org (`services.own`) with calls on runs its own LiveKit media server
314
314
  * as a Coolify app. Applied once, and again when the pinned LiveKit version,
315
- * the slot or the hostname changed, or an earlier run died before the deploy
315
+ * the slot or the hostname changed, no `node_ip` is recorded (applied before 0.41.2), or an earlier run died before the deploy
316
316
  * finished. `firewall` is the one line that says which ports the server must
317
317
  * have open: foundry opens none, so it stays until the host confirms them.
318
318
  * Every line is fixed text: it is part of the stale-plan comparison.
@@ -361,6 +361,7 @@ export function planOwnSfu(options) {
361
361
  recordedIds[OWN_SFU_APPLIED_VERSION_SCOPE_KEY] === version &&
362
362
  recordedIds[OWN_SFU_APPLIED_SLOT_SCOPE_KEY] === String(slot) &&
363
363
  recordedIds[OWN_SFU_APPLIED_HOSTNAME_SCOPE_KEY] === hostname &&
364
+ Boolean(recordedIds[OWN_SFU_APPLIED_NODE_IP_SCOPE_KEY]) &&
364
365
  !recordedIds[OWN_SFU_DEPLOY_PENDING_SCOPE_KEY] &&
365
366
  Boolean(recordedIds[SFU_INTERNAL_URL_SCOPE_KEY]) &&
366
367
  Boolean(recordedIds[SFU_PUBLIC_URL_SCOPE_KEY]);
@@ -21,6 +21,8 @@ export declare const OWN_SFU_DEPLOY_PENDING_SCOPE_KEY = "own_sfu_deploy_pending"
21
21
  export declare const OWN_SFU_APPLIED_VERSION_SCOPE_KEY = "own_sfu_applied_version";
22
22
  export declare const OWN_SFU_APPLIED_SLOT_SCOPE_KEY = "own_sfu_applied_slot";
23
23
  export declare const OWN_SFU_APPLIED_HOSTNAME_SCOPE_KEY = "own_sfu_applied_hostname";
24
+ /** LiveKit's `node_ip` as last applied. Absent: applied before 0.41.2, when it could be `host.docker.internal`. */
25
+ export declare const OWN_SFU_APPLIED_NODE_IP_SCOPE_KEY = "own_sfu_applied_node_ip";
24
26
  export declare const SFU_INTERNAL_URL_SCOPE_KEY = "sfu_internal_url";
25
27
  export declare const SFU_PUBLIC_URL_SCOPE_KEY = "sfu_public_url";
26
28
  export interface SfuAppDeps {
@@ -23,6 +23,8 @@ export const OWN_SFU_DEPLOY_PENDING_SCOPE_KEY = 'own_sfu_deploy_pending';
23
23
  export const OWN_SFU_APPLIED_VERSION_SCOPE_KEY = 'own_sfu_applied_version';
24
24
  export const OWN_SFU_APPLIED_SLOT_SCOPE_KEY = 'own_sfu_applied_slot';
25
25
  export const OWN_SFU_APPLIED_HOSTNAME_SCOPE_KEY = 'own_sfu_applied_hostname';
26
+ /** LiveKit's `node_ip` as last applied. Absent: applied before 0.41.2, when it could be `host.docker.internal`. */
27
+ export const OWN_SFU_APPLIED_NODE_IP_SCOPE_KEY = 'own_sfu_applied_node_ip';
26
28
  export const SFU_INTERNAL_URL_SCOPE_KEY = 'sfu_internal_url';
27
29
  export const SFU_PUBLIC_URL_SCOPE_KEY = 'sfu_public_url';
28
30
  const KEYS_DELIVERY_ATTEMPTS = 3;
@@ -283,6 +285,7 @@ export async function provisionSfuApp(scope, deps, target, input) {
283
285
  scope.recordScopeId(OWN_SFU_APPLIED_VERSION_SCOPE_KEY, input.version);
284
286
  scope.recordScopeId(OWN_SFU_APPLIED_SLOT_SCOPE_KEY, String(input.slot));
285
287
  scope.recordScopeId(OWN_SFU_APPLIED_HOSTNAME_SCOPE_KEY, input.hostname);
288
+ scope.recordScopeId(OWN_SFU_APPLIED_NODE_IP_SCOPE_KEY, nodeIp);
286
289
  scope.recordScopeId(SFU_INTERNAL_URL_SCOPE_KEY, signalling);
287
290
  scope.recordScopeId(SFU_PUBLIC_URL_SCOPE_KEY, `https://${input.hostname}`);
288
291
  return { resourceId: serviceId };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wtfalch/foundry",
3
- "version": "0.41.1",
3
+ "version": "0.41.2",
4
4
  "description": "Foundry's SDK: the declared org's types, the plan and apply contracts, and the state store's interface.",
5
5
  "repository": {
6
6
  "type": "git",