@ionite/server 0.0.24-beta.20261006.21 → 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
@@ -999,7 +999,7 @@ declare function closeAllVaultSockets(): void;
999
999
  *
1000
1000
  * Keep this synchronized with packages/server/package.json via publish.ts.
1001
1001
  */
1002
- declare const ION_SDK_VERSION = "0.0.24-beta.20261006.21";
1002
+ declare const ION_SDK_VERSION = "0.0.24-beta.20261006.22";
1003
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";
1004
1004
  import { CatalogView } from "@ionite/core/server";
1005
1005
  import { StandardSchemaV1 } from "@standard-schema/spec";
@@ -1144,10 +1144,23 @@ type ClientCredentialsWorkloadConfig = WorkloadConfigBase & {
1144
1144
  */
1145
1145
  clientId: string;
1146
1146
  /**
1147
- * OAuth2 client secret
1148
- * 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.
1149
1162
  */
1150
- clientSecret: string;
1163
+ authMethod?: "managed_identity";
1151
1164
  };
1152
1165
  /**
1153
1166
  * Server-Only Workload Configuration
@@ -1181,7 +1194,7 @@ type ServerOnlyWorkloadConfig = WorkloadConfigBase & {
1181
1194
  * detected based on which fields are present:
1182
1195
  *
1183
1196
  * - **JWT Bearer Grant**: Requires `workload_id` + `private_key`
1184
- * - **Client Credentials**: Requires `client_id` + `client_secret`
1197
+ * - **Client Credentials**: Requires `client_id` + `client_secret`, a federated token file, or `authMethod: "managed_identity"`
1185
1198
  * - **Server-Only**: Only `jwks_uri` (and optionally `issuer`) for token validation
1186
1199
  *
1187
1200
  * The developer uses the same API regardless of mode - the library handles the details.