@rockcarver/frodo-cli 0.10.4 → 0.11.1-2
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 +13 -1
- package/README.md +3 -3
- package/package.json +17 -15
- package/src/app.js +7 -6
- package/src/cli/_template/cmd-delete.js +9 -8
- package/src/cli/_template/cmd-describe.js +9 -8
- package/src/cli/_template/cmd-export.js +9 -8
- package/src/cli/_template/cmd-import.js +9 -8
- package/src/cli/_template/cmd-list.js +9 -8
- package/src/cli/_template/cmd-sub1-delete.js +9 -8
- package/src/cli/_template/cmd-sub1-describe.js +9 -8
- package/src/cli/_template/cmd-sub1-export.js +9 -8
- package/src/cli/_template/cmd-sub1-import.js +9 -8
- package/src/cli/_template/cmd-sub1-list.js +9 -8
- package/src/cli/_template/cmd-sub2-delete.js +9 -8
- package/src/cli/_template/cmd-sub2-describe.js +9 -8
- package/src/cli/_template/cmd-sub2-export.js +9 -8
- package/src/cli/_template/cmd-sub2-import.js +9 -8
- package/src/cli/_template/cmd-sub2-list.js +9 -8
- package/src/cli/admin/admin-add-autoid-static-user-mapping.js +12 -12
- package/src/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +15 -18
- package/src/cli/admin/admin-get-access-token.js +12 -12
- package/src/cli/admin/admin-grant-oauth2-client-admin-privileges.js +13 -13
- package/src/cli/admin/admin-hide-generic-extension-attributes.js +13 -13
- package/src/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +13 -13
- package/src/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +14 -13
- package/src/cli/admin/admin-list-static-user-mappings.js +12 -12
- package/src/cli/admin/admin-remove-static-user-mapping.js +12 -12
- package/src/cli/admin/admin-repair-org-model.js +13 -13
- package/src/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +13 -13
- package/src/cli/admin/admin-show-generic-extension-attributes.js +13 -13
- package/src/cli/app/app-delete.js +9 -8
- package/src/cli/app/app-describe.js +9 -8
- package/src/cli/app/app-export.js +15 -15
- package/src/cli/app/app-import.js +11 -11
- package/src/cli/app/app-list.js +11 -12
- package/src/cli/conn/conn-add.js +11 -11
- package/src/cli/conn/conn-delete.js +3 -1
- package/src/cli/conn/conn-describe.js +3 -1
- package/src/cli/conn/conn-list.js +3 -4
- package/src/cli/email/email-template-export.js +16 -16
- package/src/cli/email/email-template-import.js +16 -16
- package/src/cli/email/email-template-list.js +11 -11
- package/src/cli/esv/esv-apply.js +12 -12
- package/src/cli/esv/esv-secret-create.js +11 -11
- package/src/cli/esv/esv-secret-delete.js +13 -13
- package/src/cli/esv/esv-secret-describe.js +11 -11
- package/src/cli/esv/esv-secret-export.js +9 -8
- package/src/cli/esv/esv-secret-import.js +9 -8
- package/src/cli/esv/esv-secret-list.js +11 -11
- package/src/cli/esv/esv-secret-set.js +11 -11
- package/src/cli/esv/esv-secret-version-activate.js +12 -12
- package/src/cli/esv/esv-secret-version-create.js +11 -11
- package/src/cli/esv/esv-secret-version-deactivate.js +12 -12
- package/src/cli/esv/esv-secret-version-delete.js +13 -13
- package/src/cli/esv/esv-secret-version-list.js +11 -11
- package/src/cli/esv/esv-variable-create.js +11 -11
- package/src/cli/esv/esv-variable-delete.js +13 -16
- package/src/cli/esv/esv-variable-describe.js +11 -11
- package/src/cli/esv/esv-variable-export.js +9 -8
- package/src/cli/esv/esv-variable-import.js +9 -8
- package/src/cli/esv/esv-variable-list.js +11 -11
- package/src/cli/esv/esv-variable-set.js +13 -16
- package/src/cli/idm/idm-count.js +11 -11
- package/src/cli/idm/idm-export.js +16 -16
- package/src/cli/idm/idm-list.js +11 -11
- package/src/cli/idp/idp-export.js +15 -19
- package/src/cli/idp/idp-import.js +18 -18
- package/src/cli/idp/idp-list.js +12 -12
- package/src/cli/info/info.js +23 -19
- package/src/cli/journey/journey-delete.js +14 -14
- package/src/cli/journey/journey-describe.js +26 -35
- package/src/cli/journey/journey-export.js +18 -21
- package/src/cli/journey/journey-import.js +17 -17
- package/src/cli/journey/journey-list.js +12 -12
- package/src/cli/journey/journey-prune.js +12 -12
- package/src/cli/logging/logs-list.js +33 -28
- package/src/cli/logging/logs-tail.js +26 -22
- package/src/cli/realm/realm-add-custom-domain.js +13 -13
- package/src/cli/realm/realm-describe.js +14 -14
- package/src/cli/realm/realm-list.js +11 -11
- package/src/cli/realm/realm-remove-custom-domain.js +16 -13
- package/src/cli/saml/saml-cot-export.js +16 -16
- package/src/cli/saml/saml-cot-import.js +18 -18
- package/src/cli/saml/saml-cot-list.js +12 -12
- package/src/cli/saml/saml-describe.js +12 -12
- package/src/cli/saml/saml-export.js +16 -19
- package/src/cli/saml/saml-import.js +19 -18
- package/src/cli/saml/saml-list.js +12 -12
- package/src/cli/saml/saml-metadata-export.js +15 -19
- package/src/cli/script/script-delete.js +9 -8
- package/src/cli/script/script-describe.js +9 -8
- package/src/cli/script/script-export.js +18 -20
- package/src/cli/script/script-import.js +13 -12
- package/src/cli/script/script-list.js +12 -12
- package/src/cli/theme/theme-delete.js +17 -21
- package/src/cli/theme/theme-export.js +19 -18
- package/src/cli/theme/theme-import.js +21 -20
- package/src/cli/theme/theme-list.js +12 -12
- package/.eslintrc +0 -29
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/.github/README.md +0 -273
- package/.github/workflows/pipeline.yml +0 -487
- package/.prettierrc +0 -6
- package/CODE_OF_CONDUCT.md +0 -128
- package/docs/BINARIES.md +0 -22
- package/docs/CONTRIBUTE.md +0 -96
- package/docs/PIPELINE.md +0 -169
- package/docs/images/macos_warn1.png +0 -0
- package/docs/images/macos_warn2.png +0 -0
- package/docs/images/macos_warn3.png +0 -0
- package/docs/images/npm_versioning_guidelines.png +0 -0
- package/docs/images/release_pipeline.png +0 -0
- package/gulpfile.js +0 -49
- package/jsconfig.json +0 -6
- package/resources/sampleEntitiesFile.json +0 -8
- package/resources/sampleEnvFile.env +0 -2
- package/src/api/AuthenticateApi.js +0 -33
- package/src/api/BaseApi.js +0 -242
- package/src/api/CirclesOfTrustApi.js +0 -87
- package/src/api/EmailTemplateApi.js +0 -37
- package/src/api/IdmConfigApi.js +0 -88
- package/src/api/LogApi.js +0 -45
- package/src/api/ManagedObjectApi.js +0 -62
- package/src/api/OAuth2ClientApi.js +0 -69
- package/src/api/OAuth2OIDCApi.js +0 -73
- package/src/api/OAuth2ProviderApi.js +0 -32
- package/src/api/RealmApi.js +0 -99
- package/src/api/Saml2Api.js +0 -176
- package/src/api/ScriptApi.js +0 -84
- package/src/api/SecretsApi.js +0 -151
- package/src/api/ServerInfoApi.js +0 -41
- package/src/api/SocialIdentityProvidersApi.js +0 -114
- package/src/api/StartupApi.js +0 -45
- package/src/api/ThemeApi.js +0 -181
- package/src/api/TreeApi.js +0 -207
- package/src/api/VariablesApi.js +0 -104
- package/src/api/utils/ApiUtils.js +0 -77
- package/src/api/utils/Base64.js +0 -62
- package/src/cli/journey/journey-delete.e2e.test.js +0 -380
- package/src/cli/journey/journey-list.e2e.test.js +0 -141
- package/src/cli/theme/theme-delete.e2e.test.js +0 -178
- package/src/cli/theme/theme-list.e2e.test.js +0 -119
- package/src/ops/AdminOps.js +0 -901
- package/src/ops/AuthenticateOps.js +0 -342
- package/src/ops/CirclesOfTrustOps.js +0 -350
- package/src/ops/ConnectionProfileOps.js +0 -254
- package/src/ops/EmailTemplateOps.js +0 -326
- package/src/ops/IdmOps.js +0 -227
- package/src/ops/IdpOps.js +0 -342
- package/src/ops/JourneyOps.js +0 -2026
- package/src/ops/LogOps.js +0 -357
- package/src/ops/ManagedObjectOps.js +0 -34
- package/src/ops/OAuth2ClientOps.js +0 -151
- package/src/ops/OrganizationOps.js +0 -85
- package/src/ops/RealmOps.js +0 -139
- package/src/ops/SamlOps.js +0 -541
- package/src/ops/ScriptOps.js +0 -211
- package/src/ops/SecretsOps.js +0 -288
- package/src/ops/StartupOps.js +0 -114
- package/src/ops/ThemeOps.js +0 -379
- package/src/ops/VariablesOps.js +0 -185
- package/src/ops/templates/OAuth2ClientTemplate.json +0 -270
- package/src/ops/templates/OrgModelUserAttributesTemplate.json +0 -149
- package/src/ops/templates/cloud/GenericExtensionAttributesTemplate.json +0 -392
- package/src/ops/templates/cloud/managed.json +0 -4119
- package/src/ops/utils/Console.js +0 -434
- package/src/ops/utils/DataProtection.js +0 -92
- package/src/ops/utils/ExportImportUtils.js +0 -146
- package/src/ops/utils/OpsUtils.js +0 -76
- package/src/ops/utils/Wordwrap.js +0 -11
- package/src/storage/SessionStorage.js +0 -45
- package/test/client_cli/en/connections.test.js +0 -62
- package/test/client_cli/en/connections_add.test.js +0 -34
- package/test/client_cli/en/connections_delete.test.js +0 -34
- package/test/client_cli/en/connections_list.test.js +0 -34
- package/test/client_cli/en/email_templates.test.js +0 -77
- package/test/client_cli/en/email_templates_export.test.js +0 -196
- package/test/client_cli/en/email_templates_import.test.js +0 -145
- package/test/client_cli/en/email_templates_list.test.js +0 -130
- package/test/client_cli/en/idm.test.js +0 -111
- package/test/client_cli/en/idm_count.test.js +0 -121
- package/test/client_cli/en/idm_export.test.js +0 -136
- package/test/client_cli/en/idm_exportAll.test.js +0 -156
- package/test/client_cli/en/idm_exportAllRaw.test.js +0 -120
- package/test/client_cli/en/idm_import.test_.js +0 -103
- package/test/client_cli/en/idm_importAll.test_.js +0 -103
- package/test/client_cli/en/idm_list.test.js +0 -103
- package/test/client_cli/en/info.test.js +0 -125
- package/test/client_cli/en/journey.test.js +0 -127
- package/test/client_cli/en/journey_describe.test.js +0 -196
- package/test/client_cli/en/journey_export.test.js +0 -213
- package/test/client_cli/en/journey_import.test.js +0 -195
- package/test/client_cli/en/journey_importAll.test.js +0 -180
- package/test/client_cli/en/journey_list.test.js +0 -162
- package/test/client_cli/en/journey_prune.test.js +0 -148
- package/test/client_cli/en/logs.test.js +0 -79
- package/test/client_cli/en/logs_list.test.js +0 -83
- package/test/client_cli/en/logs_tail.test.js +0 -118
- package/test/client_cli/en/root.test.js +0 -91
- package/test/client_cli/en/script.test.js +0 -77
- package/test/client_cli/en/script_export.test.js +0 -213
- package/test/client_cli/en/script_import.test.js +0 -163
- package/test/client_cli/en/script_list.test.js +0 -148
- package/test/client_cli/utils/utils.js +0 -32
- package/test/e2e/journey/baseline/ForgottenUsername.journey.json +0 -216
- package/test/e2e/journey/baseline/Login.journey.json +0 -205
- package/test/e2e/journey/baseline/PasswordGrant.journey.json +0 -139
- package/test/e2e/journey/baseline/ProgressiveProfile.journey.json +0 -198
- package/test/e2e/journey/baseline/Registration.journey.json +0 -249
- package/test/e2e/journey/baseline/ResetPassword.journey.json +0 -268
- package/test/e2e/journey/baseline/UpdatePassword.journey.json +0 -323
- package/test/e2e/journey/baseline/allAlphaJourneys.journeys.json +0 -1520
- package/test/e2e/journey/delete/ForgottenUsername.journey.json +0 -216
- package/test/e2e/journey/delete/Login.journey.json +0 -205
- package/test/e2e/journey/delete/PasswordGrant.journey.json +0 -139
- package/test/e2e/journey/delete/ProgressiveProfile.journey.json +0 -198
- package/test/e2e/journey/delete/Registration.journey.json +0 -249
- package/test/e2e/journey/delete/ResetPassword.journey.json +0 -268
- package/test/e2e/journey/delete/UpdatePassword.journey.json +0 -323
- package/test/e2e/journey/delete/deleteMe.journey.json +0 -230
- package/test/e2e/journey/list/Disabled.journey.json +0 -43
- package/test/e2e/journey/list/ForgottenUsername.journey.json +0 -216
- package/test/e2e/journey/list/Login.journey.json +0 -205
- package/test/e2e/journey/list/PasswordGrant.journey.json +0 -139
- package/test/e2e/journey/list/ProgressiveProfile.journey.json +0 -198
- package/test/e2e/journey/list/Registration.journey.json +0 -249
- package/test/e2e/journey/list/ResetPassword.journey.json +0 -268
- package/test/e2e/journey/list/UpdatePassword.journey.json +0 -323
- package/test/e2e/setup.js +0 -98
- package/test/e2e/theme/baseline/Contrast.theme.json +0 -95
- package/test/e2e/theme/baseline/Highlander.theme.json +0 -95
- package/test/e2e/theme/baseline/Robroy.theme.json +0 -95
- package/test/e2e/theme/baseline/Starter-Theme.theme.json +0 -94
- package/test/e2e/theme/baseline/Zardoz.theme.json +0 -95
- package/test/e2e/theme/import/Contrast.theme.json +0 -95
- package/test/e2e/theme/import/Highlander.theme.json +0 -95
- package/test/e2e/theme/import/Robroy.theme.json +0 -95
- package/test/e2e/theme/import/Starter-Theme.theme.json +0 -94
- package/test/e2e/theme/import/Zardoz.default.theme.json +0 -95
- package/test/fs_tmp/.gitkeep +0 -2
- package/test/global/setup.js +0 -65
- package/test/lib_api/unit_tests/ApiUtils.test.js +0 -186
- package/test/lib_api/unit_tests/Base64URL.test.js +0 -22
- package/test/lib_api/unit_tests/DataProtection.test.js +0 -25
- package/test/lib_api/unit_tests/ExportImportUtils.test.js +0 -121
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
|
+
import { Authenticate, Journey, state } from '@rockcarver/frodo-lib';
|
|
2
3
|
import * as common from '../cmd_common.js';
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
const { getTokens } = Authenticate;
|
|
6
|
+
const {
|
|
5
7
|
importJourneyFromFile,
|
|
6
8
|
importJourneysFromFile,
|
|
7
9
|
importJourneysFromFiles,
|
|
8
10
|
importFirstJourneyFromFile,
|
|
9
|
-
}
|
|
10
|
-
import storage from '../../storage/SessionStorage.js';
|
|
11
|
-
import { printMessage } from '../../ops/utils/Console.js';
|
|
11
|
+
} = Journey;
|
|
12
12
|
|
|
13
|
-
const program = new Command('frodo
|
|
13
|
+
const program = new Command('frodo journey import');
|
|
14
14
|
|
|
15
15
|
program
|
|
16
16
|
.description('Import journey/tree.')
|
|
@@ -67,16 +67,16 @@ program
|
|
|
67
67
|
.action(
|
|
68
68
|
// implement command logic inside action handler
|
|
69
69
|
async (host, realm, user, password, options) => {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
70
|
+
state.default.session.setTenant(host);
|
|
71
|
+
state.default.session.setRealm(realm);
|
|
72
|
+
state.default.session.setUsername(user);
|
|
73
|
+
state.default.session.setPassword(password);
|
|
74
|
+
state.default.session.setDeploymentType(options.type);
|
|
75
|
+
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
76
76
|
if (await getTokens()) {
|
|
77
77
|
// import
|
|
78
78
|
if (options.journeyId) {
|
|
79
|
-
|
|
79
|
+
console.log(`Importing journey ${options.journeyId}...`);
|
|
80
80
|
importJourneyFromFile(options.journeyId, options.file, {
|
|
81
81
|
reUuid: options.reUuid,
|
|
82
82
|
deps: options.deps,
|
|
@@ -85,7 +85,7 @@ program
|
|
|
85
85
|
}
|
|
86
86
|
// --all -a
|
|
87
87
|
else if (options.all && options.file) {
|
|
88
|
-
|
|
88
|
+
console.log(
|
|
89
89
|
`Importing all journeys from a single file (${options.file})...`
|
|
90
90
|
);
|
|
91
91
|
importJourneysFromFile(options.file, {
|
|
@@ -96,7 +96,7 @@ program
|
|
|
96
96
|
}
|
|
97
97
|
// --all-separate -A
|
|
98
98
|
else if (options.allSeparate && !options.file) {
|
|
99
|
-
|
|
99
|
+
console.log(
|
|
100
100
|
'Importing all journeys from separate files in current directory...'
|
|
101
101
|
);
|
|
102
102
|
importJourneysFromFiles({
|
|
@@ -107,7 +107,7 @@ program
|
|
|
107
107
|
}
|
|
108
108
|
// import first journey in file
|
|
109
109
|
else if (options.file) {
|
|
110
|
-
|
|
110
|
+
console.log('Importing first journey in file...');
|
|
111
111
|
importFirstJourneyFromFile(options.file, {
|
|
112
112
|
reUuid: options.reUuid,
|
|
113
113
|
deps: options.deps,
|
|
@@ -116,7 +116,7 @@ program
|
|
|
116
116
|
}
|
|
117
117
|
// unrecognized combination of options or no options
|
|
118
118
|
else {
|
|
119
|
-
|
|
119
|
+
console.log('Unrecognized combination of options or no options...');
|
|
120
120
|
program.help();
|
|
121
121
|
}
|
|
122
122
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
|
+
import { Authenticate, Journey, state } from '@rockcarver/frodo-lib';
|
|
2
3
|
import * as common from '../cmd_common.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import { printMessage } from '../../ops/utils/Console.js';
|
|
4
|
+
|
|
5
|
+
const { getTokens } = Authenticate;
|
|
6
|
+
const { listJourneys } = Journey;
|
|
7
7
|
|
|
8
8
|
const program = new Command('frodo journey list');
|
|
9
9
|
|
|
@@ -24,15 +24,15 @@ program
|
|
|
24
24
|
.action(
|
|
25
25
|
// implement command logic inside action handler
|
|
26
26
|
async (host, realm, user, password, options) => {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
state.default.session.setTenant(host);
|
|
28
|
+
state.default.session.setRealm(realm);
|
|
29
|
+
state.default.session.setUsername(user);
|
|
30
|
+
state.default.session.setPassword(password);
|
|
31
|
+
state.default.session.setDeploymentType(options.type);
|
|
32
|
+
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
33
33
|
if (await getTokens()) {
|
|
34
|
-
|
|
35
|
-
`Listing journeys in realm "${
|
|
34
|
+
console.log(
|
|
35
|
+
`Listing journeys in realm "${state.default.session.getRealm()}"...`
|
|
36
36
|
);
|
|
37
37
|
listJourneys(options.long, options.analyze);
|
|
38
38
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
import { Authenticate, Journey, state } from '@rockcarver/frodo-lib';
|
|
2
3
|
import * as common from '../cmd_common.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import { printMessage } from '../../ops/utils/Console.js';
|
|
4
|
+
|
|
5
|
+
const { getTokens } = Authenticate;
|
|
6
|
+
const { prune } = Journey;
|
|
7
7
|
|
|
8
8
|
const program = new Command('frodo journey prune');
|
|
9
9
|
|
|
@@ -22,15 +22,15 @@ program
|
|
|
22
22
|
.action(
|
|
23
23
|
// implement command logic inside action handler
|
|
24
24
|
async (host, realm, user, password, options) => {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
state.default.session.setTenant(host);
|
|
26
|
+
state.default.session.setRealm(realm);
|
|
27
|
+
state.default.session.setUsername(user);
|
|
28
|
+
state.default.session.setPassword(password);
|
|
29
|
+
state.default.session.setDeploymentType(options.type);
|
|
30
|
+
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
31
31
|
if (await getTokens()) {
|
|
32
|
-
|
|
33
|
-
`Pruning orphaned configuration artifacts in realm "${
|
|
32
|
+
console.log(
|
|
33
|
+
`Pruning orphaned configuration artifacts in realm "${state.default.session.getRealm()}"...`
|
|
34
34
|
);
|
|
35
35
|
prune();
|
|
36
36
|
}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
1
|
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
Authenticate,
|
|
3
|
+
ConnectionProfile,
|
|
4
|
+
Log,
|
|
5
|
+
state,
|
|
6
|
+
} from '@rockcarver/frodo-lib';
|
|
7
|
+
import { Command } from 'commander';
|
|
7
8
|
import * as common from '../cmd_common.js';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
|
|
10
|
+
const { provisionCreds, getLogSources } = Log;
|
|
11
|
+
const { getConnectionProfile, saveConnectionProfile } = ConnectionProfile;
|
|
12
|
+
const { getTokens } = Authenticate;
|
|
11
13
|
|
|
12
14
|
const program = new Command('frodo journey list');
|
|
13
15
|
program
|
|
@@ -19,53 +21,56 @@ program
|
|
|
19
21
|
.addOption(common.insecureOption)
|
|
20
22
|
.action(async (host, user, password, options) => {
|
|
21
23
|
let credsFromParameters = true;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
state.default.session.setTenant(host);
|
|
25
|
+
state.default.session.setUsername(user);
|
|
26
|
+
state.default.session.setPassword(password);
|
|
27
|
+
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
28
|
+
console.log('Listing available ID Cloud log sources...');
|
|
27
29
|
const conn = await getConnectionProfile();
|
|
28
|
-
|
|
30
|
+
state.default.session.setTenant(conn.tenant);
|
|
29
31
|
if (conn.key != null && conn.secret != null) {
|
|
30
32
|
credsFromParameters = false;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
state.default.session.setLogApiKey(conn.key);
|
|
34
|
+
state.default.session.setLogApiSecret(conn.secret);
|
|
33
35
|
} else {
|
|
34
36
|
if (conn.username == null && conn.password == null) {
|
|
35
|
-
if (
|
|
37
|
+
if (
|
|
38
|
+
!state.default.session.getUsername() &&
|
|
39
|
+
!state.default.session.getPassword()
|
|
40
|
+
) {
|
|
36
41
|
credsFromParameters = false;
|
|
37
|
-
|
|
42
|
+
console.log(
|
|
38
43
|
'User credentials not specified as parameters and no saved API key and secret found!',
|
|
39
44
|
'warn'
|
|
40
45
|
);
|
|
41
46
|
return;
|
|
42
47
|
}
|
|
43
48
|
} else {
|
|
44
|
-
|
|
45
|
-
|
|
49
|
+
state.default.session.setUsername(conn.username);
|
|
50
|
+
state.default.session.setPassword(conn.password);
|
|
46
51
|
}
|
|
47
52
|
if (await getTokens()) {
|
|
48
53
|
const creds = await provisionCreds();
|
|
49
|
-
|
|
50
|
-
|
|
54
|
+
state.default.session.setLogApiKey(creds.api_key_id);
|
|
55
|
+
state.default.session.setLogApiSecret(creds.api_key_secret);
|
|
51
56
|
}
|
|
52
57
|
}
|
|
53
58
|
|
|
54
59
|
const sources = await getLogSources();
|
|
55
60
|
if (sources.length === 0) {
|
|
56
|
-
|
|
61
|
+
console.log(
|
|
57
62
|
"Can't get sources, possible cause - wrong API key or secret",
|
|
58
63
|
'error'
|
|
59
64
|
);
|
|
60
65
|
} else {
|
|
61
66
|
if (credsFromParameters) await saveConnectionProfile(); // save new values if they were specified on CLI
|
|
62
|
-
|
|
67
|
+
console.log('Available log sources:');
|
|
63
68
|
sources.forEach((source) => {
|
|
64
|
-
|
|
69
|
+
console.log(`${source}`, 'info');
|
|
65
70
|
});
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
71
|
+
console.log('You can use any combination of comma separated sources.');
|
|
72
|
+
console.log('For example:');
|
|
73
|
+
console.log(`$ frodo logs tail -c am-core,idm-core ${host}`, 'info');
|
|
69
74
|
}
|
|
70
75
|
});
|
|
71
76
|
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
2
|
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
Authenticate,
|
|
4
|
+
ConnectionProfile,
|
|
5
|
+
Log,
|
|
6
|
+
state,
|
|
7
|
+
} from '@rockcarver/frodo-lib';
|
|
7
8
|
import * as common from '../cmd_common.js';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
|
|
10
|
+
const { provisionCreds, tailLogs, resolveLevel } = Log;
|
|
11
|
+
const { getConnectionProfile, saveConnectionProfile } = ConnectionProfile;
|
|
12
|
+
const { getTokens } = Authenticate;
|
|
12
13
|
|
|
13
14
|
const program = new Command('frodo journey tail');
|
|
14
15
|
program
|
|
@@ -34,37 +35,40 @@ Following values are possible (values on the same line are equivalent): \
|
|
|
34
35
|
)
|
|
35
36
|
.action(async (host, user, password, options, command) => {
|
|
36
37
|
let credsFromParameters = true;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
state.default.session.setTenant(host);
|
|
39
|
+
state.default.session.setUsername(user);
|
|
40
|
+
state.default.session.setPassword(password);
|
|
41
|
+
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
41
42
|
const conn = await getConnectionProfile();
|
|
42
|
-
|
|
43
|
+
state.default.session.setTenant(conn.tenant);
|
|
43
44
|
if (conn.key != null && conn.secret != null) {
|
|
44
45
|
credsFromParameters = false;
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
state.default.session.setLogApiKey(conn.key);
|
|
47
|
+
state.default.session.setLogApiSecret(conn.secret);
|
|
47
48
|
} else {
|
|
48
49
|
if (conn.username == null && conn.password == null) {
|
|
49
|
-
if (
|
|
50
|
+
if (
|
|
51
|
+
!state.default.session.getUsername() &&
|
|
52
|
+
!state.default.session.getPassword()
|
|
53
|
+
) {
|
|
50
54
|
credsFromParameters = false;
|
|
51
|
-
|
|
55
|
+
console.log(
|
|
52
56
|
'User credentials not specified as parameters and no saved API key and secret found!',
|
|
53
57
|
'warn'
|
|
54
58
|
);
|
|
55
59
|
return;
|
|
56
60
|
}
|
|
57
61
|
} else {
|
|
58
|
-
|
|
59
|
-
|
|
62
|
+
state.default.session.setUsername(conn.username);
|
|
63
|
+
state.default.session.setPassword(conn.password);
|
|
60
64
|
}
|
|
61
65
|
if (await getTokens()) {
|
|
62
66
|
const creds = await provisionCreds();
|
|
63
|
-
|
|
64
|
-
|
|
67
|
+
state.default.session.setLogApiKey(creds.api_key_id);
|
|
68
|
+
state.default.session.setLogApiSecret(creds.api_key_secret);
|
|
65
69
|
}
|
|
66
70
|
}
|
|
67
|
-
|
|
71
|
+
console.log(
|
|
68
72
|
`Tailing ID Cloud logs from the following sources: ${
|
|
69
73
|
command.opts().sources
|
|
70
74
|
} and levels [${resolveLevel(command.opts().level)}]...`
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
|
+
import { Authenticate, Realm, state } from '@rockcarver/frodo-lib';
|
|
2
3
|
import * as common from '../cmd_common.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import { addCustomDomain } from '../../ops/RealmOps.js';
|
|
4
|
+
|
|
5
|
+
const { getTokens } = Authenticate;
|
|
6
|
+
const { addCustomDomain } = Realm;
|
|
7
7
|
|
|
8
8
|
const program = new Command('frodo realm add-custom-domain');
|
|
9
9
|
|
|
@@ -26,19 +26,19 @@ program
|
|
|
26
26
|
.action(
|
|
27
27
|
// implement command logic inside action handler
|
|
28
28
|
async (host, realm, user, password, options) => {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
state.default.session.setTenant(host);
|
|
30
|
+
state.default.session.setRealm(realm);
|
|
31
|
+
state.default.session.setUsername(user);
|
|
32
|
+
state.default.session.setPassword(password);
|
|
33
|
+
state.default.session.setDeploymentType(options.type);
|
|
34
|
+
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
35
35
|
if (await getTokens()) {
|
|
36
|
-
|
|
36
|
+
console.log(
|
|
37
37
|
`Adding custom DNS domain ${
|
|
38
38
|
options.domain
|
|
39
|
-
} to realm ${
|
|
39
|
+
} to realm ${state.default.session.getRealm()}...`
|
|
40
40
|
);
|
|
41
|
-
await addCustomDomain(
|
|
41
|
+
await addCustomDomain(state.default.session.getRealm(), options.domain);
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
// end command logic inside action handler
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
import { Authenticate, Realm, Utils, state } from '@rockcarver/frodo-lib';
|
|
2
3
|
import * as common from '../cmd_common.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import { getRealmName } from '../../api/utils/ApiUtils.js';
|
|
4
|
+
|
|
5
|
+
const { getRealmName } = Utils;
|
|
6
|
+
const { getTokens } = Authenticate;
|
|
7
|
+
const { describe } = Realm;
|
|
8
8
|
|
|
9
9
|
const program = new Command('frodo realm describe');
|
|
10
10
|
|
|
@@ -21,17 +21,17 @@ program
|
|
|
21
21
|
.action(
|
|
22
22
|
// implement command logic inside action handler
|
|
23
23
|
async (host, realm, user, password, options) => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
state.default.session.setTenant(host);
|
|
25
|
+
state.default.session.setRealm(realm);
|
|
26
|
+
state.default.session.setUsername(user);
|
|
27
|
+
state.default.session.setPassword(password);
|
|
28
|
+
state.default.session.setDeploymentType(options.type);
|
|
29
|
+
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
30
30
|
if (await getTokens()) {
|
|
31
|
-
|
|
32
|
-
`Retrieving details of realm ${
|
|
31
|
+
console.log(
|
|
32
|
+
`Retrieving details of realm ${state.default.session.getRealm()}...`
|
|
33
33
|
);
|
|
34
|
-
describe(getRealmName(
|
|
34
|
+
describe(getRealmName(state.default.session.getRealm()));
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
// end command logic inside action handler
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
|
+
import { Authenticate, Realm, state } from '@rockcarver/frodo-lib';
|
|
2
3
|
import * as common from '../cmd_common.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import { listRealms } from '../../ops/RealmOps.js';
|
|
4
|
+
|
|
5
|
+
const { listRealms } = Realm;
|
|
6
|
+
const { getTokens } = Authenticate;
|
|
7
7
|
|
|
8
8
|
const program = new Command('frodo realm list');
|
|
9
9
|
|
|
@@ -23,14 +23,14 @@ program
|
|
|
23
23
|
.action(
|
|
24
24
|
// implement command logic inside action handler
|
|
25
25
|
async (host, realm, user, password, options) => {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
state.default.session.setTenant(host);
|
|
27
|
+
state.default.session.setRealm(realm);
|
|
28
|
+
state.default.session.setUsername(user);
|
|
29
|
+
state.default.session.setPassword(password);
|
|
30
|
+
state.default.session.setDeploymentType(options.type);
|
|
31
|
+
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
32
32
|
if (await getTokens()) {
|
|
33
|
-
|
|
33
|
+
console.log('Listing all realms...');
|
|
34
34
|
await listRealms(options.long);
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
|
+
import { Authenticate, Realm, state } from '@rockcarver/frodo-lib';
|
|
2
3
|
import * as common from '../cmd_common.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import { removeCustomDomain } from '../../ops/RealmOps.js';
|
|
4
|
+
|
|
5
|
+
const { getTokens } = Authenticate;
|
|
6
|
+
const { removeCustomDomain } = Realm;
|
|
7
7
|
|
|
8
8
|
const program = new Command('frodo realm remove-custom-domain');
|
|
9
9
|
|
|
@@ -26,19 +26,22 @@ program
|
|
|
26
26
|
.action(
|
|
27
27
|
// implement command logic inside action handler
|
|
28
28
|
async (host, realm, user, password, options) => {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
state.default.session.setTenant(host);
|
|
30
|
+
state.default.session.setRealm(realm);
|
|
31
|
+
state.default.session.setUsername(user);
|
|
32
|
+
state.default.session.setPassword(password);
|
|
33
|
+
state.default.session.setDeploymentType(options.type);
|
|
34
|
+
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
35
35
|
if (await getTokens()) {
|
|
36
|
-
|
|
36
|
+
console.log(
|
|
37
37
|
`Removing custom DNS domain ${
|
|
38
38
|
options.domain
|
|
39
|
-
} from realm ${
|
|
39
|
+
} from realm ${state.default.session.getRealm()}...`
|
|
40
|
+
);
|
|
41
|
+
await removeCustomDomain(
|
|
42
|
+
state.default.session.getRealm(),
|
|
43
|
+
options.domain
|
|
40
44
|
);
|
|
41
|
-
await removeCustomDomain(storage.session.getRealm(), options.domain);
|
|
42
45
|
}
|
|
43
46
|
}
|
|
44
47
|
// end command logic inside action handler
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
|
+
import { Authenticate, CirclesOfTrust, state } from '@rockcarver/frodo-lib';
|
|
2
3
|
import * as common from '../cmd_common.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import {
|
|
4
|
+
|
|
5
|
+
const { getTokens } = Authenticate;
|
|
6
|
+
const {
|
|
7
7
|
exportCircleOfTrust,
|
|
8
8
|
exportCirclesOfTrustToFile,
|
|
9
9
|
exportCirclesOfTrustToFiles,
|
|
10
|
-
}
|
|
10
|
+
} = CirclesOfTrust;
|
|
11
11
|
|
|
12
12
|
const program = new Command('frodo saml cot export');
|
|
13
13
|
|
|
@@ -48,35 +48,35 @@ program
|
|
|
48
48
|
.action(
|
|
49
49
|
// implement command logic inside action handler
|
|
50
50
|
async (host, realm, user, password, options) => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
51
|
+
state.default.session.setTenant(host);
|
|
52
|
+
state.default.session.setRealm(realm);
|
|
53
|
+
state.default.session.setUsername(user);
|
|
54
|
+
state.default.session.setPassword(password);
|
|
55
|
+
state.default.session.setDeploymentType(options.type);
|
|
56
|
+
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
57
57
|
if (await getTokens()) {
|
|
58
58
|
// export by id/name
|
|
59
59
|
if (options.cotId) {
|
|
60
|
-
|
|
60
|
+
console.log(
|
|
61
61
|
`Exporting circle of trust "${
|
|
62
62
|
options.cotId
|
|
63
|
-
}" from realm "${
|
|
63
|
+
}" from realm "${state.default.session.getRealm()}"...`
|
|
64
64
|
);
|
|
65
65
|
exportCircleOfTrust(options.cotId, options.file);
|
|
66
66
|
}
|
|
67
67
|
// --all -a
|
|
68
68
|
else if (options.all) {
|
|
69
|
-
|
|
69
|
+
console.log('Exporting all circles of trust to a single file...');
|
|
70
70
|
exportCirclesOfTrustToFile(options.file);
|
|
71
71
|
}
|
|
72
72
|
// --all-separate -A
|
|
73
73
|
else if (options.allSeparate) {
|
|
74
|
-
|
|
74
|
+
console.log('Exporting all circles of trust to separate files...');
|
|
75
75
|
exportCirclesOfTrustToFiles();
|
|
76
76
|
}
|
|
77
77
|
// unrecognized combination of options or no options
|
|
78
78
|
else {
|
|
79
|
-
|
|
79
|
+
console.log(
|
|
80
80
|
'Unrecognized combination of options or no options...',
|
|
81
81
|
'error'
|
|
82
82
|
);
|