@rockcarver/frodo-cli 4.0.2-0 → 4.1.0
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/CHANGELOG.md +51 -59
- package/dist/app.cjs +3 -3
- package/dist/app.cjs.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Support Identity Governance for cloud IGA tenants with first-class workflow lifecycle tooling and safer request type migration controls (PR #631):
|
|
13
|
+
- Added a new `frodo iga workflow` command group with end-to-end workflow operations: `list`, `describe`, `export`, `import`, `publish`, and `delete`.
|
|
14
|
+
- Added `--only-custom` (`-c`) to `frodo config export` and `frodo config import` so request type migration can be scoped to custom request types only.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- The latest CLI workflow command set and IGA behavior in this line are based on `@rockcarver/frodo-lib` `4.1.0`.
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
- Fixed `frodo config import -A` behavior to better handle directory-based imports when global or realm subdirectories are missing, instead of failing early (PR #631).
|
|
23
|
+
- Fixed config import UX to emit a clear warning when an import run completes with no entities imported (PR #631).
|
|
24
|
+
|
|
25
|
+
## [4.0.2-0] - 2026-07-20
|
|
26
|
+
|
|
10
27
|
## [4.0.1] - 2026-07-17
|
|
11
28
|
|
|
12
29
|
### Changed
|
|
@@ -378,23 +395,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
378
395
|
### Added
|
|
379
396
|
|
|
380
397
|
- Improve support for custom platform deployments (non-forgeops or customized forgeops)
|
|
381
|
-
|
|
382
398
|
- \#429: Added options to support custom oauth2 clients used to obtain the access token for IDM API calls:
|
|
383
|
-
|
|
384
399
|
- `--login-client-id <client-id>` Specify a custom OAuth2 client id to use a your own oauth2 client for IDM API calls in deployments of type "cloud" or "forgeops". Your custom client must be configured as a public client and allow the authorization code grant using the "openid fr:idm:\*" scope. Use the "--redirect-uri" parameter if you have configured a custom redirect uri (default: "<host>/platform/appAuthHelperRedirect.html").
|
|
385
400
|
- `--login-redirect-uri <redirect-uri>` Specify a custom redirect URI to use with your custom OAuth2 client (efault: "<host>/platform/appAuthHelperRedirect.html").
|
|
386
401
|
|
|
387
402
|
The above options can also be supplied through environment variables:
|
|
388
|
-
|
|
389
403
|
- `FRODO_LOGIN_CLIENT_ID` OAuth2 client id for IDM API calls. Overridden by '--login-client-id' option.
|
|
390
404
|
- `FRODO_LOGIN_REDIRECT_URI` Redirect Uri for custom OAuth2 client id. Overridden by '--login-redirect-uri' option.
|
|
391
405
|
|
|
392
406
|
- \#359: Added an option to support custom IDM host URLs for all IDM API calls (e.g. platform deployments hosting AM and IDM on/in different DNS hosts/domains):
|
|
393
|
-
|
|
394
407
|
- `--idm-host <idm-host>` IDM base URL, e.g.: <https://cdk.idm.example.com/myidm>. Use only if your IDM installation resides in a different domain and/or if the base path differs from the default "/openidm".
|
|
395
408
|
|
|
396
409
|
The above option can also be supplied through an environment variable:
|
|
397
|
-
|
|
398
410
|
- `FRODO_IDM_HOST` IDM base URL. Overridden by '--idm-host' option.
|
|
399
411
|
|
|
400
412
|
**_Note:_** All the above options are also persisted in connection profiles so they only have to specified once and after that they come out of the connection profile.
|
|
@@ -736,15 +748,12 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
736
748
|
- `frodo esv secret import`
|
|
737
749
|
|
|
738
750
|
- Frodo now supports exporting (and importing) of ESV secret values. To leave stuartship of secret values with the cloud environment where they belong, frodo will always encrypt values using either encryption keys from the source environment (default) or the target environment (export option). Frodo will never export secrets in the clear. However, frodo supports importing clear values (as well as importing encrypted values). Use these new commands and parameters to export/import variables and secrets including secret values:
|
|
739
|
-
|
|
740
751
|
- New parameters for existing `frodo esv secret export` and `frodo config export` commands:
|
|
741
|
-
|
|
742
752
|
- `--include-active-values` Include the currently active (and loaded) secret value in the export. By default, secret values are encrypted server-side in the environment they are exported from. Use `--target <host url>` to have another environment perform the encryption.
|
|
743
753
|
|
|
744
754
|
- `--target <host url>` Host URL of the environment to perform secret value encryption. The URL must resolve to an existing connection profile. Use this option to generate an export that can be imported into the target environment without requiring admin access to the source environment.
|
|
745
755
|
|
|
746
756
|
- New `frodo esv secret import` and updated existing `frodo config import` command and note-worthy parameters:
|
|
747
|
-
|
|
748
757
|
- `--include-active-values` Import any secret values contained in the import file. By default, secret values are encrypted server-side in the environment they are exported from. Use `--source <host url>` to import a file exported from another environment than the one you are importing to.
|
|
749
758
|
|
|
750
759
|
- `--source <host url>` Host URL of the environment which performed secret value encryption. The URL must resolve to an existing connection profile. Use this option to import a file that was exported from a different source environment than the one you are importing to.
|
|
@@ -922,14 +931,12 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
922
931
|
### Added
|
|
923
932
|
|
|
924
933
|
- \#283: Support for authentication settings:
|
|
925
|
-
|
|
926
934
|
- `frodo authn` Manage authentication setting.
|
|
927
935
|
- `describe` List authentication settings.
|
|
928
936
|
- `export` Export authentication settings.
|
|
929
937
|
- `import` Import authentication settings.
|
|
930
938
|
|
|
931
939
|
Examples:
|
|
932
|
-
|
|
933
940
|
- Describe authentication settings:<br>
|
|
934
941
|
`frodo authn describe <myTenant> <realm>`
|
|
935
942
|
|
|
@@ -1032,14 +1039,12 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1032
1039
|
### Added
|
|
1033
1040
|
|
|
1034
1041
|
- \#251: Support for Identity Cloud admin federation configuration:
|
|
1035
|
-
|
|
1036
1042
|
- `frodo admin federation` Manage admin federation configuration.
|
|
1037
1043
|
- `export` Export admin federation providers.
|
|
1038
1044
|
- `import` Import admin federation providers.
|
|
1039
1045
|
- `list` List admin federation providers.
|
|
1040
1046
|
|
|
1041
1047
|
Examples:
|
|
1042
|
-
|
|
1043
1048
|
- List all configured admin federation providers:<br>
|
|
1044
1049
|
`frodo admin federation list <myTenant>`
|
|
1045
1050
|
|
|
@@ -1077,14 +1082,12 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1077
1082
|
|
|
1078
1083
|
- MacOS binaries are now signed and notarized and run without security exceptions.
|
|
1079
1084
|
- \#251: Support for Identity Cloud admin federation configuration:
|
|
1080
|
-
|
|
1081
1085
|
- `frodo admin federation` Manage admin federation configuration.
|
|
1082
1086
|
- `export` Export admin federation providers.
|
|
1083
1087
|
- `import` Import admin federation providers.
|
|
1084
1088
|
- `list` List admin federation providers.
|
|
1085
1089
|
|
|
1086
1090
|
Examples:
|
|
1087
|
-
|
|
1088
1091
|
- List all configured admin federation providers:<br>
|
|
1089
1092
|
`frodo admin federation list <myTenant>`
|
|
1090
1093
|
|
|
@@ -1117,14 +1120,12 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1117
1120
|
### Added
|
|
1118
1121
|
|
|
1119
1122
|
- \#251: Support for Identity Cloud admin federation configuration:
|
|
1120
|
-
|
|
1121
1123
|
- `frodo admin federation` Manage admin federation configuration.
|
|
1122
1124
|
- `export` Export admin federation providers.
|
|
1123
1125
|
- `import` Import admin federation providers.
|
|
1124
1126
|
- `list` List admin federation providers.
|
|
1125
1127
|
|
|
1126
1128
|
Examples:
|
|
1127
|
-
|
|
1128
1129
|
- List all configured admin federation providers:<br>
|
|
1129
1130
|
`frodo admin federation list <myTenant>`
|
|
1130
1131
|
|
|
@@ -1177,7 +1178,6 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1177
1178
|
### Added
|
|
1178
1179
|
|
|
1179
1180
|
- Support for authorization policies, policy sets, and resource types through new `authz` commands:
|
|
1180
|
-
|
|
1181
1181
|
- `frodo authz type` Manage authorization resource types.
|
|
1182
1182
|
- `delete` Delete authorization resource types.
|
|
1183
1183
|
- `describe` Describe authorization resource types.
|
|
@@ -1198,7 +1198,6 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1198
1198
|
- `list` List authorization policies.
|
|
1199
1199
|
|
|
1200
1200
|
Examples:
|
|
1201
|
-
|
|
1202
1201
|
- Export a whole policy set including policies and resource types:<br>
|
|
1203
1202
|
`frodo authz set export -i <myPolicySet> <myTenant>`
|
|
1204
1203
|
- Import a whole policy set including dependencies exported using the previous example:<br>
|
|
@@ -1212,7 +1211,6 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1212
1211
|
**_Note_**: Policy IDs/names have to be unique within the realm. Therefore you cannot export all policies from one policy set and import them into another policy set in the same realm without deleting the original policy set first.
|
|
1213
1212
|
|
|
1214
1213
|
Notes:
|
|
1215
|
-
|
|
1216
1214
|
- Use the new `--prereqs` option with the `authz set/policy import/export` commands to include structural prerequisites like resource types and policy sets.
|
|
1217
1215
|
- Use the new `--json` option with all `describe` sub-commands:<br>
|
|
1218
1216
|
`frodo authz type describe --json -n URL <myTenant>`<br>
|
|
@@ -1353,11 +1351,9 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1353
1351
|
### Added
|
|
1354
1352
|
|
|
1355
1353
|
- \#52: Added new developer options for `script export` and `script import` commands:
|
|
1356
|
-
|
|
1357
1354
|
- `frodo script export`:
|
|
1358
1355
|
- `-x`, `--extract`: Extract the script from the exported file, and save it to a separate file. Ignored with `-n` or `-a`.
|
|
1359
1356
|
- `frodo script import`:
|
|
1360
|
-
|
|
1361
1357
|
- `-w`, `--watch`: Watch for changes to the script files and import the scripts automatically when the file changes. Can only be used with `-A`. (default: false)
|
|
1362
1358
|
|
|
1363
1359
|
**_Note:_** This new option only applies if the export was generated with the new `--extract` option!
|
|
@@ -1398,53 +1394,50 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1398
1394
|
### Added
|
|
1399
1395
|
|
|
1400
1396
|
- Full support for Identity Cloud Service Accounts across all commands. Three options to leverage service accounts:
|
|
1397
|
+
1. Connection profiles for daily CLI usage:
|
|
1401
1398
|
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
For daily admin and development tasks, using the new `frodo conn save` command (see details under next bullet) is the easiest way to get going with service accounts. To migrate an existing connection profile to service accounts and automatically create a service account for your tenant admin, simply issue the following command:
|
|
1399
|
+
For daily admin and development tasks, using the new `frodo conn save` command (see details under next bullet) is the easiest way to get going with service accounts. To migrate an existing connection profile to service accounts and automatically create a service account for your tenant admin, simply issue the following command:
|
|
1405
1400
|
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1401
|
+
% frodo conn save service-accounts
|
|
1402
|
+
Connected to https://openam-service-accounts.forgeblocks.com/am [alpha] as user volker.scheuber@forgerock.com
|
|
1403
|
+
Created and added service account Frodo-SA-1673586189578 with id 99c04bba-7213-463b-9a27-ceafa8a95734 to profile.
|
|
1404
|
+
Saved connection profile https://openam-service-accounts.forgeblocks.com/am
|
|
1405
|
+
%
|
|
1411
1406
|
|
|
1412
|
-
|
|
1407
|
+
Then validate your connection profile is using the new service account:
|
|
1413
1408
|
|
|
1414
|
-
|
|
1415
|
-
|
|
1409
|
+
% frodo info service-accounts
|
|
1410
|
+
Connected to https://openam-service-accounts.forgeblocks.com/am [alpha] as service account Frodo-SA-1673586189578 [99c04bba-7213-463b-9a27-ceafa8a95734]
|
|
1416
1411
|
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1412
|
+
Host URL │https://openam-service-accounts.forgeblocks.com/am
|
|
1413
|
+
AM Version │7.3.0-2022-10-SNAPSHOT Build 9a1793c301ef579705e59b66ce57587f553e915f (2022-December-13 10:05)
|
|
1414
|
+
Subject (Type) │Frodo-SA-1673586189578 [99c04bba-7213-463b-9a27-ceafa8a95734] (Service Account)
|
|
1415
|
+
Deployment Type│cloud
|
|
1416
|
+
Cookie Name │e8b2bd07d5440d3
|
|
1417
|
+
Immutable │false
|
|
1418
|
+
Locked │false
|
|
1419
|
+
Region │us-west1
|
|
1420
|
+
Tier │other
|
|
1426
1421
|
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1422
|
+
Bearer token:
|
|
1423
|
+
eyJ0eXAiOiJKV1QiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..JD1iu64iGZZoGNwEr-iF2w.af-0-UDDOdusAETjw9YE3YnjOPr6TrdQrBLcl1lxf5RpNThfRhD08xvu1WtJbUZgvjbWdajECEFJfnEinnrUdpe9l0tHU6gAxDrRmu9hAjt0AB3PFSk9BE5SlwvaGoW5vrF4oH0IYtuv4899hFF8KGNYUtou143xmSrsLH37862YiAeiRKtjaQsVUrdbDPAFnKgGRxJIiXp-UE0ZCQQGSqm-Gj0AqVvo-Piib9THrEbbJCzdc00RPaCU2Ra1DH9PDid7ix-zfuind5IgEXxA8XwBM7kSEkiDLUWZ8EaFhn6YXwIHjXetacgYvvDaUav2Fq5baIitnG_LIrCm32XzcDkVnph4mVklBwfbQbWE6BGXEVLK-QLdDupaQw-bic-yVs2d7PBk2y70gbChHCQOm6-MepkYznP4wKoRR1gkqCdl51QIp-tsFB5K2plrKXiwsfHlHKfFKmsbdQUmH7xJFZQRhAtR_pKm-vHPOrPfBh0VbAdLRSkSeOZUABFH56X3gwXIpG_zuH42bQQkM9AlkB-lZrLf4jN0zFq-2ZN-zDgRR9h6qiiD3p9BDmFfaorUDTfFSrfaKas7OIp5ooW8Kqpv28RRtRtvfex0vT_kRbWl5R08MPWZDKZbx4IMyuun-2pYJ-F2-dvfA4A-jRvWIvC6jTUTu-RZZ0Yw1F2lgwFOVbmpMmG2uGHp5GceWePsZ34FVtJuaTd5D-uq_FoAb3HQ7FGEgUMJN_q82hCCX3URv_ocbFMjYwctdUqV_Ed-__A_9lbHHr8D2Uw_Qo0mwku7qwNBTS0-OcrwDvBOJohzRbpbfim-Sq2UzV9SBzzXNK7sMft1pNfu2-saOwPfy6SE0u42-HDqxE9t4MkklSroPY0oDUxO58ET8LXnewGhC9Tt0XTk6WA2rNLcNirhFqdmtKgfrSMQ_t22_DQEDwXpXqtHGmDoltJe7x_6Ofh0W5l7_A71MoHeFpVa_AHpHybnaF4fvUbD284wOV8i22SqrUKuHoJ3o6_g5JlhvMCvb4OZQ-ltxSf98aPsB9nCSthYg5-GkiR_r5mK1w9gZkBTXfYs0qC8-zYEQb4WNiI9.2JGMj9iW6YD-RE_dGkL7_w
|
|
1424
|
+
%
|
|
1430
1425
|
|
|
1431
|
-
|
|
1426
|
+
Once you have verified that your service account works, go ahead and enable MFA for your tenant admin account!
|
|
1432
1427
|
|
|
1433
|
-
2.
|
|
1428
|
+
2. CLI parameters:
|
|
1434
1429
|
|
|
1435
|
-
|
|
1430
|
+
All commands support the following new options to use service accounts:
|
|
1431
|
+
- `--sa-id <uuid>` Service account's uuid. If specified, must also include `--sa-jwk-file`.
|
|
1432
|
+
- `--sa-jwk-file <file>` File containing the service account's java web key (jwk). Jwk must contain private key! If specified, must also include `--sa-id`.
|
|
1436
1433
|
|
|
1437
|
-
|
|
1438
|
-
- `--sa-jwk-file <file>` File containing the service account's java web key (jwk). Jwk must contain private key! If specified, must also include `--sa-id`.
|
|
1434
|
+
This is a great way to leverage the nice UI to create and manage service accounts and then use one of the accounts with Frodo.
|
|
1439
1435
|
|
|
1440
|
-
|
|
1436
|
+
3. Environment variables for CI/CD
|
|
1441
1437
|
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
- `FRODO_SA_ID`: Service account's uuid. If set, must also set `FRODO_SA_JWK`.
|
|
1447
|
-
- `FRODO_SA_JWK`: Service account's java web key (jwk) as single-line string. Jwk must contain private key! If set, must also set `FRODO_SA_ID`.
|
|
1438
|
+
For CI/CD pipelines, environment variables are preferable over command line parameters, because they are not visible in system logs:
|
|
1439
|
+
- `FRODO_SA_ID`: Service account's uuid. If set, must also set `FRODO_SA_JWK`.
|
|
1440
|
+
- `FRODO_SA_JWK`: Service account's java web key (jwk) as single-line string. Jwk must contain private key! If set, must also set `FRODO_SA_ID`.
|
|
1448
1441
|
|
|
1449
1442
|
- \#143: Support Identity Cloud Service Accounts in `frodo conn save|add` command
|
|
1450
1443
|
1. The `frodo conn add` command is renamed to `frodo conn save` and `add` is added as an alias for backwards compatibility.
|
|
@@ -1459,7 +1452,6 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1459
1452
|
5. The `frodo conn save` command validates service account configuration unless the `--no-validate` options is supplied.
|
|
1460
1453
|
|
|
1461
1454
|
- Add support for additional environment variables:
|
|
1462
|
-
|
|
1463
1455
|
- `FRODO_SA_ID`: Service account's uuid. If set, must also set `FRODO_SA_JWK`.
|
|
1464
1456
|
- `FRODO_SA_JWK`: Service account's java web key (jwk) as single-line string. Jwk must contain private key! If set, must also set `FRODO_SA_ID`.
|
|
1465
1457
|
- `FRODO_AUTHENTICATION_SERVICE=journey`: Specify a login journey for frodo to use.
|
|
@@ -1467,7 +1459,6 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
1467
1459
|
- `FRODO_POLLY_LOG_LEVEL=info`: Frodo mock engine log level (`trace`, `debug`, `info`, `warn`, `error`, `silent`). This is helpful for troubleshooting the mock capability, only.
|
|
1468
1460
|
|
|
1469
1461
|
Environment variables added in 0.19.0:
|
|
1470
|
-
|
|
1471
1462
|
- `FRODO_HOST`
|
|
1472
1463
|
- `FRODO_REALM`
|
|
1473
1464
|
- `FRODO_USERNAME`
|
|
@@ -2340,7 +2331,8 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
|
|
|
2340
2331
|
- Fixed problem with adding connection profiles
|
|
2341
2332
|
- Miscellaneous bug fixes
|
|
2342
2333
|
|
|
2343
|
-
[unreleased]: https://github.com/rockcarver/frodo-cli/compare/v4.0.
|
|
2334
|
+
[unreleased]: https://github.com/rockcarver/frodo-cli/compare/v4.0.2-0...HEAD
|
|
2335
|
+
[4.0.2-0]: https://github.com/rockcarver/frodo-cli/compare/v4.0.1...v4.0.2-0
|
|
2344
2336
|
[4.0.1]: https://github.com/rockcarver/frodo-cli/compare/v4.0.1-1...v4.0.1
|
|
2345
2337
|
[4.0.1-1]: https://github.com/rockcarver/frodo-cli/compare/v4.0.1-0...v4.0.1-1
|
|
2346
2338
|
[4.0.1-0]: https://github.com/rockcarver/frodo-cli/compare/v4.0.0...v4.0.1-0
|
package/dist/app.cjs
CHANGED
|
@@ -156058,7 +156058,7 @@ function stringify(obj) {
|
|
|
156058
156058
|
}
|
|
156059
156059
|
var package_default = {
|
|
156060
156060
|
name: "@rockcarver/frodo-lib",
|
|
156061
|
-
version: "4.
|
|
156061
|
+
version: "4.1.0",
|
|
156062
156062
|
type: "commonjs",
|
|
156063
156063
|
main: "./dist/index.js",
|
|
156064
156064
|
module: "./dist/index.mjs",
|
|
@@ -289790,7 +289790,7 @@ var compareVersions = (v12, v2) => {
|
|
|
289790
289790
|
// package.json
|
|
289791
289791
|
var package_default2 = {
|
|
289792
289792
|
name: "@rockcarver/frodo-cli",
|
|
289793
|
-
version: "4.
|
|
289793
|
+
version: "4.1.0",
|
|
289794
289794
|
type: "module",
|
|
289795
289795
|
description: "A command line interface to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.",
|
|
289796
289796
|
keywords: [
|
|
@@ -289894,7 +289894,7 @@ var package_default2 = {
|
|
|
289894
289894
|
},
|
|
289895
289895
|
devDependencies: {
|
|
289896
289896
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
289897
|
-
"@rockcarver/frodo-lib": "4.
|
|
289897
|
+
"@rockcarver/frodo-lib": "4.1.0",
|
|
289898
289898
|
"@types/colors": "^1.2.1",
|
|
289899
289899
|
"@types/fs-extra": "^11.0.1",
|
|
289900
289900
|
"@types/jest": "^29.2.3",
|