@docupace/pipeline 1.0.39-newrelease.9 → 1.0.40
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/commit-message +40 -0
- package/next/execute.sh +2 -8
- package/package.json +3 -11
- package/pull-request-sum +42 -0
- package/pull-request-summary +34 -0
- package/pull-request-title +66 -0
- package/src/auth0/cli.js +3 -1
- package/src/auth0/configure.js +203 -9
- package/src/auth0/metadata.js +2 -1
- package/src/changeset/cli.js +232 -76
- package/src/changeset/validate.js +1 -38
- package/src/jenkins/setParams.groovy +2 -1
- package/src/next/apache.js +35 -38
- package/src/next/cli.js +5 -14
- package/src/next/config.js +8 -18
- package/src/next/deploy.js +3 -7
- package/src/next/haproxy.js +19 -9
- package/src/next/jira.js +7 -55
- package/src/next/publish.js +30 -53
- package/src/next/vault.js +5 -7
- package/terraform/apply.sh +1 -1
- package/terraform/init.sh +2 -1
- package/terraform/plan.sh +4 -2
- package/README.md +0 -136
- package/src/changeset/canny.js +0 -116
- package/src/changeset/changelog-module.cjs +0 -26
- package/src/changeset/changelog.js +0 -139
- package/src/changeset/config.js +0 -11
- package/src/changeset/create.js +0 -171
- package/src/changeset/openai.js +0 -437
- package/src/changeset/package-util.js +0 -86
- package/src/changeset/util.js +0 -43
- package/src/changeset/version.js +0 -102
- package/src/index.mjs +0 -2
- package/src/next/logger.js +0 -17
- package/src/next/util.js +0 -93
package/commit-message
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
TEMPERATURE=${TEMPERATURE:-1}
|
|
4
|
+
MAX_TOKENS=${MAX_TOKENS:-512}
|
|
5
|
+
MODEL=${MODEL:-"gemma3:27b"}
|
|
6
|
+
INTRO=${INTRO:-"Create a commit message, focusing on the files modified."}
|
|
7
|
+
OLLAMA_ENDPOINT=${OLLAMA_ENDPOINT:-"http://10.10.22.111:11434/v1/completions"}
|
|
8
|
+
|
|
9
|
+
# Get a list of staged files
|
|
10
|
+
changed_files=$(git diff --cached --name-only)
|
|
11
|
+
diff_messages=""
|
|
12
|
+
|
|
13
|
+
for file in $changed_files; do
|
|
14
|
+
diff_messages+="$(git diff --cached -- "$file")"
|
|
15
|
+
done
|
|
16
|
+
|
|
17
|
+
payload=$(jq -n \
|
|
18
|
+
--arg model "$MODEL" \
|
|
19
|
+
--arg prompt "$(
|
|
20
|
+
echo "$INTRO";
|
|
21
|
+
echo "$diff_messages"
|
|
22
|
+
)" \
|
|
23
|
+
--argjson temp "$TEMPERATURE" \
|
|
24
|
+
--argjson tokens "$MAX_TOKENS" \
|
|
25
|
+
'{
|
|
26
|
+
model: $model,
|
|
27
|
+
prompt: $prompt,
|
|
28
|
+
temperature: $temp,
|
|
29
|
+
max_tokens: $tokens
|
|
30
|
+
}'
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
response=$(curl -s -X POST "$OLLAMA_ENDPOINT" \
|
|
34
|
+
-H "Content-Type: application/json" \
|
|
35
|
+
-d "$payload")
|
|
36
|
+
|
|
37
|
+
echo "$payload" | jq . > /tmp/ollama-summary.json
|
|
38
|
+
echo "$response" | jq . >> /tmp/ollama-summary.json
|
|
39
|
+
|
|
40
|
+
echo "$response" | jq -r '.choices[0].text' | sed '/./,$!d'
|
package/next/execute.sh
CHANGED
|
@@ -53,14 +53,8 @@ copy() {
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
publish() {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
SLUG_SUFFIX="-${APP_NAME}"
|
|
59
|
-
fi
|
|
60
|
-
|
|
61
|
-
BUILD_IMAGE_NAME="${BITBUCKET_REPO_SLUG}${SLUG_SUFFIX}:build-${BITBUCKET_BUILD_NUMBER}"
|
|
62
|
-
IMAGE_NAME="${BITBUCKET_REPO_SLUG}${SLUG_SUFFIX}:sha-${GIT_SHA}"
|
|
63
|
-
|
|
56
|
+
BUILD_IMAGE_NAME="${BITBUCKET_REPO_SLUG}:build-${BITBUCKET_BUILD_NUMBER}"
|
|
57
|
+
IMAGE_NAME="${BITBUCKET_REPO_SLUG}:sha-${GIT_SHA}"
|
|
64
58
|
export DOCKER_HOST=""
|
|
65
59
|
|
|
66
60
|
echo "Publishing Docker image ${IMAGE_NAME}..."
|
package/package.json
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docupace/pipeline",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.40",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"exports": {
|
|
8
|
-
"./changelogCanny": "./src/changeset/changelog-module.cjs"
|
|
9
|
-
},
|
|
10
7
|
"bin": {
|
|
11
8
|
"dp-changeset-cli": "src/changeset/cli.js",
|
|
12
9
|
"dp-next-cli": "src/next/cli.js",
|
|
@@ -20,17 +17,14 @@
|
|
|
20
17
|
"dependencies": {
|
|
21
18
|
"@changesets/cli": "^2.27.10",
|
|
22
19
|
"@docupace/core-client": "^0.1.59",
|
|
20
|
+
"@docupace/pipeline": "^1.0.33-alpha-2",
|
|
23
21
|
"auth0-deploy-cli": "^8.8.0",
|
|
24
22
|
"axios": "^1.7.9",
|
|
25
23
|
"commander": "^12.1.0",
|
|
26
24
|
"dotenv": "^16.4.7",
|
|
27
|
-
"fs-extra": "^11.3.0",
|
|
28
|
-
"inquirer": "^12.6.1",
|
|
29
25
|
"js-yaml": "^4.1.0",
|
|
30
26
|
"lodash": "^4.17.21",
|
|
31
|
-
"node-fetch": "^3.3.2",
|
|
32
27
|
"openai": "^4.76.3",
|
|
33
|
-
"semver": "^7.7.2",
|
|
34
28
|
"zod": "^3.24.1",
|
|
35
29
|
"zx": "^8.3.0"
|
|
36
30
|
},
|
|
@@ -46,8 +40,6 @@
|
|
|
46
40
|
"scripts": {
|
|
47
41
|
"test-deploy-core": "dp-next-cli deploy-core-pipeline dev template",
|
|
48
42
|
"test-deploy-from-site": "dp-next-cli deploy-from-site --from-env dev --to-env dev --from-site financialdev --to-site template --deploy-core true",
|
|
49
|
-
"test-run-pipline": "dp-next-cli run-pipeline -r docupace-next-e2e -b master -p run-tests-qa"
|
|
50
|
-
"test-validate": "dp-changset-cli validate",
|
|
51
|
-
"test-create": "dp-changset-cli create-changeset"
|
|
43
|
+
"test-run-pipline": "dp-next-cli run-pipeline -r docupace-next-e2e -b master -p run-tests-qa"
|
|
52
44
|
}
|
|
53
45
|
}
|
package/pull-request-sum
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
TARGET_BRANCH="INFP-10599-create-new-build-agent-runner-in-uat"
|
|
4
|
+
|
|
5
|
+
TEMPERATURE=${TEMPERATURE:-1}
|
|
6
|
+
MAX_TOKENS=${MAX_TOKENS:-512}
|
|
7
|
+
MODEL=${MODEL:-"gemma3:27b"}
|
|
8
|
+
INTRO=${INTRO:-"Summarize the changes introduced in this commit message, focusing on the files modified."}
|
|
9
|
+
OLLAMA_ENDPOINT=${OLLAMA_ENDPOINT:-"http://10.10.22.111:11434/v1/completions"}
|
|
10
|
+
|
|
11
|
+
# Get a list of staged files
|
|
12
|
+
changed_files=$(git diff --cached --name-only)
|
|
13
|
+
diff_messages=""
|
|
14
|
+
|
|
15
|
+
for file in $changed_files; do
|
|
16
|
+
diff_messages+="$(git diff --cached -- "$file")"
|
|
17
|
+
done
|
|
18
|
+
|
|
19
|
+
payload=$(jq -n \
|
|
20
|
+
--arg model "$MODEL" \
|
|
21
|
+
--arg prompt "$(
|
|
22
|
+
echo "$INTRO";
|
|
23
|
+
echo "$diff_messages"
|
|
24
|
+
)" \
|
|
25
|
+
--argjson temp "$TEMPERATURE" \
|
|
26
|
+
--argjson tokens "$MAX_TOKENS" \
|
|
27
|
+
'{
|
|
28
|
+
model: $model,
|
|
29
|
+
prompt: $prompt,
|
|
30
|
+
temperature: $temp,
|
|
31
|
+
max_tokens: $tokens
|
|
32
|
+
}'
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
response=$(curl -s -X POST "$OLLAMA_ENDPOINT" \
|
|
36
|
+
-H "Content-Type: application/json" \
|
|
37
|
+
-d "$payload")
|
|
38
|
+
|
|
39
|
+
echo "$payload" | jq . > /tmp/ollama-summary.json
|
|
40
|
+
echo "$response" | jq . >> /tmp/ollama-summary.json
|
|
41
|
+
|
|
42
|
+
echo "$response" | jq -r '.choices[0].text' | sed '/./,$!d'
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
TARGET_BRANCH=master
|
|
4
|
+
|
|
5
|
+
TEMPERATURE=${TEMPERATURE:-1}
|
|
6
|
+
MAX_TOKENS=${MAX_TOKENS:-512}
|
|
7
|
+
MODEL=${MODEL:-"gemma3:27b"}
|
|
8
|
+
INTRO=${INTRO:-"Write a summary of the commits in this pull request"}
|
|
9
|
+
OLLAMA_ENDPOINT=${OLLAMA_ENDPOINT:-"http://10.10.22.111:11434/v1/completions"}
|
|
10
|
+
|
|
11
|
+
payload=$(jq -n \
|
|
12
|
+
--arg model "$MODEL" \
|
|
13
|
+
--arg prompt "$(
|
|
14
|
+
echo "$INTRO";
|
|
15
|
+
git log origin/$TARGET_BRANCH --format='%B';
|
|
16
|
+
)" \
|
|
17
|
+
--argjson temp "$TEMPERATURE" \
|
|
18
|
+
--argjson tokens "$MAX_TOKENS" \
|
|
19
|
+
'{
|
|
20
|
+
model: $model,
|
|
21
|
+
prompt: $prompt,
|
|
22
|
+
temperature: $temp,
|
|
23
|
+
max_tokens: $tokens
|
|
24
|
+
}'
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
response=$(curl -s -X POST "$OLLAMA_ENDPOINT" \
|
|
28
|
+
-H "Content-Type: application/json" \
|
|
29
|
+
-d "$payload")
|
|
30
|
+
|
|
31
|
+
echo "$payload" | jq . > /tmp/ollama-summary.json
|
|
32
|
+
echo "$response" | jq . >> /tmp/ollama-summary.json
|
|
33
|
+
|
|
34
|
+
echo "$response" | jq -r '.choices[0].text' | sed '/./,$!d'
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -e
|
|
3
|
+
|
|
4
|
+
TARGET_BRANCH=master
|
|
5
|
+
TEMPERATURE=${TEMPERATURE:-1}
|
|
6
|
+
MAX_TOKENS=${MAX_TOKENS:-512}
|
|
7
|
+
MODEL=${MODEL:-"gemma3:27b"}
|
|
8
|
+
INTRO=${INTRO:-"Below are some commit messages. Write a one sentence summary of them."}
|
|
9
|
+
|
|
10
|
+
LLM_ENDPOINT=${LLM_ENDPOINT:-"http://10.10.22.111:11434/v1/completions"} # Ollama or LocalAI
|
|
11
|
+
|
|
12
|
+
function num_commits {
|
|
13
|
+
git log origin/$TARGET_BRANCH --oneline | wc -l
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function single_commit_title {
|
|
17
|
+
git log origin/$TARGET_BRANCH --format='%s' | head -1
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function multi_commit_title {
|
|
21
|
+
prompt="$(
|
|
22
|
+
echo "$INTRO"
|
|
23
|
+
git log origin/$TARGET_BRANCH --format='%B'
|
|
24
|
+
)"
|
|
25
|
+
|
|
26
|
+
payload=$(jq -n \
|
|
27
|
+
--arg model "$MODEL" \
|
|
28
|
+
--arg prompt "$prompt" \
|
|
29
|
+
--argjson temp "$TEMPERATURE" \
|
|
30
|
+
--argjson tokens "$MAX_TOKENS" \
|
|
31
|
+
'{
|
|
32
|
+
model: $model,
|
|
33
|
+
prompt: $prompt,
|
|
34
|
+
temperature: $temp,
|
|
35
|
+
max_tokens: $tokens
|
|
36
|
+
}')
|
|
37
|
+
|
|
38
|
+
response=$(curl -s -X POST "$LLM_ENDPOINT" \
|
|
39
|
+
-H "Content-Type: application/json" \
|
|
40
|
+
-d "$payload")
|
|
41
|
+
|
|
42
|
+
echo "$payload" | jq . > /tmp/llama-title.json
|
|
43
|
+
echo "$response" | jq . >> /tmp/llama-title.json
|
|
44
|
+
|
|
45
|
+
error_message=$(echo "$response" | jq -r '.error.message // empty')
|
|
46
|
+
if [[ -n "$error_message" ]]; then
|
|
47
|
+
echo "LLM API error: $error_message"
|
|
48
|
+
exit 1
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
echo "$response" | jq -r '.choices[0].text' | sed '/./,$!d' | head -1
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function main {
|
|
55
|
+
if [ "$(num_commits)" -eq 0 ]; then
|
|
56
|
+
echo "Error: No commits found on branch origin/$TARGET_BRANCH."
|
|
57
|
+
exit 1
|
|
58
|
+
fi
|
|
59
|
+
if [ "$(num_commits)" -eq 1 ]; then
|
|
60
|
+
single_commit_title
|
|
61
|
+
else
|
|
62
|
+
multi_commit_title
|
|
63
|
+
fi
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
main
|
package/src/auth0/cli.js
CHANGED
|
@@ -15,7 +15,7 @@ const program = new Command();
|
|
|
15
15
|
|
|
16
16
|
program
|
|
17
17
|
.command(
|
|
18
|
-
'configureFromSite <fromSite> <toSite> <fromEnv> <toEnv> <deployUI> <deployGraphQLServer> <useNewDomain> <useS3>',
|
|
18
|
+
'configureFromSite <fromSite> <toSite> <fromEnv> <toEnv> <deployUI> <deployGraphQLServer> <useNewDomain> <useS3> <deployCCUI>',
|
|
19
19
|
)
|
|
20
20
|
.description('Configure the Auth0 tenants in env for the given site')
|
|
21
21
|
.action(
|
|
@@ -28,6 +28,7 @@ program
|
|
|
28
28
|
deployGraphQLServer,
|
|
29
29
|
useNewDomain,
|
|
30
30
|
useS3,
|
|
31
|
+
deployCCUI,
|
|
31
32
|
) => {
|
|
32
33
|
await configureFromSite(
|
|
33
34
|
fromSite,
|
|
@@ -38,6 +39,7 @@ program
|
|
|
38
39
|
deployGraphQLServer,
|
|
39
40
|
useNewDomain,
|
|
40
41
|
useS3 === 'true' || useS3 === true,
|
|
42
|
+
deployCCUI,
|
|
41
43
|
);
|
|
42
44
|
},
|
|
43
45
|
);
|
package/src/auth0/configure.js
CHANGED
|
@@ -5,16 +5,16 @@ import crypto from 'crypto';
|
|
|
5
5
|
|
|
6
6
|
import {
|
|
7
7
|
cloneEnvRepository,
|
|
8
|
-
cloneRepository,
|
|
9
|
-
pushDeployConfig,
|
|
10
8
|
readDeployConfig,
|
|
9
|
+
pushDeployConfig,
|
|
10
|
+
cloneRepository,
|
|
11
11
|
} from '../next/deploy.js';
|
|
12
12
|
|
|
13
13
|
import { getVaultSecrets, updateVaultSecrets } from './vault.js';
|
|
14
14
|
import {
|
|
15
|
-
coreSiteEnvMap,
|
|
16
|
-
environmentConfig,
|
|
17
15
|
getVaultSecretsConfigs,
|
|
16
|
+
environmentConfig,
|
|
17
|
+
coreSiteEnvMap,
|
|
18
18
|
} from '../next/config.js';
|
|
19
19
|
|
|
20
20
|
async function ensureDirectoryExists(dirPath) {
|
|
@@ -57,6 +57,7 @@ export async function getAuth0AuthToken(auth0Domain, clientId, clientSecret) {
|
|
|
57
57
|
async function configureUI(
|
|
58
58
|
siteHost,
|
|
59
59
|
coreURL,
|
|
60
|
+
connectURL,
|
|
60
61
|
docupaceHost,
|
|
61
62
|
site,
|
|
62
63
|
env,
|
|
@@ -74,6 +75,7 @@ async function configureUI(
|
|
|
74
75
|
);
|
|
75
76
|
siteHost = siteHost.replace('https://', '');
|
|
76
77
|
coreURL = coreURL.replace('https://', '');
|
|
78
|
+
connectURL = connectURL.replace('https://', '');
|
|
77
79
|
|
|
78
80
|
try {
|
|
79
81
|
const auth0Response = await axios.get(
|
|
@@ -129,7 +131,7 @@ uiMain:
|
|
|
129
131
|
auth0ClientId: vault:secret/data/${site}/ui/config#AUTH0_CLIENT_ID
|
|
130
132
|
graphqlClientUrl: https://${siteHost}/api/graphql
|
|
131
133
|
graphqlServerUrl: https://${siteHost}/api/graphql
|
|
132
|
-
connectUrl: https://${
|
|
134
|
+
connectUrl: https://${connectURL}
|
|
133
135
|
coreUrl: https://${coreURL}
|
|
134
136
|
env:
|
|
135
137
|
AUTH0_CLIENT_SECRET: vault:secret/data/${site}/ui/config#AUTH0_CLIENT_SECRET
|
|
@@ -244,6 +246,167 @@ externalConnectService:
|
|
|
244
246
|
}
|
|
245
247
|
}
|
|
246
248
|
|
|
249
|
+
async function configureCCUI(
|
|
250
|
+
siteHost,
|
|
251
|
+
coreURL,
|
|
252
|
+
connectURL,
|
|
253
|
+
docupaceHost,
|
|
254
|
+
site,
|
|
255
|
+
env,
|
|
256
|
+
auth0Domain,
|
|
257
|
+
auth0ClientId,
|
|
258
|
+
auth0ClientSecret,
|
|
259
|
+
auth0Token,
|
|
260
|
+
vaultSiteSecretsPath,
|
|
261
|
+
imageTag,
|
|
262
|
+
repoPath,
|
|
263
|
+
useS3,
|
|
264
|
+
ccUrl,
|
|
265
|
+
) {
|
|
266
|
+
console.log(
|
|
267
|
+
`Configuring CC UI for site: ${site} Host: ${siteHost} in env: ${env}`,
|
|
268
|
+
);
|
|
269
|
+
siteHost = siteHost.replace('https://', '');
|
|
270
|
+
coreURL = coreURL.replace('https://', '');
|
|
271
|
+
connectURL = connectURL.replace('https://', '');
|
|
272
|
+
ccUrl = ccUrl.replace('https://', '');
|
|
273
|
+
|
|
274
|
+
try {
|
|
275
|
+
const auth0Response = await axios.get(
|
|
276
|
+
`https://${auth0Domain}/api/v2/clients`,
|
|
277
|
+
{
|
|
278
|
+
headers: { authorization: `Bearer ${auth0Token}` },
|
|
279
|
+
},
|
|
280
|
+
);
|
|
281
|
+
|
|
282
|
+
const uiClient = auth0Response.data.find(
|
|
283
|
+
(client) => client.name === 'docupace-ui-cc',
|
|
284
|
+
);
|
|
285
|
+
const uiAuth0ClientId = uiClient.client_id;
|
|
286
|
+
const uiAuth0ClientSecret = uiClient.client_secret;
|
|
287
|
+
|
|
288
|
+
// Generate Auth0 Secret
|
|
289
|
+
const uiAuth0Secret = crypto
|
|
290
|
+
.randomBytes(48)
|
|
291
|
+
.toString('base64')
|
|
292
|
+
.replace(/[^a-zA-Z0-9]/g, '');
|
|
293
|
+
|
|
294
|
+
// Prepare data payload
|
|
295
|
+
console.log('Preparing Vault CC UI data payload...');
|
|
296
|
+
const ccUISecretData = JSON.stringify({
|
|
297
|
+
data: {
|
|
298
|
+
AUTH0_CLIENT_ID: uiAuth0ClientId,
|
|
299
|
+
AUTH0_CLIENT_SECRET: uiAuth0ClientSecret,
|
|
300
|
+
AUTH0_SECRET: uiAuth0Secret,
|
|
301
|
+
},
|
|
302
|
+
});
|
|
303
|
+
console.log('Updating Vault Site Secret =>', vaultSiteSecretsPath);
|
|
304
|
+
await updateVaultSecrets(vaultSiteSecretsPath, ccUISecretData);
|
|
305
|
+
|
|
306
|
+
let siteAWSSecrets = null;
|
|
307
|
+
|
|
308
|
+
if (useS3 === true || useS3 === 'true') {
|
|
309
|
+
const siteAWSSecretsPath = getVaultSecretsConfigs(site).awsSecretsPath;
|
|
310
|
+
siteAWSSecrets = await getVaultSecrets(siteAWSSecretsPath);
|
|
311
|
+
console.log(`siteAWSSecretsPath => ${siteAWSSecretsPath}`);
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
// Prepare cc.app.yaml
|
|
315
|
+
const uiССAppYaml = `
|
|
316
|
+
repo: docupace-ui-main
|
|
317
|
+
revision: master
|
|
318
|
+
`.trim();
|
|
319
|
+
// Prepare cc.values.yaml
|
|
320
|
+
const uiССValuesYaml = `
|
|
321
|
+
uiMain:
|
|
322
|
+
auth0BaseUrl: https://${ccUrl}
|
|
323
|
+
auth0IssuerBaseUrl: https://${auth0Domain}
|
|
324
|
+
auth0ClientId: vault:secret/data/${site}/ui-cc/config#AUTH0_CLIENT_ID
|
|
325
|
+
graphqlClientUrl: https://${siteHost}/api/graphql
|
|
326
|
+
graphqlServerUrl: https://${siteHost}/api/graphql
|
|
327
|
+
connectUrl: https://${connectURL}
|
|
328
|
+
coreUrl: https://${coreURL}
|
|
329
|
+
env:
|
|
330
|
+
AUTH0_AUDIENCE: core-api-access
|
|
331
|
+
AUTH0_CLIENT_SECRET: vault:secret/data/${site}/ui-cc/config#AUTH0_CLIENT_SECRET
|
|
332
|
+
AUTH0_SECRET: vault:secret/data/${site}/ui-cc/config#AUTH0_SECRET
|
|
333
|
+
${
|
|
334
|
+
useS3 === true || useS3 === 'true'
|
|
335
|
+
? `
|
|
336
|
+
AWS_ACCESS_KEY_ID: vault:secret/data/${site}/aws/config#AWS_ACCESS_KEY_ID
|
|
337
|
+
AWS_BUCKET_NAME: vault:secret/data/${site}/aws/config#AWS_BUCKET_NAME
|
|
338
|
+
AWS_SECRET_ACCESS_KEY: vault:secret/data/${site}/aws/config#AWS_SECRET_ACCESS_KEY
|
|
339
|
+
image:
|
|
340
|
+
repository: registry.paperout.com/docupace-ui-main-dev-docker-local/cc-ui-app
|
|
341
|
+
tag: ${imageTag}
|
|
342
|
+
imagePullSecrets:
|
|
343
|
+
- name: jf-artifactory
|
|
344
|
+
ingress:
|
|
345
|
+
enabled: true
|
|
346
|
+
className: nginx
|
|
347
|
+
annotations:
|
|
348
|
+
external-dns.alpha.kubernetes.io/hostname: ${ccUrl}
|
|
349
|
+
external-dns.alpha.kubernetes.io/zone: public
|
|
350
|
+
cert-manager.io/cluster-issuer: letsencrypt
|
|
351
|
+
nginx.ingress.kubernetes.io/proxy-buffer-size: 128k
|
|
352
|
+
hosts:
|
|
353
|
+
- host: ${ccUrl}
|
|
354
|
+
paths:
|
|
355
|
+
- path: /
|
|
356
|
+
pathType: Prefix
|
|
357
|
+
tls:
|
|
358
|
+
- hosts:
|
|
359
|
+
- ${ccUrl}
|
|
360
|
+
secretName: dp-cc-ui-cert
|
|
361
|
+
`.trim()
|
|
362
|
+
: ''
|
|
363
|
+
}
|
|
364
|
+
${
|
|
365
|
+
useS3 === true || useS3 === 'true'
|
|
366
|
+
? `
|
|
367
|
+
serviceAccount:
|
|
368
|
+
create: true
|
|
369
|
+
annotations:
|
|
370
|
+
eks.amazonaws.com/role-arn: arn:aws:iam::${siteAWSSecrets.AWS_ACCOUNT_ID}:role/eks-pod-identity-connect-next-${env}-${site}-bucket
|
|
371
|
+
`.trim()
|
|
372
|
+
: ''
|
|
373
|
+
}
|
|
374
|
+
`.trim();
|
|
375
|
+
|
|
376
|
+
console.log('Writing configuration files...');
|
|
377
|
+
await ensureDirectoryExists(path.resolve(`${repoPath}/dp/${site}`));
|
|
378
|
+
|
|
379
|
+
await fs.writeFile(
|
|
380
|
+
`${repoPath}/dp/${site}/cc.app.yaml`,
|
|
381
|
+
uiССAppYaml,
|
|
382
|
+
(err) => {
|
|
383
|
+
if (err) {
|
|
384
|
+
console.error('Failed to write the file:', err);
|
|
385
|
+
} else {
|
|
386
|
+
console.log('File written successfully.');
|
|
387
|
+
}
|
|
388
|
+
},
|
|
389
|
+
);
|
|
390
|
+
|
|
391
|
+
await fs.writeFile(
|
|
392
|
+
`${repoPath}/dp/${site}/cc.values.yaml`,
|
|
393
|
+
uiССValuesYaml,
|
|
394
|
+
(err) => {
|
|
395
|
+
if (err) {
|
|
396
|
+
console.error('Failed to write the file:', err);
|
|
397
|
+
} else {
|
|
398
|
+
console.log('File written successfully.');
|
|
399
|
+
}
|
|
400
|
+
},
|
|
401
|
+
);
|
|
402
|
+
console.log('Done!');
|
|
403
|
+
console.log('Updating Core Site Config...');
|
|
404
|
+
await updateCoreSiteConfig(site, env, useS3);
|
|
405
|
+
} catch (error) {
|
|
406
|
+
console.error('Error configuring UI:', error);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
|
|
247
410
|
export async function cleanAndWritePropertiesFile(configPath, content) {
|
|
248
411
|
try {
|
|
249
412
|
const cleanedContent = content
|
|
@@ -456,6 +619,7 @@ export async function configureFromSite(
|
|
|
456
619
|
deployGraphQLServer,
|
|
457
620
|
useNewDomain,
|
|
458
621
|
useS3,
|
|
622
|
+
deployCCUI,
|
|
459
623
|
) {
|
|
460
624
|
console.log(
|
|
461
625
|
`Configuring Auth0 tenants and ArgoCD apps for site: ${toSite} in env: ${toEnv} from site: ${fromSite}`,
|
|
@@ -480,10 +644,14 @@ export async function configureFromSite(
|
|
|
480
644
|
auth0ClientSecret,
|
|
481
645
|
);
|
|
482
646
|
|
|
483
|
-
// UI app
|
|
647
|
+
// UI MAIN app
|
|
484
648
|
const uiSecretsPath = getVaultSecretsConfigs(toSite).uiSecretsPath;
|
|
485
649
|
console.log(`uiSecretsPath => ${uiSecretsPath}`);
|
|
486
650
|
|
|
651
|
+
// UI CC app
|
|
652
|
+
const ccUISecretsPath = getVaultSecretsConfigs(toSite).ccUISecretsPath;
|
|
653
|
+
console.log(`ccUISecretsPath => ${ccUISecretsPath}`);
|
|
654
|
+
|
|
487
655
|
// GraphQL-Server app
|
|
488
656
|
const graphqlSecretsPath =
|
|
489
657
|
getVaultSecretsConfigs(toSite).graphqlServerSecretsPath;
|
|
@@ -533,17 +701,22 @@ export async function configureFromSite(
|
|
|
533
701
|
const envConfig = environmentConfig[toEnv];
|
|
534
702
|
|
|
535
703
|
let CORE_URL, SITE_HOST, CORE_API_CONTEXT, CONNECT_URL, DOCUPACE_HOST;
|
|
536
|
-
|
|
704
|
+
const newUrl = envConfig.newUrl(toSite);
|
|
705
|
+
const ccUrl = envConfig.ccUrl(toSite);
|
|
706
|
+
|
|
707
|
+
SITE_HOST = `${newUrl}`;
|
|
708
|
+
|
|
709
|
+
if (useNewDomain === true || useNewDomain === 'true') {
|
|
537
710
|
const newUrl = envConfig.newUrl(toSite);
|
|
538
711
|
CORE_URL = `${newUrl}/core`;
|
|
539
|
-
SITE_HOST = newUrl;
|
|
712
|
+
// SITE_HOST = newUrl;
|
|
540
713
|
CORE_API_CONTEXT = 'core';
|
|
541
714
|
CONNECT_URL = `${newUrl}/connect`;
|
|
542
715
|
DOCUPACE_HOST = envConfig.docupaceHost();
|
|
543
716
|
} else {
|
|
544
717
|
const oldUrl = envConfig.oldUrl(toSite);
|
|
545
718
|
CORE_URL = oldUrl;
|
|
546
|
-
SITE_HOST = oldUrl;
|
|
719
|
+
// SITE_HOST = oldUrl;
|
|
547
720
|
CORE_API_CONTEXT = toSite;
|
|
548
721
|
CONNECT_URL = `${oldUrl}_ui`;
|
|
549
722
|
}
|
|
@@ -552,6 +725,7 @@ export async function configureFromSite(
|
|
|
552
725
|
await configureUI(
|
|
553
726
|
SITE_HOST,
|
|
554
727
|
CORE_URL,
|
|
728
|
+
CONNECT_URL,
|
|
555
729
|
DOCUPACE_HOST,
|
|
556
730
|
toSite,
|
|
557
731
|
toEnv,
|
|
@@ -566,6 +740,26 @@ export async function configureFromSite(
|
|
|
566
740
|
);
|
|
567
741
|
}
|
|
568
742
|
|
|
743
|
+
if (deployCCUI === true || deployCCUI === 'true') {
|
|
744
|
+
await configureCCUI(
|
|
745
|
+
SITE_HOST,
|
|
746
|
+
CORE_URL,
|
|
747
|
+
CONNECT_URL,
|
|
748
|
+
DOCUPACE_HOST,
|
|
749
|
+
toSite,
|
|
750
|
+
toEnv,
|
|
751
|
+
auth0Domain,
|
|
752
|
+
auth0ClientId,
|
|
753
|
+
auth0ClientSecret,
|
|
754
|
+
auth0Token,
|
|
755
|
+
ccUISecretsPath,
|
|
756
|
+
uiImageTag,
|
|
757
|
+
repoPathToEnv,
|
|
758
|
+
useS3,
|
|
759
|
+
ccUrl,
|
|
760
|
+
);
|
|
761
|
+
}
|
|
762
|
+
|
|
569
763
|
await configureGraphQLServer(
|
|
570
764
|
SITE_HOST,
|
|
571
765
|
CORE_URL,
|
package/src/auth0/metadata.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import fs from 'fs-extra';
|
|
2
2
|
import axios from 'axios';
|
|
3
3
|
import path from 'path';
|
|
4
|
-
import { cloneRepository
|
|
4
|
+
import { cloneRepository } from '../next/deploy.js';
|
|
5
5
|
import { getAuth0AuthToken } from './configure.js';
|
|
6
6
|
import { getVaultSecrets } from './vault.js';
|
|
7
7
|
import { getVaultSecretsConfigs } from '../next/config.js';
|
|
8
|
+
import { pushDeployConfig } from '../next/deploy.js';
|
|
8
9
|
|
|
9
10
|
export async function getAuth0Metadata(site, env) {
|
|
10
11
|
try {
|