@ionite/server 0.0.24-beta.20261005.20 → 0.0.24-beta.20261006.22

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.d.ts CHANGED
@@ -459,8 +459,14 @@ declare const ION_CAPABILITY_CATALOG: readonly [{
459
459
  readonly key: "iam.groups";
460
460
  readonly module: "iam";
461
461
  readonly label: "SCIM Groups inbound";
462
- readonly requires: "AccessCatalogStore";
463
- readonly incapableReason: "SCIM Groups endpoint is enabled by RemoteConfig but no AccessCatalogStore capability is wired by the application.";
462
+ readonly requires: "AccessCatalogStore or authz.catalog";
463
+ readonly incapableReason: "SCIM Groups endpoint is enabled by RemoteConfig but no catalog capability is wired by the application.";
464
+ }, {
465
+ readonly key: "iam.groups.create";
466
+ readonly module: "iam";
467
+ readonly label: "IAM-sourced entitlement creation";
468
+ readonly requires: "AccessCatalogStore + authz.onInboundEntitlement";
469
+ readonly incapableReason: "The application has not wired durable catalog storage and explicitly opted into IAM-sourced entitlements.";
464
470
  }, {
465
471
  readonly key: "iam.workloads";
466
472
  readonly module: "iam";
@@ -993,7 +999,7 @@ declare function closeAllVaultSockets(): void;
993
999
  *
994
1000
  * Keep this synchronized with packages/server/package.json via publish.ts.
995
1001
  */
996
- declare const ION_SDK_VERSION = "0.0.24-beta.20261005.20";
1002
+ declare const ION_SDK_VERSION = "0.0.24-beta.20261006.22";
997
1003
  import { ClaimsAsEntitlements, Workload as CoreWorkload, DerivedEntitlement, FrameworkWorkloadConfig, Ionite as Ionite7, JWTAssertionClaims, Logger as Logger7, TokenValidationResult, TrustedIdp, WorkloadConfigMap, WorkloadDescription, WorkloadGetToken, WorkloadIdentityStore as WorkloadIdentityStore2, WorkloadIncomingOutgoing, WorkloadTokenResponse, WorkloadTokenStore } from "@ionite/core";
998
1004
  import { CatalogView } from "@ionite/core/server";
999
1005
  import { StandardSchemaV1 } from "@standard-schema/spec";
@@ -1138,10 +1144,23 @@ type ClientCredentialsWorkloadConfig = WorkloadConfigBase & {
1138
1144
  */
1139
1145
  clientId: string;
1140
1146
  /**
1141
- * OAuth2 client secret
1142
- * REQUIRED for Client Credentials mode
1147
+ * OAuth2 client secret. Omit it to authenticate with a federated token instead
1148
+ * (see `federatedTokenFile`). A client secret wins when both are present.
1149
+ */
1150
+ clientSecret?: string;
1151
+ /**
1152
+ * Path to a projected federated token (e.g. AKS Workload Identity), sent as a jwt-bearer
1153
+ * `client_assertion` in place of `client_secret`. Defaults to `AZURE_FEDERATED_TOKEN_FILE`.
1154
+ * Read on every acquisition because the platform rotates it.
1155
+ */
1156
+ federatedTokenFile?: string;
1157
+ /**
1158
+ * `managed_identity`: get the token from the platform's managed identity endpoint instead of an
1159
+ * IdP token URL — `IDENTITY_ENDPOINT` + `IDENTITY_HEADER` (Container Apps, App Service) or IMDS
1160
+ * (ACI, VMs). `clientId` is the managed identity's client ID and `scope` names the audience
1161
+ * (`<appId>/.default` → resource `<appId>`). No secret, token file or `idpTokenUrl` is needed.
1143
1162
  */
1144
- clientSecret: string;
1163
+ authMethod?: "managed_identity";
1145
1164
  };
1146
1165
  /**
1147
1166
  * Server-Only Workload Configuration
@@ -1175,7 +1194,7 @@ type ServerOnlyWorkloadConfig = WorkloadConfigBase & {
1175
1194
  * detected based on which fields are present:
1176
1195
  *
1177
1196
  * - **JWT Bearer Grant**: Requires `workload_id` + `private_key`
1178
- * - **Client Credentials**: Requires `client_id` + `client_secret`
1197
+ * - **Client Credentials**: Requires `client_id` + `client_secret`, a federated token file, or `authMethod: "managed_identity"`
1179
1198
  * - **Server-Only**: Only `jwks_uri` (and optionally `issuer`) for token validation
1180
1199
  *
1181
1200
  * The developer uses the same API regardless of mode - the library handles the details.