@docupace/pipeline 1.0.13 → 1.0.16

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docupace/pipeline",
3
- "version": "1.0.13",
3
+ "version": "1.0.16",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "type": "module",
package/src/auth0/cli.js CHANGED
@@ -18,10 +18,10 @@ dotenv.config({ path: ['.env.pipeline.local', 'config/.env.pipeline.local'] });
18
18
  const program = new Command();
19
19
 
20
20
  program
21
- .command('configureFromSite <fromSite> <toSite> <env> <deployUI> <deployGraphQLServer> <useNewDomain>')
21
+ .command('configureFromSite <fromSite> <toSite> <fromEnv> <toEnv> <deployUI> <deployGraphQLServer> <useNewDomain>')
22
22
  .description('Configure the Auth0 tenants in env for the given site')
23
- .action(async (fromSite, toSite, env, deployUI, deployGraphQLServer, useNewDomain) => {
24
- await configureFromSite(fromSite, toSite, env, deployUI, deployGraphQLServer, useNewDomain);
23
+ .action(async (fromSite, toSite, fromEnv,toEnv, deployUI, deployGraphQLServer, useNewDomain) => {
24
+ await configureFromSite(fromSite, toSite, fromEnv, toEnv, deployUI, deployGraphQLServer, useNewDomain);
25
25
  });
26
26
 
27
27
  program
@@ -167,6 +167,11 @@ async function templateAuth0(siteUrl, coreApiContext, env, filePaths, deployUI,
167
167
 
168
168
  graphqlAllowedCallbacksUrls = [`${siteUrl}/api/graphql/callback`];
169
169
  graphqlAllowedLogoutUrls = [`${siteUrl}/api/graphql/`];
170
+
171
+ connectAllowedCallbacksUrls = [`${siteUrl}/connect/samlCallback?client_name=auth0`];
172
+ connectlAllowedLogoutUrls = [ `${siteUrl}/connect`];
173
+
174
+
170
175
  } else {
171
176
  uiAllowedCallbacksUrls = [
172
177
  `${siteUrl}/api/auth/callback`,
@@ -185,6 +190,16 @@ async function templateAuth0(siteUrl, coreApiContext, env, filePaths, deployUI,
185
190
  `http://localhost:4000/api/graphql/`,
186
191
  `${siteUrl}/api/graphql/`,
187
192
  ];
193
+
194
+ connectAllowedCallbacksUrls = [
195
+ `${siteUrl}/connect/samlCallback?client_name=auth0`,
196
+ `http://localhost:9000/connect/samlCallback?client_name=auth0`,
197
+ ];
198
+ connectlAllowedLogoutUrls = [
199
+ `${siteUrl}/connect`
200
+ ];
201
+
202
+
188
203
  }
189
204
 
190
205
  const configureUI = deployUI === 'true';
@@ -196,6 +211,16 @@ async function templateAuth0(siteUrl, coreApiContext, env, filePaths, deployUI,
196
211
  callbacks: uiAllowedCallbacksUrls,
197
212
  allowed_logout_urls: uiAllowedLogoutUrls,
198
213
  });
214
+
215
+ //TODO: move to separate function for connect
216
+ console.log('connect_allowed_callbacks_urls ->', connectAllowedCallbacksUrls);
217
+ console.log('connect_allowed_logout_urls ->', connectAllowedLogoutUrls);
218
+
219
+ await updateJsonFile(filePaths.connectJson, {
220
+ callbacks: connectAllowedCallbacksUrls,
221
+ allowed_logout_urls: connectAllowedLogoutUrls,
222
+ });
223
+
199
224
  console.log('Updated URLs for main UI...');
200
225
  } else {
201
226
  await fs.promises.unlink(filePaths.uiJson);
@@ -276,6 +301,9 @@ export async function getAuth0AuthToken(auth0Domain, clientId, clientSecret) {
276
301
 
277
302
  async function configureUI(siteHost, coreURL, docupaceHost, site, env, useNewDomain, auth0Domain, auth0ClientId, auth0ClientSecret, auth0Token, vaultSiteSecretsPath, imageTag, repoPath) {
278
303
  console.log(`Configuring UI for site: ${site} Host: ${siteHost} in env: ${env}`);
304
+ siteHost = siteHost.replace('https://', '');
305
+ coreURL = coreURL.replace('https://', '');
306
+
279
307
 
280
308
  try {
281
309
  const auth0Response = await axios.get(`https://${auth0Domain}/api/v2/clients`, {
@@ -403,6 +431,8 @@ externalConnectService:
403
431
  }
404
432
 
405
433
  async function configureGraphQLServer(siteHost, coreURL, docupaceHost, site, env, auth0Domain, auth0ClientId, auth0ClientSecret, auth0Token, vaultSiteSecretsPath, imageTag, standardConfigRemoteBranch, repoPath, commonSecrets) {
434
+ siteHost = siteHost.replace('https://', '');
435
+ coreURL = coreURL.replace('https://', '');
406
436
  console.log(`Configuring GraphQL Server for site: ${site} Host: ${siteHost} in env: ${env}`);
407
437
 
408
438
  try {
@@ -455,6 +485,7 @@ graphqlServer:
455
485
  env:
456
486
  AUTH0_CLIENT_SECRET: vault:secret/data/${site}/graphql-server/config#AUTH0_CLIENT_SECRET
457
487
  STANDARD_CONFIG_REMOTE_PATH: vault:secret/data/common/config#STANDARD_CONFIG_REMOTE_PATH
488
+ SITE_CONFIG_REMOTE_PATH: vault:secret/data/${site}/common/config#SITE_CONFIG_REMOTE_PATH
458
489
  AUTH0_CC_CLIENT_ID: vault:secret/data/${site}/graphql-server/config#AUTH0_CC_CLIENT_ID
459
490
  AUTH0_CC_CLIENT_SECRET: vault:secret/data/${site}/graphql-server/config#AUTH0_CC_CLIENT_SECRET
460
491
  image:
@@ -506,8 +537,9 @@ ingress:
506
537
  }
507
538
  }
508
539
 
509
- export async function configureFromSite(fromSite, toSite, env, deployUI, deployGraphQLServer, useNewDomain) {
510
- console.log(`Configuring Auth0 tenants and ArgoCD apps for site: ${toSite} in env: ${env} from site: ${fromSite}`);
540
+
541
+ export async function configureFromSite(fromSite, toSite, fromEnv,toEnv, deployUI, deployGraphQLServer, useNewDomain) {
542
+ console.log(`Configuring Auth0 tenants and ArgoCD apps for site: ${toSite} in env: ${toEnv} from site: ${fromSite}`);
511
543
  // Common Secrets
512
544
  const commonSecretsPath = getVaultSecretsConfigs(toSite).commonSecretsPath;
513
545
  console.log(`commonSecretsPath => ${commonSecretsPath}`)
@@ -518,7 +550,7 @@ export async function configureFromSite(fromSite, toSite, env, deployUI, deployG
518
550
  console.log(`siteCommonSecretsPath => ${siteCommonSecretsPath}`)
519
551
  const siteCommonSecrets = await getVaultSecrets(siteCommonSecretsPath);
520
552
 
521
- const auth0Domain = `docupace-${env}-${toSite}.us.auth0.com`
553
+ const auth0Domain = `docupace-${toEnv}-${toSite}.us.auth0.com`
522
554
  const auth0ClientId = siteCommonSecrets.AUTH0_CLIENT_ID;
523
555
  const auth0ClientSecret = siteCommonSecrets.AUTH0_CLIENT_SECRET;
524
556
  const auth0Token = await getAuth0AuthToken(auth0Domain, auth0ClientId, auth0ClientSecret);
@@ -529,17 +561,29 @@ export async function configureFromSite(fromSite, toSite, env, deployUI, deployG
529
561
 
530
562
  // GraphQL-Server app
531
563
  const graphqlSecretsPath = getVaultSecretsConfigs(toSite).graphqlServerSecretsPath;
532
- console.log(`graphqlSecretsPath => ${graphqlSecretsPath}`)
564
+ console.log(`graphqlSecretsPath => ${graphqlSecretsPath}`);
533
565
 
566
+ let repoPathFromEnv ="";
567
+ let repoPathToEnv = "";
534
568
  // Clone repositories
535
- const repoPath = await cloneEnvRepository(env);
569
+ if ( fromEnv == toEnv ) {
570
+ repoPathFromEnv = await cloneEnvRepository(fromEnv);
571
+ repoPathToEnv = repoPathFromEnv;
572
+ }else {
573
+ repoPathFromEnv = await cloneEnvRepository(fromEnv);
574
+ repoPathToEnv = await cloneEnvRepository(toEnv);
575
+ }
576
+
577
+
578
+ //TODO: clone fromEnv and toEnv. replace above with this
579
+
536
580
  const auth0RepoPath = await cloneRepository('auth0-site-setup');
537
581
 
538
582
  // Read deploy configs
539
- const { deployConfig: deployUIConfig } = await readDeployConfig('ui', env, fromSite, 'values');
583
+ const { deployConfig: deployUIConfig } = await readDeployConfig('ui', fromEnv, fromSite, 'values');
540
584
  const uiImageTag = deployUIConfig.image.tag;
541
585
 
542
- const { deployConfig: deployGraphQLServerConfig} = await readDeployConfig('graphql-server', env, fromSite, 'values');
586
+ const { deployConfig: deployGraphQLServerConfig} = await readDeployConfig('graphql-server', fromEnv, fromSite, 'values');
543
587
  const graphqlImageTag = deployGraphQLServerConfig.image.tag;
544
588
  const graphqlStandardConfigRemoteBranch = deployGraphQLServerConfig.graphqlServer.standardConfigRemoteBranch;
545
589
 
@@ -550,6 +594,7 @@ export async function configureFromSite(fromSite, toSite, env, deployUI, deployG
550
594
  loginHtml: './auth0-site-setup/template/pages/login.html',
551
595
  graphqlJson: './auth0-site-setup/template/clients/docupace-graphql.json',
552
596
  uiJson: './auth0-site-setup/template/clients/docupace-ui-main.json',
597
+ connectJson: './auth0-site-setup/template/clients/docupace-connect.json',
553
598
  databaseJson: './auth0-site-setup/template/database-connections/docupace/database.json',
554
599
  twilioJson: './auth0-site-setup/template/guardian/providers/sms-twilio.json',
555
600
  };
@@ -557,7 +602,7 @@ export async function configureFromSite(fromSite, toSite, env, deployUI, deployG
557
602
  console.log(`Copying Latest UI Image Tag: ${deployUIConfig.image.tag} from site: ${fromSite} to site: ${toSite}`);
558
603
  console.log(`Copying Latest GraphQL Server Image Tag: ${deployGraphQLServerConfig.image.tag} from site: ${fromSite} to site: ${toSite}`);
559
604
 
560
- const envConfig = environmentConfig[env];
605
+ const envConfig = environmentConfig[toEnv];
561
606
 
562
607
  let CORE_URL,
563
608
  SITE_HOST,
@@ -579,15 +624,15 @@ export async function configureFromSite(fromSite, toSite, env, deployUI, deployG
579
624
  CONNECT_URL = `${oldUrl}_ui`;
580
625
  }
581
626
 
582
- await templateAuth0(SITE_HOST, CORE_API_CONTEXT, env, filePaths, deployUI, deployGraphQLServer, commonSecrets);
627
+ await templateAuth0(SITE_HOST, CORE_API_CONTEXT, toEnv, filePaths, deployUI, deployGraphQLServer, commonSecrets);
583
628
  await importAuth0Templates('./auth0-site-setup/template', auth0Domain, auth0ClientId, auth0ClientSecret);
584
629
 
585
630
  if (deployUI === 'true') {
586
- await configureUI(SITE_HOST, CORE_URL, DOCUPACE_HOST, toSite, env, useNewDomain, auth0Domain, auth0ClientId, auth0ClientSecret, auth0Token, uiSecretsPath, uiImageTag, repoPath);
631
+ await configureUI(SITE_HOST, CORE_URL, DOCUPACE_HOST, toSite, toEnv, useNewDomain, auth0Domain, auth0ClientId, auth0ClientSecret, auth0Token, uiSecretsPath, uiImageTag, repoPathToEnv);
587
632
  }
588
633
 
589
- await configureGraphQLServer(SITE_HOST, CORE_URL, DOCUPACE_HOST, toSite, env, auth0Domain, auth0ClientId, auth0ClientSecret, auth0Token, graphqlSecretsPath, graphqlImageTag, graphqlStandardConfigRemoteBranch, repoPath, commonSecrets);
590
- await pushDeployConfig(repoPath, `Config update for ${toSite} from ${fromSite} with UI: ${uiImageTag} and GraphQL: ${graphqlImageTag}`);
634
+ await configureGraphQLServer(SITE_HOST, CORE_URL, DOCUPACE_HOST, toSite, toEnv, auth0Domain, auth0ClientId, auth0ClientSecret, auth0Token, graphqlSecretsPath, graphqlImageTag, graphqlStandardConfigRemoteBranch, repoPathToEnv, commonSecrets);
635
+ await pushDeployConfig(repoPathToEnv, `Config update for ${toSite} from ${fromSite} with UI: ${uiImageTag} and GraphQL: ${graphqlImageTag}`);
591
636
 
592
637
  await initializeAuth0Configuration({
593
638
  initConfiguration: "true",
@@ -602,4 +647,4 @@ export async function configureFromSite(fromSite, toSite, env, deployUI, deployG
602
647
  auth0AuthToken: auth0Token,
603
648
  coreApiIdentifier: commonSecrets.CORE_API_IDENTIFIER
604
649
  })
605
- }
650
+ }
@@ -23,14 +23,18 @@ export async function addApacheSite() {
23
23
  await fs.writeFile('private.key', Buffer.from(haproxyPrivateKey, 'base64'));
24
24
  await fs.chmod('private.key', 0o600);
25
25
 
26
- const server = `${process.env.ENVIRONMENT}-apalb01a.corp.docupace.com`;
26
+
27
27
  console.log("Running command");
28
- const sshCmd = (script) =>
28
+ const sshCmd = (server,script) =>
29
29
  $`ssh -i private.key -o StrictHostKeyChecking=no root@${server} ${script}`;
30
30
 
31
+ let server = `${process.env.ENVIRONMENT}-apalb01a.corp.docupace.com`;
31
32
  // The script is run twice in the Bash version
32
- await sshCmd(`/root/repo/iis-preprod/scripts/addsite/add_core_site.sh ${process.env.ENVIRONMENT} ${process.env.SITE}`);
33
- //await sshCmd(`/root/repo/iis-preprod/scripts/addsite/add_core_site.sh ${process.env.ENVIRONMENT} ${process.env.SITE}`);
33
+ await sshCmd(server, `/root/repo/iis-preprod/scripts/addsite/add_core_site.sh ${process.env.ENVIRONMENT} ${process.env.SITE}`);
34
+
35
+ server = `${process.env.ENVIRONMENT}-apalb01b.corp.docupace.com`;
36
+
37
+ await sshCmd(server,`/root/repo/iis-preprod/scripts/addsite/add_core_site.sh ${process.env.ENVIRONMENT} ${process.env.SITE}`);
34
38
  }
35
39
 
36
40
 
package/src/next/cli.js CHANGED
@@ -17,7 +17,6 @@ dotenv.config({ path: ['.env.pipeline.local', 'config/.env.pipeline.local'] });
17
17
 
18
18
  const program = new Command();
19
19
 
20
- // GIT SHA computation
21
20
  import { $ } from 'zx';
22
21
  import {deployConnect, deployCore} from './jenkins.js';
23
22
  import { runPipeline } from './pipline.js';
@@ -52,7 +51,6 @@ program
52
51
  await connectClone();
53
52
  });
54
53
 
55
-
56
54
  program
57
55
  .command('haproxySync')
58
56
  .description('Sync haproxy config')
@@ -60,15 +58,14 @@ program
60
58
  await haproxySync();
61
59
  });
62
60
 
63
-
64
-
65
61
  program
66
62
  .command('vaultAddSiteData')
67
63
  .description('Add m2m auth0 data to vault')
68
64
  .requiredOption('-s, --site-name <siteName>', 'Site name')
65
+ .requiredOption('-p, --site-config-remote-path <siteConfigRemotePath>', 'Site Config Remote Path')
69
66
  .action(async (options) => {
70
- const { siteName, } = options;
71
- await vaultAddSiteData(siteName);
67
+ const { siteName, siteConfigRemotePath } = options;
68
+ await vaultAddSiteData(siteName, siteConfigRemotePath);
72
69
  });
73
70
 
74
71
  program
@@ -130,7 +127,6 @@ program
130
127
  });
131
128
  });
132
129
 
133
-
134
130
  program
135
131
  .command('copy')
136
132
  .description('Copy a Docker image between registries')
@@ -25,6 +25,14 @@ process.env.CONNECT_DIR = process.env.CONNECT_DIR || 'connect';
25
25
  const vaultToken = process.env.VAULT_TOKEN;
26
26
  const vaultAddr = process.env.VAULT_ADDR;
27
27
 
28
+ const connectUIEnvMap= {
29
+ 'dev': 'dev',
30
+ 'qa': 'preprod',
31
+ 'stg': 'stg',
32
+ 'uat': 'uat',
33
+ 'prd': 'prod-las'
34
+ };
35
+
28
36
  function log(msg) {
29
37
  console.log(`[*] ${msg}`);
30
38
  }
@@ -57,8 +65,8 @@ function log(msg) {
57
65
 
58
66
 
59
67
  export async function connectClone() {
60
-
61
-
68
+ const connectFromEnv = connectUIEnvMap[process.env.BUILD_ENVIRONMENT];
69
+ const connectToEnv = connectUIEnvMap[process.env.BUILD_ENVIRONMENT];
62
70
  if (!vaultToken || !vaultAddr) {
63
71
  console.error("Error: VAULT_TOKEN and VAULT_ADDR must be set.");
64
72
  throw new Error("VAULT_TOKEN and VAULT_ADDR must be set.");
@@ -87,7 +95,7 @@ export async function connectClone() {
87
95
 
88
96
  process.env.AUTH0_REGION_DOMAIN="us.auth0.com";
89
97
 
90
- log(`BUILD_ENVIRONMENT: ${process.env.BUILD_ENVIRONMENT}`);
98
+ log(`BUILD_ENVIRONMENT: ${connectToEnv}`);
91
99
  log(`BUILD_SITE: ${process.env.BUILD_SITE}`);
92
100
  log(`AUTH0_SUBDOMAIN: ${process.env.AUTH0_SUBDOMAIN}`);
93
101
  log(`AUTH0_REGION_DOMAIN: ${process.env.AUTH0_REGION_DOMAIN}`);
@@ -101,11 +109,12 @@ export async function connectClone() {
101
109
 
102
110
 
103
111
  await gitCheckout('connect-deploy', process.env.CONNECT_DIR);
104
- await gitCheckout(`${process.env.BUILD_ENVIRONMENT}-site-settings`, `${process.env.CONNECT_DIR}/${process.env.BUILD_ENVIRONMENT}-site-settings`);
112
+
113
+ await gitCheckout(`${connectToEnv}-site-settings`, `${process.env.CONNECT_DIR}/${connectToEnv}-site-settings`);
105
114
 
106
115
  // 5) Create site clone (emulating the dock.sh call)
107
- const cloneFrom = path.join(projectRoot,process.env.CONNECT_DIR,`envs`,`${process.env.FROM_BUILD_ENVIRONMENT}/${process.env.FROM_BUILD_SITE}`);
108
- const cloneTo = path.join(projectRoot,process.env.CONNECT_DIR,`envs`,`${process.env.BUILD_ENVIRONMENT}/${process.env.BUILD_SITE}`);
116
+ const cloneFrom = path.join(projectRoot,process.env.CONNECT_DIR,`envs`,`${connectFromEnv}/${process.env.FROM_BUILD_SITE}`);
117
+ const cloneTo = path.join(projectRoot,process.env.CONNECT_DIR,`envs`,`${connectToEnv}/${process.env.BUILD_SITE}`);
109
118
 
110
119
  const connectHome = path.join(projectRoot,process.env.CONNECT_DIR);
111
120
  if (!(await fs.pathExists(cloneFrom))) {
@@ -123,7 +132,7 @@ export async function connectClone() {
123
132
  await (async () => {
124
133
  try {
125
134
  // 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}`;
135
+ const result = await $`cd ${cloneFrom} && bash dock.sh clone ${connectToEnv} ${process.env.BUILD_SITE} ${process.env.IMAGE_VERSION}`;
127
136
  console.log('Command succeeded:');
128
137
  console.log('stdout:', result.stdout); // Standard output
129
138
  console.log('stderr:', result.stderr); // Standard error
@@ -179,7 +188,7 @@ export async function connectClone() {
179
188
 
180
189
  if (numChanges > 0) {
181
190
  const jiraTicket = process.env.JIRA_TICKET || 'NO_JIRA';
182
- const message = `${jiraTicket} usdoc-s-builui job download_auth0_metadata for ${process.env.BUILD_ENVIRONMENT}/${process.env.BUILD_SITE}`;
191
+ const message = `${jiraTicket} usdoc-s-builui job download_auth0_metadata for ${connectToEnv}/${process.env.BUILD_SITE}`;
183
192
  log('About to commit changes to git');
184
193
  await $`cd ${cloneTo} && git commit -m ${message}`;
185
194
  await $`cd ${cloneTo} && git push -u origin master`;
package/src/next/vault.js CHANGED
@@ -1,39 +1,43 @@
1
1
  import axios from 'axios';
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
3
+ export async function vaultAddSiteData(SITE, SITE_CONFIG_REMOTE_PATH) {
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
8
 
9
- if (!VAULT_ADDR || !VAULT_TOKEN) {
10
- throw new Error('Missing VAULT_ADDR or VAULT_TOKEN environment variable.');
11
- }
9
+ if (!VAULT_ADDR || !VAULT_TOKEN) {
10
+ throw new Error('Missing VAULT_ADDR or VAULT_TOKEN environment variable.');
11
+ }
12
12
 
13
- const vaultApiUrl = `${VAULT_ADDR}/v1/secret/data/${SITE}/common/config`;
13
+ const vaultApiUrl = `${VAULT_ADDR}/v1/secret/data/${SITE}/common/config`;
14
14
 
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
- );
15
+ try {
31
16
 
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;
17
+ if (process.env.VAULT_SKIP_VERIFY === 'true') {
18
+ process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
36
19
  }
37
- }
38
20
 
21
+ const response = await axios.post(
22
+ vaultApiUrl,
23
+ {
24
+ data: {
25
+ AUTH0_CLIENT_ID: AUTH0_CLIENT_ID,
26
+ AUTH0_CLIENT_SECRET: AUTH0_CLIENT_SECRET,
27
+ SITE_CONFIG_REMOTE_PATH: SITE_CONFIG_REMOTE_PATH,
28
+ },
29
+ },
30
+ {
31
+ headers: {
32
+ 'X-Vault-Token': VAULT_TOKEN,
33
+ 'Content-Type': 'application/json',
34
+ },
35
+ }
36
+ );
39
37
 
38
+ console.log('Data added to Vault successfully:', response.data);
39
+ } catch (error) {
40
+ console.error('Error adding data to Vault:', error.response?.data || error.message);
41
+ throw error;
42
+ }
43
+ }
@@ -14,4 +14,4 @@ cd "$BITBUCKET_CLONE_DIR/${PROJECT}"
14
14
  terraform version
15
15
  terraform init -backend=false
16
16
  terraform validate
17
- terraform fmt -check -recursive --diff
17
+ terraform fmt -check -recursive --diff || exit 0