@docupace/pipeline 1.0.1-2.ervins.13 → 1.0.1-2.ervins.15
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/package.json +1 -1
- package/src/auth0/cli.js +1 -1
- package/src/auth0/configure.js +51 -9
package/package.json
CHANGED
package/src/auth0/cli.js
CHANGED
|
@@ -18,7 +18,7 @@ program
|
|
|
18
18
|
.command('configureFromSite <fromSite> <toSite> <env> <deployUI> <deployGraphQLServer> <useNewDomain>')
|
|
19
19
|
.description('Configure the Auth0 tenants in env for the given site')
|
|
20
20
|
.action(async (fromSite, toSite, env, deployUI, deployGraphQLServer, useNewDomain) => {
|
|
21
|
-
await configureFromSite(fromSite, toSite,
|
|
21
|
+
await configureFromSite(fromSite, toSite, fromEnv,toEnv, deployUI, deployGraphQLServer, useNewDomain);
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
program
|
package/src/auth0/configure.js
CHANGED
|
@@ -169,6 +169,11 @@ async function templateAuth0(siteUrl, coreApiContext, env, filePaths, deployUI,
|
|
|
169
169
|
|
|
170
170
|
graphqlAllowedCallbacksUrls = [`${siteUrl}/api/graphql/callback`];
|
|
171
171
|
graphqlAllowedLogoutUrls = [`${siteUrl}/api/graphql/`];
|
|
172
|
+
|
|
173
|
+
connectAllowedCallbacksUrls = [`${siteUrl}/connect/samlCallback?client_name=auth0`];
|
|
174
|
+
connectlAllowedLogoutUrls = [ `${siteUrl}/connect`];
|
|
175
|
+
|
|
176
|
+
|
|
172
177
|
} else {
|
|
173
178
|
uiAllowedCallbacksUrls = [
|
|
174
179
|
`${siteUrl}/api/auth/callback`,
|
|
@@ -187,6 +192,16 @@ async function templateAuth0(siteUrl, coreApiContext, env, filePaths, deployUI,
|
|
|
187
192
|
`http://localhost:4000/api/graphql/`,
|
|
188
193
|
`${siteUrl}/api/graphql/`,
|
|
189
194
|
];
|
|
195
|
+
|
|
196
|
+
connectAllowedCallbacksUrls = [
|
|
197
|
+
`${siteUrl}/connect/samlCallback?client_name=auth0`,
|
|
198
|
+
`http://localhost:9000/connect/samlCallback?client_name=auth0`,
|
|
199
|
+
];
|
|
200
|
+
connectlAllowedLogoutUrls = [
|
|
201
|
+
`${siteUrl}/connect`
|
|
202
|
+
];
|
|
203
|
+
|
|
204
|
+
|
|
190
205
|
}
|
|
191
206
|
|
|
192
207
|
const configureUI = deployUI === 'true';
|
|
@@ -198,6 +213,16 @@ async function templateAuth0(siteUrl, coreApiContext, env, filePaths, deployUI,
|
|
|
198
213
|
callbacks: uiAllowedCallbacksUrls,
|
|
199
214
|
allowed_logout_urls: uiAllowedLogoutUrls,
|
|
200
215
|
});
|
|
216
|
+
|
|
217
|
+
//TODO: move to separate function for connect
|
|
218
|
+
console.log('connect_allowed_callbacks_urls ->', connectAllowedCallbacksUrls);
|
|
219
|
+
console.log('connect_allowed_logout_urls ->', connectAllowedLogoutUrls);
|
|
220
|
+
|
|
221
|
+
await updateJsonFile(filePaths.connectJson, {
|
|
222
|
+
callbacks: connectAllowedCallbacksUrls,
|
|
223
|
+
allowed_logout_urls: connectAllowedLogoutUrls,
|
|
224
|
+
});
|
|
225
|
+
|
|
201
226
|
console.log('Updated URLs for main UI...');
|
|
202
227
|
} else {
|
|
203
228
|
await fs.promises.unlink(filePaths.uiJson);
|
|
@@ -279,6 +304,8 @@ async function getAuth0AuthToken(auth0Domain, clientId, clientSecret) {
|
|
|
279
304
|
async function configureUI(siteHost, coreURL, docupaceHost, site, env, useNewDomain, auth0Domain, auth0ClientId, auth0ClientSecret, auth0Token, vaultSiteSecretsPath, imageTag, repoPath) {
|
|
280
305
|
console.log(`Configuring UI for site: ${site} Host: ${siteHost} in env: ${env}`);
|
|
281
306
|
siteHost = siteHost.replace('https://', '');
|
|
307
|
+
coreURL = coreURL.replace('https://', '');
|
|
308
|
+
|
|
282
309
|
|
|
283
310
|
try {
|
|
284
311
|
const auth0Response = await axios.get(`https://${auth0Domain}/api/v2/clients`, {
|
|
@@ -407,6 +434,7 @@ externalConnectService:
|
|
|
407
434
|
|
|
408
435
|
async function configureGraphQLServer(siteHost, coreURL, docupaceHost, site, env, auth0Domain, auth0ClientId, auth0ClientSecret, auth0Token, vaultSiteSecretsPath, imageTag, standardConfigRemoteBranch, repoPath, commonSecrets) {
|
|
409
436
|
siteHost = siteHost.replace('https://', '');
|
|
437
|
+
coreURL = coreURL.replace('https://', '');
|
|
410
438
|
console.log(`Configuring GraphQL Server for site: ${site} Host: ${siteHost} in env: ${env}`);
|
|
411
439
|
|
|
412
440
|
try {
|
|
@@ -510,7 +538,8 @@ ingress:
|
|
|
510
538
|
}
|
|
511
539
|
}
|
|
512
540
|
|
|
513
|
-
|
|
541
|
+
|
|
542
|
+
export async function configureFromSite(fromSite, toSite, fromEnv,toEnv, deployUI, deployGraphQLServer, useNewDomain) {
|
|
514
543
|
console.log(`Configuring Auth0 tenants and ArgoCD apps for site: ${toSite} in env: ${env} from site: ${fromSite}`);
|
|
515
544
|
// Common Secrets
|
|
516
545
|
const commonSecretsPath = getVaultSecretsConfigs(toSite).commonSecretsPath;
|
|
@@ -522,7 +551,7 @@ export async function configureFromSite(fromSite, toSite, env, deployUI, deployG
|
|
|
522
551
|
console.log(`siteCommonSecretsPath => ${siteCommonSecretsPath}`)
|
|
523
552
|
const siteCommonSecrets = await getVaultSecrets(siteCommonSecretsPath);
|
|
524
553
|
|
|
525
|
-
const auth0Domain = `docupace-${
|
|
554
|
+
const auth0Domain = `docupace-${toEnv}-${toSite}.us.auth0.com`
|
|
526
555
|
const auth0ClientId = siteCommonSecrets.AUTH0_CLIENT_ID;
|
|
527
556
|
const auth0ClientSecret = siteCommonSecrets.AUTH0_CLIENT_SECRET;
|
|
528
557
|
const auth0Token = await getAuth0AuthToken(auth0Domain, auth0ClientId, auth0ClientSecret);
|
|
@@ -535,15 +564,27 @@ export async function configureFromSite(fromSite, toSite, env, deployUI, deployG
|
|
|
535
564
|
const graphqlSecretsPath = getVaultSecretsConfigs(toSite).graphqlServerSecretsPath;
|
|
536
565
|
console.log(`graphqlSecretsPath => ${graphqlSecretsPath}`);
|
|
537
566
|
|
|
567
|
+
let repoPathFromEnv ="";
|
|
568
|
+
let repoPathToEnv = "";
|
|
538
569
|
// Clone repositories
|
|
539
|
-
|
|
570
|
+
if ( fromEnv == toEnv ) {
|
|
571
|
+
repoPathFromEnv = await cloneEnvRepository(fromEnv);
|
|
572
|
+
repoPathToEnv = repoPathFromEnv;
|
|
573
|
+
}else {
|
|
574
|
+
repoPathFromEnv = await cloneEnvRepository(fromEnv);
|
|
575
|
+
repoPathToEnv = await cloneEnvRepository(toEnv);
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
|
|
579
|
+
//TODO: clone fromEnv and toEnv. replace above with this
|
|
580
|
+
|
|
540
581
|
const auth0RepoPath = await cloneRepository('auth0-site-setup');
|
|
541
582
|
|
|
542
583
|
// Read deploy configs
|
|
543
|
-
const { deployConfig: deployUIConfig } = await readDeployConfig('ui',
|
|
584
|
+
const { deployConfig: deployUIConfig } = await readDeployConfig('ui', fromEnv, fromSite, 'values');
|
|
544
585
|
const uiImageTag = deployUIConfig.image.tag;
|
|
545
586
|
|
|
546
|
-
const { deployConfig: deployGraphQLServerConfig} = await readDeployConfig('graphql-server',
|
|
587
|
+
const { deployConfig: deployGraphQLServerConfig} = await readDeployConfig('graphql-server', fromEnv, fromSite, 'values');
|
|
547
588
|
const graphqlImageTag = deployGraphQLServerConfig.image.tag;
|
|
548
589
|
const graphqlStandardConfigRemoteBranch = deployGraphQLServerConfig.graphqlServer.standardConfigRemoteBranch;
|
|
549
590
|
|
|
@@ -554,6 +595,7 @@ export async function configureFromSite(fromSite, toSite, env, deployUI, deployG
|
|
|
554
595
|
loginHtml: './auth0-site-setup/template/pages/login.html',
|
|
555
596
|
graphqlJson: './auth0-site-setup/template/clients/docupace-graphql.json',
|
|
556
597
|
uiJson: './auth0-site-setup/template/clients/docupace-ui-main.json',
|
|
598
|
+
connectJson: './auth0-site-setup/template/clients/docupace-connect.json',
|
|
557
599
|
databaseJson: './auth0-site-setup/template/database-connections/docupace/database.json',
|
|
558
600
|
twilioJson: './auth0-site-setup/template/guardian/providers/sms-twilio.json',
|
|
559
601
|
};
|
|
@@ -587,11 +629,11 @@ export async function configureFromSite(fromSite, toSite, env, deployUI, deployG
|
|
|
587
629
|
await importAuth0Templates('./auth0-site-setup/template', auth0Domain, auth0ClientId, auth0ClientSecret);
|
|
588
630
|
|
|
589
631
|
if (deployUI === 'true') {
|
|
590
|
-
await configureUI(SITE_HOST, CORE_URL, DOCUPACE_HOST, toSite,
|
|
632
|
+
await configureUI(SITE_HOST, CORE_URL, DOCUPACE_HOST, toSite, toEnv, useNewDomain, auth0Domain, auth0ClientId, auth0ClientSecret, auth0Token, uiSecretsPath, uiImageTag, repoPathToEnv);
|
|
591
633
|
}
|
|
592
634
|
|
|
593
|
-
await configureGraphQLServer(SITE_HOST, CORE_URL, DOCUPACE_HOST, toSite, env, auth0Domain, auth0ClientId, auth0ClientSecret, auth0Token, graphqlSecretsPath, graphqlImageTag, graphqlStandardConfigRemoteBranch,
|
|
594
|
-
await pushDeployConfig(
|
|
635
|
+
await configureGraphQLServer(SITE_HOST, CORE_URL, DOCUPACE_HOST, toSite, env, auth0Domain, auth0ClientId, auth0ClientSecret, auth0Token, graphqlSecretsPath, graphqlImageTag, graphqlStandardConfigRemoteBranch, repoPathToEnv, commonSecrets);
|
|
636
|
+
await pushDeployConfig(repoPathToEnv, `Config update for ${toSite} from ${fromSite} with UI: ${uiImageTag} and GraphQL: ${graphqlImageTag}`);
|
|
595
637
|
|
|
596
638
|
await initializeAuth0Configuration({
|
|
597
639
|
initConfiguration: "true",
|
|
@@ -606,4 +648,4 @@ export async function configureFromSite(fromSite, toSite, env, deployUI, deployG
|
|
|
606
648
|
auth0AuthToken: auth0Token,
|
|
607
649
|
coreApiIdentifier: commonSecrets.CORE_API_IDENTIFIER
|
|
608
650
|
})
|
|
609
|
-
}
|
|
651
|
+
}
|