@rockcarver/frodo-cli 2.0.0-65 → 2.0.0-66
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 +22 -6
- package/dist/app.cjs +23 -12
- package/dist/app.cjs.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,20 @@ 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
|
+
- \#404: Frodo now saves the `-k`/`--insecure` option in connection profiles.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- Update to frodo-lib 2.0.0-92
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- \#400: Frodo now properly honors the `-k`/`--insecure` option and allows connecting to platform instances using self-signed certificates.
|
|
21
|
+
|
|
22
|
+
## [2.0.0-65] - 2024-07-06
|
|
23
|
+
|
|
10
24
|
### Add
|
|
11
25
|
|
|
12
26
|
- rockcarver/frodo-lib#387: Support import of ESVs (variables and secrets). Frodo now supports importing ESV variables and secrets with two new commands:
|
|
@@ -14,17 +28,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
14
28
|
- `frodo esv secret import`
|
|
15
29
|
|
|
16
30
|
- 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:
|
|
31
|
+
|
|
17
32
|
- New parameters for existing `frodo esv secret export` and `frodo config export` commands:
|
|
18
|
-
|
|
19
|
-
- `--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.
|
|
20
33
|
|
|
21
|
-
|
|
34
|
+
- `--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.
|
|
35
|
+
|
|
36
|
+
- `--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.
|
|
22
37
|
|
|
23
38
|
- New `frodo esv secret import` and updated existing `frodo config import` command and note-worthy parameters:
|
|
24
39
|
|
|
25
|
-
|
|
40
|
+
- `--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.
|
|
26
41
|
|
|
27
|
-
|
|
42
|
+
- `--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.
|
|
28
43
|
|
|
29
44
|
- rockcarver/frodo-lib#394: Support for `base64aes` encoding for ESV secrets
|
|
30
45
|
|
|
@@ -1614,7 +1629,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
1614
1629
|
- Fixed problem with adding connection profiles
|
|
1615
1630
|
- Miscellaneous bug fixes
|
|
1616
1631
|
|
|
1617
|
-
[unreleased]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-
|
|
1632
|
+
[unreleased]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-65...HEAD
|
|
1633
|
+
[2.0.0-65]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-64...v2.0.0-65
|
|
1618
1634
|
[2.0.0-64]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-63...v2.0.0-64
|
|
1619
1635
|
[2.0.0-63]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-62...v2.0.0-63
|
|
1620
1636
|
[2.0.0-62]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-61...v2.0.0-62
|
package/dist/app.cjs
CHANGED
|
@@ -125545,7 +125545,7 @@ function stringify(obj) {
|
|
|
125545
125545
|
}
|
|
125546
125546
|
var package_default = {
|
|
125547
125547
|
name: "@rockcarver/frodo-lib",
|
|
125548
|
-
version: "2.0.0-
|
|
125548
|
+
version: "2.0.0-92",
|
|
125549
125549
|
type: "commonjs",
|
|
125550
125550
|
main: "./dist/index.js",
|
|
125551
125551
|
module: "./dist/esm/index.js",
|
|
@@ -143046,8 +143046,12 @@ function getHttpAgent() {
|
|
|
143046
143046
|
});
|
|
143047
143047
|
return httpAgent;
|
|
143048
143048
|
}
|
|
143049
|
-
function getHttpsAgent(allowInsecureConnection) {
|
|
143050
|
-
if (httpsAgent) return httpsAgent;
|
|
143049
|
+
function getHttpsAgent(allowInsecureConnection, shareAgent = true) {
|
|
143050
|
+
if (httpsAgent && shareAgent) return httpsAgent;
|
|
143051
|
+
let agent;
|
|
143052
|
+
if (allowInsecureConnection) {
|
|
143053
|
+
console.error(`Allowing insecure connection`["yellow"]);
|
|
143054
|
+
}
|
|
143051
143055
|
const options2 = {
|
|
143052
143056
|
rejectUnauthorized: !allowInsecureConnection
|
|
143053
143057
|
};
|
|
@@ -143055,17 +143059,19 @@ function getHttpsAgent(allowInsecureConnection) {
|
|
|
143055
143059
|
if (httpsProxy) {
|
|
143056
143060
|
console.error(`Using proxy ${httpsProxy}`["yellow"]);
|
|
143057
143061
|
options2.rejectUnauthorized = !allowInsecureConnection;
|
|
143058
|
-
|
|
143059
|
-
|
|
143062
|
+
agent = new import_https_proxy_agent.HttpsProxyAgent(httpsProxy, options2);
|
|
143063
|
+
if (shareAgent) httpsAgent = agent;
|
|
143064
|
+
return agent;
|
|
143060
143065
|
}
|
|
143061
|
-
|
|
143066
|
+
agent = new import_agentkeepalive.default.HttpsAgent({
|
|
143062
143067
|
...options2,
|
|
143063
143068
|
maxSockets,
|
|
143064
143069
|
maxFreeSockets,
|
|
143065
143070
|
timeout: timeout3,
|
|
143066
143071
|
freeSocketTimeout
|
|
143067
143072
|
});
|
|
143068
|
-
|
|
143073
|
+
if (shareAgent) httpsAgent = agent;
|
|
143074
|
+
return agent;
|
|
143069
143075
|
}
|
|
143070
143076
|
function getProxy() {
|
|
143071
143077
|
if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;
|
|
@@ -143305,7 +143311,7 @@ function generateReleaseApi({
|
|
|
143305
143311
|
},
|
|
143306
143312
|
...requestOverride,
|
|
143307
143313
|
httpAgent: getHttpAgent(),
|
|
143308
|
-
httpsAgent: getHttpsAgent(
|
|
143314
|
+
httpsAgent: getHttpsAgent(false, false),
|
|
143309
143315
|
proxy: getProxy()
|
|
143310
143316
|
};
|
|
143311
143317
|
const request = axios_default.create(requestDetails);
|
|
@@ -155174,6 +155180,7 @@ Specify a sub-string uniquely identifying a single connection profile host URL.`
|
|
|
155174
155180
|
}
|
|
155175
155181
|
return {
|
|
155176
155182
|
tenant: profiles[0].tenant,
|
|
155183
|
+
allowInsecureConnection: profiles[0].allowInsecureConnection,
|
|
155177
155184
|
deploymentType: profiles[0].deploymentType,
|
|
155178
155185
|
username: profiles[0].username ? profiles[0].username : null,
|
|
155179
155186
|
password: profiles[0].encodedPassword ? await dataProtection.decrypt(profiles[0].encodedPassword) : null,
|
|
@@ -155245,6 +155252,8 @@ async function saveConnectionProfile({
|
|
|
155245
155252
|
state: state2
|
|
155246
155253
|
});
|
|
155247
155254
|
}
|
|
155255
|
+
if (state2.getAllowInsecureConnection())
|
|
155256
|
+
profile.allowInsecureConnection = state2.getAllowInsecureConnection();
|
|
155248
155257
|
if (state2.getDeploymentType())
|
|
155249
155258
|
profile.deploymentType = state2.getDeploymentType();
|
|
155250
155259
|
if (state2.getUsername()) profile.username = state2.getUsername();
|
|
@@ -156691,6 +156700,7 @@ async function getTokens({
|
|
|
156691
156700
|
const conn = await getConnectionProfile({ state: state2 });
|
|
156692
156701
|
usingConnectionProfile = true;
|
|
156693
156702
|
state2.setHost(conn.tenant);
|
|
156703
|
+
state2.setAllowInsecureConnection(conn.allowInsecureConnection);
|
|
156694
156704
|
state2.setDeploymentType(conn.deploymentType);
|
|
156695
156705
|
state2.setUsername(conn.username);
|
|
156696
156706
|
state2.setPassword(conn.password);
|
|
@@ -156705,6 +156715,7 @@ async function getTokens({
|
|
|
156705
156715
|
if (!isValidUrl(state2.getHost())) {
|
|
156706
156716
|
const conn = await getConnectionProfile({ state: state2 });
|
|
156707
156717
|
state2.setHost(conn.tenant);
|
|
156718
|
+
state2.setAllowInsecureConnection(conn.allowInsecureConnection);
|
|
156708
156719
|
state2.setDeploymentType(conn.deploymentType);
|
|
156709
156720
|
}
|
|
156710
156721
|
state2.setCookieName(await determineCookieName(state2));
|
|
@@ -167492,11 +167503,11 @@ async function getAllVersions({
|
|
|
167492
167503
|
state: state2
|
|
167493
167504
|
}) {
|
|
167494
167505
|
const reqPromises = [];
|
|
167495
|
-
|
|
167506
|
+
for (const item of endpoints) {
|
|
167496
167507
|
reqPromises.push(
|
|
167497
167508
|
generateReleaseApi({ baseUrl: item.base, state: state2 }).get(item.path)
|
|
167498
167509
|
);
|
|
167499
|
-
}
|
|
167510
|
+
}
|
|
167500
167511
|
const result2 = await Promise.allSettled(reqPromises);
|
|
167501
167512
|
return result2;
|
|
167502
167513
|
}
|
|
@@ -187433,7 +187444,7 @@ var compareVersions = (v12, v2) => {
|
|
|
187433
187444
|
// package.json
|
|
187434
187445
|
var package_default2 = {
|
|
187435
187446
|
name: "@rockcarver/frodo-cli",
|
|
187436
|
-
version: "2.0.0-
|
|
187447
|
+
version: "2.0.0-66",
|
|
187437
187448
|
type: "module",
|
|
187438
187449
|
description: "A command line interface to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.",
|
|
187439
187450
|
keywords: [
|
|
@@ -187547,7 +187558,7 @@ var package_default2 = {
|
|
|
187547
187558
|
]
|
|
187548
187559
|
},
|
|
187549
187560
|
devDependencies: {
|
|
187550
|
-
"@rockcarver/frodo-lib": "2.0.0-
|
|
187561
|
+
"@rockcarver/frodo-lib": "2.0.0-92",
|
|
187551
187562
|
"@types/colors": "^1.2.1",
|
|
187552
187563
|
"@types/fs-extra": "^11.0.1",
|
|
187553
187564
|
"@types/jest": "^29.2.3",
|