@docupace/pipeline 1.0.7-alpha.ervins1.26 → 1.0.7-alpha.ervins1.4
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/next/connect.js +19 -52
- package/src/next/vault.js +7 -33
package/package.json
CHANGED
package/src/next/connect.js
CHANGED
|
@@ -22,8 +22,7 @@ import {
|
|
|
22
22
|
process.env.COMMON_VAULT_PATH = process.env.COMMON_VAULT_PATH || 'secret/data/common/config';
|
|
23
23
|
process.env.VAULT_SKIP_VERIFY = process.env.VAULT_SKIP_VERIFY || 'true';
|
|
24
24
|
process.env.CONNECT_DIR = process.env.CONNECT_DIR || 'connect';
|
|
25
|
-
|
|
26
|
-
const vaultAddr = process.env.VAULT_ADDR;
|
|
25
|
+
|
|
27
26
|
|
|
28
27
|
function log(msg) {
|
|
29
28
|
console.log(`[*] ${msg}`);
|
|
@@ -41,19 +40,22 @@ function log(msg) {
|
|
|
41
40
|
log(`Cloning ${destDir} repository...`);
|
|
42
41
|
}
|
|
43
42
|
|
|
43
|
+
// Since we use zx, the environment variables can be read from process.env
|
|
44
|
+
// e.g. $BITBUCKET_USERNAME, $BITBUCKET_APP_PASSWORD
|
|
44
45
|
const username = process.env.BITBUCKET_USERNAME;
|
|
45
46
|
const password = process.env.BITBUCKET_APP_PASSWORD;
|
|
46
47
|
|
|
47
48
|
// Construct clone command
|
|
48
49
|
const cloneUrl = `https://${username}:${password}@bitbucket.org/dp-cloud/${repository}.git`;
|
|
49
50
|
|
|
50
|
-
|
|
51
|
+
// Perform the clone
|
|
51
52
|
await $`git clone --branch=${branch} --depth 1 ${cloneUrl} ${destDir}`;
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
|
|
55
56
|
|
|
56
|
-
|
|
57
|
+
const vaultToken = process.env.VAULT_TOKEN;
|
|
58
|
+
const vaultAddr = process.env.VAULT_ADDR;
|
|
57
59
|
|
|
58
60
|
|
|
59
61
|
export async function connectClone() {
|
|
@@ -84,8 +86,8 @@ export async function connectClone() {
|
|
|
84
86
|
process.env.AUTH0_CLIENT_ID = siteCommonSecrets.AUTH0_CLIENT_ID;
|
|
85
87
|
process.env.AUTH0_CLIENT_SECRET = siteCommonSecrets.AUTH0_CLIENT_SECRET;
|
|
86
88
|
|
|
87
|
-
|
|
88
|
-
process.env.AUTH0_REGION_DOMAIN="us.auth0.com"
|
|
89
|
+
process.env.AUTH0_SUBDOMAIN="docupace-${BUILD_ENVIRONMENT}-${BUILD_SITE}"
|
|
90
|
+
process.env.AUTH0_REGION_DOMAIN="us.auth0.com"
|
|
89
91
|
|
|
90
92
|
log(`BUILD_ENVIRONMENT: ${process.env.BUILD_ENVIRONMENT}`);
|
|
91
93
|
log(`BUILD_SITE: ${process.env.BUILD_SITE}`);
|
|
@@ -93,23 +95,21 @@ export async function connectClone() {
|
|
|
93
95
|
log(`AUTH0_REGION_DOMAIN: ${process.env.AUTH0_REGION_DOMAIN}`);
|
|
94
96
|
log(`AUTH0_CLIENT_ID: ${process.env.AUTH0_CLIENT_ID}`);
|
|
95
97
|
|
|
96
|
-
process.env.AUTH0_DOMAIN =
|
|
98
|
+
process.env.AUTH0_DOMAIN = `${process.env.AUTH0_SUBDOMAIN}.${process.env.AUTH0_REGION_DOMAIN}`;
|
|
97
99
|
|
|
98
100
|
|
|
99
101
|
const projectRoot = process.cwd();
|
|
100
102
|
// 4) Clone 'connect-deploy' into CONNECT_DIR
|
|
101
|
-
|
|
102
|
-
|
|
103
103
|
await gitCheckout('connect-deploy', process.env.CONNECT_DIR);
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
|
|
106
105
|
// 5) Create site clone (emulating the dock.sh call)
|
|
107
|
-
const cloneFrom = path.join(projectRoot,process.env.CONNECT_DIR
|
|
108
|
-
const cloneTo = path.join(projectRoot,process.env.CONNECT_DIR
|
|
109
|
-
|
|
106
|
+
const cloneFrom = path.join(projectRoot,process.env.CONNECT_DIR,`${process.env.FROM_BUILD_ENVIRONMENT}/${process.env.FROM_BUILD_SITE}`);
|
|
107
|
+
const cloneTo = path.join(projectRoot,process.env.CONNECT_DIR,`${process.env.BUILD_ENVIRONMENT}/${process.env.BUILD_SITE}`);
|
|
108
|
+
log(`projectRoot: ${projectRoot}`);
|
|
110
109
|
const connectHome = path.join(projectRoot,process.env.CONNECT_DIR);
|
|
110
|
+
|
|
111
111
|
if (!(await fs.pathExists(cloneFrom))) {
|
|
112
|
-
log('Clone template directory not found
|
|
112
|
+
log('Clone template directory not found');
|
|
113
113
|
process.exit(1);
|
|
114
114
|
}
|
|
115
115
|
|
|
@@ -117,48 +117,15 @@ export async function connectClone() {
|
|
|
117
117
|
if (!(await fs.pathExists(cloneTo))) {
|
|
118
118
|
log('New site does not exist. Performing cloning...');
|
|
119
119
|
|
|
120
|
-
process.env.IMAGE_VERSION
|
|
121
|
-
|
|
122
|
-
//await $`cd ${cloneFrom} && bash dock.sh clone ${process.env.BUILD_ENVIRONMENT} ${process.env.BUILD_SITE} ${process.env.IMAGE_VERSION}`;
|
|
123
|
-
await (async () => {
|
|
124
|
-
try {
|
|
125
|
-
// Execute the shell command
|
|
126
|
-
const result = await $`cd ${cloneFrom} && bash dock.sh clone ${process.env.BUILD_ENVIRONMENT} ${process.env.BUILD_SITE} ${process.env.IMAGE_VERSION}`;
|
|
127
|
-
console.log('Command succeeded:');
|
|
128
|
-
console.log('stdout:', result.stdout); // Standard output
|
|
129
|
-
console.log('stderr:', result.stderr); // Standard error
|
|
130
|
-
} catch (error) {
|
|
131
|
-
console.error('Command failed:');
|
|
132
|
-
console.error('Exit Code:', error._code); // Exit code of the command
|
|
133
|
-
console.error('Signal:', error._signal); // Signal that caused termination (if any)
|
|
134
|
-
console.error('stdout:', error._stdout); // Standard output
|
|
135
|
-
console.error('stderr:', error._stderr); // Standard error
|
|
136
|
-
}
|
|
137
|
-
})();
|
|
138
|
-
|
|
139
|
-
|
|
120
|
+
process.env.IMAGE_VERSION=$`cd ${cloneFrom} && grep -E '^IMAGE_VERSION=' dock.sh | cut -f2 -d=`
|
|
121
|
+
await $`cd ${cloneTo} && bash dock.sh clone ${process.env.BUILD_ENVIRONMENT} ${process.env.BUILD_SITE} ${process.env.IMAGE_VERSION}`;
|
|
140
122
|
} else {
|
|
141
123
|
log('Site already exists. Continuing Auth0 setup...');
|
|
142
124
|
}
|
|
143
125
|
|
|
144
|
-
|
|
145
|
-
await (async () => {
|
|
146
|
-
try {
|
|
147
|
-
// Execute the shell command
|
|
148
|
-
const result = await $`cd ${cloneTo} && bash dock.sh getAuth0Metadata`;
|
|
149
|
-
console.log('Command succeeded:');
|
|
150
|
-
console.log('stdout:', result.stdout); // Standard output
|
|
151
|
-
console.log('stderr:', result.stderr); // Standard error
|
|
152
|
-
} catch (error) {
|
|
153
|
-
console.error('Command failed:');
|
|
154
|
-
console.error('Exit Code:', error._code); // Exit code of the command
|
|
155
|
-
console.error('Signal:', error._signal); // Signal that caused termination (if any)
|
|
156
|
-
console.error('stdout:', error._stdout); // Standard output
|
|
157
|
-
console.error('stderr:', error._stderr); // Standard error
|
|
158
|
-
}
|
|
159
|
-
})();
|
|
160
|
-
|
|
161
126
|
|
|
127
|
+
await $`cd ${cloneTo} && bash dock.sh getAuth0Metadata`;
|
|
128
|
+
|
|
162
129
|
// 7) Check conf files, print logs
|
|
163
130
|
await $`grep "auth0" ${path.join(cloneTo, 'conf/application.conf')}`;
|
|
164
131
|
await $`ls -all ${path.join(cloneTo, 'conf')}`;
|
package/src/next/vault.js
CHANGED
|
@@ -1,39 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { $ } from 'zx';
|
|
2
2
|
|
|
3
|
-
export async function vaultAddSiteData(SITE) {
|
|
4
|
-
const AUTH0_CLIENT_ID = process.env.AUTH0_CLIENT_ID;
|
|
5
|
-
const AUTH0_CLIENT_SECRET = process.env.AUTH0_CLIENT_SECRET;
|
|
6
|
-
const VAULT_ADDR = process.env.VAULT_ADDR; // Vault host URL from environment variables
|
|
7
|
-
const VAULT_TOKEN = process.env.VAULT_TOKEN; // Vault token from environment variables
|
|
8
|
-
|
|
9
|
-
if (!VAULT_ADDR || !VAULT_TOKEN) {
|
|
10
|
-
throw new Error('Missing VAULT_ADDR or VAULT_TOKEN environment variable.');
|
|
11
|
-
}
|
|
12
3
|
|
|
13
|
-
|
|
4
|
+
export async function vaultAddSiteData(SITE) {
|
|
5
|
+
const AUTH0_CLIENT_ID = `${process.env.AUTH0_CLIENT_ID}`;
|
|
6
|
+
const AUTH0_CLIENT_SECRET = `${process.env.AUTH0_CLIENT_SECRET}`;
|
|
7
|
+
await $`export VAULT_SKIP_VERIFY=true`;
|
|
8
|
+
await $`vault kv put secret/dp-${SITE}/common/config AUTH0_CLIENT_ID="${AUTH0_CLIENT_ID}" AUTH0_CLIENT_SECRET="${AUTH0_CLIENT_SECRET}"`
|
|
9
|
+
}
|
|
14
10
|
|
|
15
|
-
try {
|
|
16
|
-
const response = await axios.post(
|
|
17
|
-
vaultApiUrl,
|
|
18
|
-
{
|
|
19
|
-
data: {
|
|
20
|
-
AUTH0_CLIENT_ID: AUTH0_CLIENT_ID,
|
|
21
|
-
AUTH0_CLIENT_SECRET: AUTH0_CLIENT_SECRET,
|
|
22
|
-
},
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
headers: {
|
|
26
|
-
'X-Vault-Token': VAULT_TOKEN,
|
|
27
|
-
'Content-Type': 'application/json',
|
|
28
|
-
},
|
|
29
|
-
}
|
|
30
|
-
);
|
|
31
11
|
|
|
32
|
-
console.log('Data added to Vault successfully:', response.data);
|
|
33
|
-
} catch (error) {
|
|
34
|
-
console.error('Error adding data to Vault:', error.response?.data || error.message);
|
|
35
|
-
throw error;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
12
|
|
|
39
13
|
|