@docupace/pipeline 1.0.33 → 1.0.34
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/configure.js +71 -3
- package/src/next/config.js +9 -0
package/package.json
CHANGED
package/src/auth0/configure.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import axios from 'axios';
|
|
4
4
|
import crypto from 'crypto';
|
|
@@ -7,10 +7,15 @@ import {
|
|
|
7
7
|
cloneEnvRepository,
|
|
8
8
|
readDeployConfig,
|
|
9
9
|
pushDeployConfig,
|
|
10
|
+
cloneRepository,
|
|
10
11
|
} from '../next/deploy.js';
|
|
11
12
|
|
|
12
13
|
import { getVaultSecrets, updateVaultSecrets } from './vault.js';
|
|
13
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
getVaultSecretsConfigs,
|
|
16
|
+
environmentConfig,
|
|
17
|
+
coreSiteEnvMap,
|
|
18
|
+
} from '../next/config.js';
|
|
14
19
|
|
|
15
20
|
async function ensureDirectoryExists(dirPath) {
|
|
16
21
|
try {
|
|
@@ -197,7 +202,6 @@ externalConnectService:
|
|
|
197
202
|
domain: ${docupaceHost}
|
|
198
203
|
`.trim();
|
|
199
204
|
|
|
200
|
-
// Write configuration files
|
|
201
205
|
console.log('Writing configuration files...');
|
|
202
206
|
await ensureDirectoryExists(path.resolve(`${repoPath}/dp/${site}`));
|
|
203
207
|
|
|
@@ -225,11 +229,75 @@ externalConnectService:
|
|
|
225
229
|
},
|
|
226
230
|
);
|
|
227
231
|
console.log('Done!');
|
|
232
|
+
console.log('Updating Core Site Config...');
|
|
233
|
+
await updateCoreSiteConfig(site, env, useS3);
|
|
228
234
|
} catch (error) {
|
|
229
235
|
console.error('Error configuring UI:', error);
|
|
230
236
|
}
|
|
231
237
|
}
|
|
232
238
|
|
|
239
|
+
export async function cleanAndWritePropertiesFile(configPath, content) {
|
|
240
|
+
try {
|
|
241
|
+
const cleanedContent = content
|
|
242
|
+
.split('\n')
|
|
243
|
+
.map((line) => line.trim())
|
|
244
|
+
.filter((line) => line !== '')
|
|
245
|
+
.join('\n');
|
|
246
|
+
|
|
247
|
+
await fs.writeFile(configPath, cleanedContent, 'utf8');
|
|
248
|
+
console.log(`Cleaned and written file to: ${configPath}`);
|
|
249
|
+
} catch (error) {
|
|
250
|
+
console.error('Error writing properties file:', error.message);
|
|
251
|
+
process.exit(1);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
export async function updateCoreSiteConfig(site, env, useS3) {
|
|
256
|
+
try {
|
|
257
|
+
const coreSiteEnv = coreSiteEnvMap[env];
|
|
258
|
+
|
|
259
|
+
const coreSiteConfigRepoPath = await cloneRepository(
|
|
260
|
+
`${coreSiteEnv}-site-settings`,
|
|
261
|
+
);
|
|
262
|
+
|
|
263
|
+
const configPath = path.join(
|
|
264
|
+
`${coreSiteEnv}-site-settings`,
|
|
265
|
+
site.toUpperCase(),
|
|
266
|
+
'docucore-nextUI.properties',
|
|
267
|
+
);
|
|
268
|
+
|
|
269
|
+
let siteAWSSecrets = null;
|
|
270
|
+
|
|
271
|
+
if (useS3 === true || useS3 === 'true') {
|
|
272
|
+
const siteAWSSecretsPath = getVaultSecretsConfigs(site).awsSecretsPath;
|
|
273
|
+
siteAWSSecrets = await getVaultSecrets(siteAWSSecretsPath);
|
|
274
|
+
console.log(`siteAWSSecretsPath => ${siteAWSSecretsPath}`);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
const coreSiteConfig = `
|
|
278
|
+
${
|
|
279
|
+
siteAWSSecrets
|
|
280
|
+
? `
|
|
281
|
+
com.docupace.imports.files.FilesImportConfig.aws.accessKeyId=${siteAWSSecrets.AWS_ACCESS_KEY_ID}
|
|
282
|
+
com.docupace.imports.files.FilesImportConfig.aws.accessKeySecret=${siteAWSSecrets.AWS_SECRET_ACCESS_KEY}
|
|
283
|
+
com.docupace.imports.files.FilesImportConfig.aws.region=${siteAWSSecrets.AWS_REGION}
|
|
284
|
+
`.trim()
|
|
285
|
+
: ''
|
|
286
|
+
}
|
|
287
|
+
`;
|
|
288
|
+
|
|
289
|
+
await fs.ensureDir(path.join(coreSiteConfigRepoPath, site.toUpperCase()));
|
|
290
|
+
await cleanAndWritePropertiesFile(configPath, coreSiteConfig);
|
|
291
|
+
await pushDeployConfig(
|
|
292
|
+
coreSiteConfigRepoPath,
|
|
293
|
+
`Core config: docucore-nextUI.properties for site: (${site.toUpperCase()}) update in env: (${env})`,
|
|
294
|
+
);
|
|
295
|
+
} catch (error) {
|
|
296
|
+
console.error('Error:', error.message);
|
|
297
|
+
process.exit(1);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
|
|
233
301
|
async function configureGraphQLServer(
|
|
234
302
|
siteHost,
|
|
235
303
|
coreURL,
|
package/src/next/config.js
CHANGED
|
@@ -80,5 +80,14 @@ export const getVaultSecretsConfigs = (site) => {
|
|
|
80
80
|
siteCommonSecretsPath: `secret/data/${site}/common/config`,
|
|
81
81
|
graphqlServerSecretsPath: `secret/data/${site}/graphql-server/config`,
|
|
82
82
|
uiSecretsPath: `secret/data/${site}/ui/config`,
|
|
83
|
+
awsSecretsPath: `secret/data/${site}/aws/config`,
|
|
83
84
|
};
|
|
84
85
|
};
|
|
86
|
+
|
|
87
|
+
export const coreSiteEnvMap = {
|
|
88
|
+
dev: 'dev',
|
|
89
|
+
qa: 'preprod',
|
|
90
|
+
stg: 'staging',
|
|
91
|
+
uat: 'uat',
|
|
92
|
+
prd: 'prod',
|
|
93
|
+
};
|