@rockcarver/frodo-cli 4.2.0 → 4.2.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 CHANGED
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [4.2.0] - 2026-07-22
11
+
10
12
  ### Added
11
13
 
12
14
  - Expanded experimental `frodo config-manager push` coverage with new import commands (PRs #633, #637, #638, #639, #640):
@@ -415,18 +417,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
415
417
  ### Added
416
418
 
417
419
  - Improve support for custom platform deployments (non-forgeops or customized forgeops)
420
+
418
421
  - \#429: Added options to support custom oauth2 clients used to obtain the access token for IDM API calls:
422
+
419
423
  - `--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").
420
424
  - `--login-redirect-uri <redirect-uri>` Specify a custom redirect URI to use with your custom OAuth2 client (efault: "<host>/platform/appAuthHelperRedirect.html").
421
425
 
422
426
  The above options can also be supplied through environment variables:
427
+
423
428
  - `FRODO_LOGIN_CLIENT_ID` OAuth2 client id for IDM API calls. Overridden by '--login-client-id' option.
424
429
  - `FRODO_LOGIN_REDIRECT_URI` Redirect Uri for custom OAuth2 client id. Overridden by '--login-redirect-uri' option.
425
430
 
426
431
  - \#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):
432
+
427
433
  - `--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".
428
434
 
429
435
  The above option can also be supplied through an environment variable:
436
+
430
437
  - `FRODO_IDM_HOST` IDM base URL. Overridden by '--idm-host' option.
431
438
 
432
439
  **_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.
@@ -768,12 +775,15 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
768
775
  - `frodo esv secret import`
769
776
 
770
777
  - 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:
778
+
771
779
  - New parameters for existing `frodo esv secret export` and `frodo config export` commands:
780
+
772
781
  - `--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.
773
782
 
774
783
  - `--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.
775
784
 
776
785
  - New `frodo esv secret import` and updated existing `frodo config import` command and note-worthy parameters:
786
+
777
787
  - `--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.
778
788
 
779
789
  - `--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.
@@ -951,12 +961,14 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
951
961
  ### Added
952
962
 
953
963
  - \#283: Support for authentication settings:
964
+
954
965
  - `frodo authn` Manage authentication setting.
955
966
  - `describe` List authentication settings.
956
967
  - `export` Export authentication settings.
957
968
  - `import` Import authentication settings.
958
969
 
959
970
  Examples:
971
+
960
972
  - Describe authentication settings:<br>
961
973
  `frodo authn describe <myTenant> <realm>`
962
974
 
@@ -1059,12 +1071,14 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
1059
1071
  ### Added
1060
1072
 
1061
1073
  - \#251: Support for Identity Cloud admin federation configuration:
1074
+
1062
1075
  - `frodo admin federation` Manage admin federation configuration.
1063
1076
  - `export` Export admin federation providers.
1064
1077
  - `import` Import admin federation providers.
1065
1078
  - `list` List admin federation providers.
1066
1079
 
1067
1080
  Examples:
1081
+
1068
1082
  - List all configured admin federation providers:<br>
1069
1083
  `frodo admin federation list <myTenant>`
1070
1084
 
@@ -1102,12 +1116,14 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
1102
1116
 
1103
1117
  - MacOS binaries are now signed and notarized and run without security exceptions.
1104
1118
  - \#251: Support for Identity Cloud admin federation configuration:
1119
+
1105
1120
  - `frodo admin federation` Manage admin federation configuration.
1106
1121
  - `export` Export admin federation providers.
1107
1122
  - `import` Import admin federation providers.
1108
1123
  - `list` List admin federation providers.
1109
1124
 
1110
1125
  Examples:
1126
+
1111
1127
  - List all configured admin federation providers:<br>
1112
1128
  `frodo admin federation list <myTenant>`
1113
1129
 
@@ -1140,12 +1156,14 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
1140
1156
  ### Added
1141
1157
 
1142
1158
  - \#251: Support for Identity Cloud admin federation configuration:
1159
+
1143
1160
  - `frodo admin federation` Manage admin federation configuration.
1144
1161
  - `export` Export admin federation providers.
1145
1162
  - `import` Import admin federation providers.
1146
1163
  - `list` List admin federation providers.
1147
1164
 
1148
1165
  Examples:
1166
+
1149
1167
  - List all configured admin federation providers:<br>
1150
1168
  `frodo admin federation list <myTenant>`
1151
1169
 
@@ -1198,6 +1216,7 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
1198
1216
  ### Added
1199
1217
 
1200
1218
  - Support for authorization policies, policy sets, and resource types through new `authz` commands:
1219
+
1201
1220
  - `frodo authz type` Manage authorization resource types.
1202
1221
  - `delete` Delete authorization resource types.
1203
1222
  - `describe` Describe authorization resource types.
@@ -1218,6 +1237,7 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
1218
1237
  - `list` List authorization policies.
1219
1238
 
1220
1239
  Examples:
1240
+
1221
1241
  - Export a whole policy set including policies and resource types:<br>
1222
1242
  `frodo authz set export -i <myPolicySet> <myTenant>`
1223
1243
  - Import a whole policy set including dependencies exported using the previous example:<br>
@@ -1231,6 +1251,7 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
1231
1251
  **_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.
1232
1252
 
1233
1253
  Notes:
1254
+
1234
1255
  - Use the new `--prereqs` option with the `authz set/policy import/export` commands to include structural prerequisites like resource types and policy sets.
1235
1256
  - Use the new `--json` option with all `describe` sub-commands:<br>
1236
1257
  `frodo authz type describe --json -n URL <myTenant>`<br>
@@ -1371,9 +1392,11 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
1371
1392
  ### Added
1372
1393
 
1373
1394
  - \#52: Added new developer options for `script export` and `script import` commands:
1395
+
1374
1396
  - `frodo script export`:
1375
1397
  - `-x`, `--extract`: Extract the script from the exported file, and save it to a separate file. Ignored with `-n` or `-a`.
1376
1398
  - `frodo script import`:
1399
+
1377
1400
  - `-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)
1378
1401
 
1379
1402
  **_Note:_** This new option only applies if the export was generated with the new `--extract` option!
@@ -1414,50 +1437,53 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
1414
1437
  ### Added
1415
1438
 
1416
1439
  - Full support for Identity Cloud Service Accounts across all commands. Three options to leverage service accounts:
1417
- 1. Connection profiles for daily CLI usage:
1418
1440
 
1419
- 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:
1441
+ 1. Connection profiles for daily CLI usage:
1442
+
1443
+ 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:
1444
+
1445
+ % frodo conn save service-accounts
1446
+ Connected to https://openam-service-accounts.forgeblocks.com/am [alpha] as user volker.scheuber@forgerock.com
1447
+ Created and added service account Frodo-SA-1673586189578 with id 99c04bba-7213-463b-9a27-ceafa8a95734 to profile.
1448
+ Saved connection profile https://openam-service-accounts.forgeblocks.com/am
1449
+ %
1420
1450
 
1421
- % frodo conn save service-accounts
1422
- Connected to https://openam-service-accounts.forgeblocks.com/am [alpha] as user volker.scheuber@forgerock.com
1423
- Created and added service account Frodo-SA-1673586189578 with id 99c04bba-7213-463b-9a27-ceafa8a95734 to profile.
1424
- Saved connection profile https://openam-service-accounts.forgeblocks.com/am
1425
- %
1451
+ Then validate your connection profile is using the new service account:
1426
1452
 
1427
- Then validate your connection profile is using the new service account:
1453
+ % frodo info service-accounts
1454
+ Connected to https://openam-service-accounts.forgeblocks.com/am [alpha] as service account Frodo-SA-1673586189578 [99c04bba-7213-463b-9a27-ceafa8a95734]
1428
1455
 
1429
- % frodo info service-accounts
1430
- Connected to https://openam-service-accounts.forgeblocks.com/am [alpha] as service account Frodo-SA-1673586189578 [99c04bba-7213-463b-9a27-ceafa8a95734]
1456
+ Host URL │https://openam-service-accounts.forgeblocks.com/am
1457
+ AM Version │7.3.0-2022-10-SNAPSHOT Build 9a1793c301ef579705e59b66ce57587f553e915f (2022-December-13 10:05)
1458
+ Subject (Type) │Frodo-SA-1673586189578 [99c04bba-7213-463b-9a27-ceafa8a95734] (Service Account)
1459
+ Deployment Type│cloud
1460
+ Cookie Name │e8b2bd07d5440d3
1461
+ Immutable │false
1462
+ Locked │false
1463
+ Region │us-west1
1464
+ Tier │other
1431
1465
 
1432
- Host URL │https://openam-service-accounts.forgeblocks.com/am
1433
- AM Version │7.3.0-2022-10-SNAPSHOT Build 9a1793c301ef579705e59b66ce57587f553e915f (2022-December-13 10:05)
1434
- Subject (Type) │Frodo-SA-1673586189578 [99c04bba-7213-463b-9a27-ceafa8a95734] (Service Account)
1435
- Deployment Type│cloud
1436
- Cookie Name │e8b2bd07d5440d3
1437
- Immutable │false
1438
- Locked │false
1439
- Region │us-west1
1440
- Tier │other
1466
+ Bearer token:
1467
+ 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
1468
+ %
1441
1469
 
1442
- Bearer token:
1443
- 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
1444
- %
1470
+ Once you have verified that your service account works, go ahead and enable MFA for your tenant admin account!
1445
1471
 
1446
- Once you have verified that your service account works, go ahead and enable MFA for your tenant admin account!
1472
+ 2. CLI parameters:
1447
1473
 
1448
- 2. CLI parameters:
1474
+ All commands support the following new options to use service accounts:
1449
1475
 
1450
- All commands support the following new options to use service accounts:
1451
- - `--sa-id <uuid>` Service account's uuid. If specified, must also include `--sa-jwk-file`.
1452
- - `--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`.
1476
+ - `--sa-id <uuid>` Service account's uuid. If specified, must also include `--sa-jwk-file`.
1477
+ - `--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`.
1453
1478
 
1454
- 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.
1479
+ 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.
1455
1480
 
1456
- 3. Environment variables for CI/CD
1481
+ 3. Environment variables for CI/CD
1457
1482
 
1458
- For CI/CD pipelines, environment variables are preferable over command line parameters, because they are not visible in system logs:
1459
- - `FRODO_SA_ID`: Service account's uuid. If set, must also set `FRODO_SA_JWK`.
1460
- - `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`.
1483
+ For CI/CD pipelines, environment variables are preferable over command line parameters, because they are not visible in system logs:
1484
+
1485
+ - `FRODO_SA_ID`: Service account's uuid. If set, must also set `FRODO_SA_JWK`.
1486
+ - `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`.
1461
1487
 
1462
1488
  - \#143: Support Identity Cloud Service Accounts in `frodo conn save|add` command
1463
1489
  1. The `frodo conn add` command is renamed to `frodo conn save` and `add` is added as an alias for backwards compatibility.
@@ -1472,6 +1498,7 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
1472
1498
  5. The `frodo conn save` command validates service account configuration unless the `--no-validate` options is supplied.
1473
1499
 
1474
1500
  - Add support for additional environment variables:
1501
+
1475
1502
  - `FRODO_SA_ID`: Service account's uuid. If set, must also set `FRODO_SA_JWK`.
1476
1503
  - `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`.
1477
1504
  - `FRODO_AUTHENTICATION_SERVICE=journey`: Specify a login journey for frodo to use.
@@ -1479,6 +1506,7 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
1479
1506
  - `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.
1480
1507
 
1481
1508
  Environment variables added in 0.19.0:
1509
+
1482
1510
  - `FRODO_HOST`
1483
1511
  - `FRODO_REALM`
1484
1512
  - `FRODO_USERNAME`
@@ -2351,7 +2379,8 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
2351
2379
  - Fixed problem with adding connection profiles
2352
2380
  - Miscellaneous bug fixes
2353
2381
 
2354
- [unreleased]: https://github.com/rockcarver/frodo-cli/compare/v4.1.0...HEAD
2382
+ [unreleased]: https://github.com/rockcarver/frodo-cli/compare/v4.2.0...HEAD
2383
+ [4.2.0]: https://github.com/rockcarver/frodo-cli/compare/v4.1.0...v4.2.0
2355
2384
  [4.1.0]: https://github.com/rockcarver/frodo-cli/compare/v4.0.2-0...v4.1.0
2356
2385
  [4.0.2-0]: https://github.com/rockcarver/frodo-cli/compare/v4.0.1...v4.0.2-0
2357
2386
  [4.0.1]: https://github.com/rockcarver/frodo-cli/compare/v4.0.1-1...v4.0.1