@intentic/providers 1.125.1 → 1.126.0
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/dist/auth/authentik-api.d.ts.map +1 -1
- package/dist/auth/authentik-api.js +1 -0
- package/dist/auth/authentik-api.js.map +1 -1
- package/dist/auth/authentik.d.ts.map +1 -1
- package/dist/auth/authentik.js +22 -11
- package/dist/auth/authentik.js.map +1 -1
- package/dist/backings/garage-bucket.d.ts.map +1 -0
- package/dist/backings/garage-bucket.js.map +1 -0
- package/dist/backings/garage.d.ts.map +1 -0
- package/dist/{data → backings}/garage.js +21 -10
- package/dist/backings/garage.js.map +1 -0
- package/dist/backings/postgres-database.d.ts.map +1 -0
- package/dist/{data → backings}/postgres-database.js +4 -1
- package/dist/backings/postgres-database.js.map +1 -0
- package/dist/backings/postgres.d.ts.map +1 -0
- package/dist/{data → backings}/postgres.js +21 -10
- package/dist/backings/postgres.js.map +1 -0
- package/dist/backings/valkey-namespace.d.ts.map +1 -0
- package/dist/{data → backings}/valkey-namespace.js +4 -1
- package/dist/backings/valkey-namespace.js.map +1 -0
- package/dist/backings/valkey.d.ts.map +1 -0
- package/dist/{data → backings}/valkey.js +21 -10
- package/dist/backings/valkey.js.map +1 -0
- package/dist/backup/backup.d.ts.map +1 -1
- package/dist/backup/backup.js +6 -5
- package/dist/backup/backup.js.map +1 -1
- package/dist/core/backing-ssh.d.ts +1 -0
- package/dist/core/backing-ssh.d.ts.map +1 -1
- package/dist/core/backing-ssh.js +10 -1
- package/dist/core/backing-ssh.js.map +1 -1
- package/dist/core/inputs.d.ts +1 -0
- package/dist/core/inputs.d.ts.map +1 -1
- package/dist/core/inputs.js +1 -0
- package/dist/core/inputs.js.map +1 -1
- package/dist/core/list-stamped.d.ts +4 -0
- package/dist/core/list-stamped.d.ts.map +1 -0
- package/dist/core/list-stamped.js +54 -0
- package/dist/core/list-stamped.js.map +1 -0
- package/dist/core/over-ssh.d.ts +5 -0
- package/dist/core/over-ssh.d.ts.map +1 -0
- package/dist/core/over-ssh.js +20 -0
- package/dist/core/over-ssh.js.map +1 -0
- package/dist/core/response-detail.d.ts +2 -0
- package/dist/core/response-detail.d.ts.map +1 -0
- package/dist/core/response-detail.js +20 -0
- package/dist/core/response-detail.js.map +1 -0
- package/dist/core/ssh-diagnostics.d.ts +6 -0
- package/dist/core/ssh-diagnostics.d.ts.map +1 -0
- package/dist/core/ssh-diagnostics.js +46 -0
- package/dist/core/ssh-diagnostics.js.map +1 -0
- package/dist/core/ssh.d.ts +9 -0
- package/dist/core/ssh.d.ts.map +1 -1
- package/dist/core/ssh.js +102 -8
- package/dist/core/ssh.js.map +1 -1
- package/dist/forgejo/ci.d.ts +2 -1
- package/dist/forgejo/ci.d.ts.map +1 -1
- package/dist/forgejo/ci.js +57 -52
- package/dist/forgejo/ci.js.map +1 -1
- package/dist/forgejo/forgejo-api.d.ts.map +1 -1
- package/dist/forgejo/forgejo-api.js +3 -1
- package/dist/forgejo/forgejo-api.js.map +1 -1
- package/dist/forgejo/forgejo-notify.d.ts +2 -1
- package/dist/forgejo/forgejo-notify.d.ts.map +1 -1
- package/dist/forgejo/forgejo-notify.js +64 -59
- package/dist/forgejo/forgejo-notify.js.map +1 -1
- package/dist/forgejo/forgejo-org.d.ts +2 -1
- package/dist/forgejo/forgejo-org.d.ts.map +1 -1
- package/dist/forgejo/forgejo-org.js +18 -18
- package/dist/forgejo/forgejo-org.js.map +1 -1
- package/dist/forgejo/forgejo-runner.d.ts.map +1 -1
- package/dist/forgejo/forgejo-runner.js +15 -5
- package/dist/forgejo/forgejo-runner.js.map +1 -1
- package/dist/forgejo/forgejo-team.d.ts +2 -1
- package/dist/forgejo/forgejo-team.d.ts.map +1 -1
- package/dist/forgejo/forgejo-team.js +35 -33
- package/dist/forgejo/forgejo-team.js.map +1 -1
- package/dist/forgejo/forgejo-user.d.ts +2 -1
- package/dist/forgejo/forgejo-user.d.ts.map +1 -1
- package/dist/forgejo/forgejo-user.js +22 -22
- package/dist/forgejo/forgejo-user.js.map +1 -1
- package/dist/forgejo/forgejo.d.ts +1 -0
- package/dist/forgejo/forgejo.d.ts.map +1 -1
- package/dist/forgejo/forgejo.js +20 -9
- package/dist/forgejo/forgejo.js.map +1 -1
- package/dist/forgejo/repo.d.ts +2 -1
- package/dist/forgejo/repo.d.ts.map +1 -1
- package/dist/forgejo/repo.js +38 -38
- package/dist/forgejo/repo.js.map +1 -1
- package/dist/github/gh-ci.d.ts.map +1 -1
- package/dist/github/gh-ci.js +19 -35
- package/dist/github/gh-ci.js.map +1 -1
- package/dist/github/github-api.d.ts.map +1 -1
- package/dist/github/github-api.js +12 -4
- package/dist/github/github-api.js.map +1 -1
- package/dist/gitlab/gitlab-api.d.ts.map +1 -1
- package/dist/gitlab/gitlab-api.js +14 -5
- package/dist/gitlab/gitlab-api.js.map +1 -1
- package/dist/gitlab/gl-ci.d.ts.map +1 -1
- package/dist/gitlab/gl-ci.js +22 -34
- package/dist/gitlab/gl-ci.js.map +1 -1
- package/dist/host/host.d.ts.map +1 -1
- package/dist/host/host.js +4 -2
- package/dist/host/host.js.map +1 -1
- package/dist/host/workspace.d.ts.map +1 -1
- package/dist/host/workspace.js +15 -9
- package/dist/host/workspace.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/integrations/discord-api.d.ts.map +1 -1
- package/dist/integrations/discord-api.js +4 -3
- package/dist/integrations/discord-api.js.map +1 -1
- package/dist/integrations/stripe-api.d.ts.map +1 -1
- package/dist/integrations/stripe-api.js +1 -1
- package/dist/integrations/stripe-api.js.map +1 -1
- package/dist/komodo/deployment.d.ts +2 -1
- package/dist/komodo/deployment.d.ts.map +1 -1
- package/dist/komodo/deployment.js +36 -30
- package/dist/komodo/deployment.js.map +1 -1
- package/dist/komodo/komodo-api.d.ts.map +1 -1
- package/dist/komodo/komodo-api.js +5 -2
- package/dist/komodo/komodo-api.js.map +1 -1
- package/dist/komodo/komodo-notify.d.ts +2 -1
- package/dist/komodo/komodo-notify.d.ts.map +1 -1
- package/dist/komodo/komodo-notify.js +35 -30
- package/dist/komodo/komodo-notify.js.map +1 -1
- package/dist/komodo/komodo-periphery.d.ts.map +1 -1
- package/dist/komodo/komodo-periphery.js +5 -1
- package/dist/komodo/komodo-periphery.js.map +1 -1
- package/dist/komodo/komodo-server.d.ts +2 -1
- package/dist/komodo/komodo-server.d.ts.map +1 -1
- package/dist/komodo/komodo-server.js +30 -26
- package/dist/komodo/komodo-server.js.map +1 -1
- package/dist/komodo/komodo-user.d.ts +2 -1
- package/dist/komodo/komodo-user.d.ts.map +1 -1
- package/dist/komodo/komodo-user.js +36 -34
- package/dist/komodo/komodo-user.js.map +1 -1
- package/dist/komodo/komodo.d.ts +1 -0
- package/dist/komodo/komodo.d.ts.map +1 -1
- package/dist/komodo/komodo.js +38 -34
- package/dist/komodo/komodo.js.map +1 -1
- package/dist/network/cf-route.d.ts.map +1 -1
- package/dist/network/cf-route.js +30 -4
- package/dist/network/cf-route.js.map +1 -1
- package/dist/network/cloudflare-api.d.ts +13 -0
- package/dist/network/cloudflare-api.d.ts.map +1 -1
- package/dist/network/cloudflare-api.js +25 -7
- package/dist/network/cloudflare-api.js.map +1 -1
- package/dist/network/tunnel.d.ts.map +1 -1
- package/dist/network/tunnel.js +34 -9
- package/dist/network/tunnel.js.map +1 -1
- package/dist/observability/signoz.d.ts.map +1 -1
- package/dist/observability/signoz.js +22 -15
- package/dist/observability/signoz.js.map +1 -1
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +16 -20
- package/dist/providers.js.map +1 -1
- package/dist/services/compose-service.d.ts +1 -1
- package/dist/services/compose-service.d.ts.map +1 -1
- package/dist/services/compose-service.js +22 -15
- package/dist/services/compose-service.js.map +1 -1
- package/dist/services/infisical.js +3 -3
- package/dist/services/infisical.js.map +1 -1
- package/dist/services/invoiceninja.js +3 -3
- package/dist/services/invoiceninja.js.map +1 -1
- package/dist/services/openproject.d.ts.map +1 -1
- package/dist/services/openproject.js +4 -7
- package/dist/services/openproject.js.map +1 -1
- package/dist/services/outline.d.ts.map +1 -1
- package/dist/services/outline.js +13 -13
- package/dist/services/outline.js.map +1 -1
- package/dist/services/paperless.js +3 -3
- package/dist/services/paperless.js.map +1 -1
- package/package.json +7 -7
- package/dist/data/garage-bucket.d.ts.map +0 -1
- package/dist/data/garage-bucket.js.map +0 -1
- package/dist/data/garage.d.ts.map +0 -1
- package/dist/data/garage.js.map +0 -1
- package/dist/data/postgres-database.d.ts.map +0 -1
- package/dist/data/postgres-database.js.map +0 -1
- package/dist/data/postgres.d.ts.map +0 -1
- package/dist/data/postgres.js.map +0 -1
- package/dist/data/valkey-namespace.d.ts.map +0 -1
- package/dist/data/valkey-namespace.js.map +0 -1
- package/dist/data/valkey.d.ts.map +0 -1
- package/dist/data/valkey.js.map +0 -1
- package/dist/github/gh-deployment.d.ts +0 -4
- package/dist/github/gh-deployment.d.ts.map +0 -1
- package/dist/github/gh-deployment.js +0 -92
- package/dist/github/gh-deployment.js.map +0 -1
- package/dist/gitlab/gl-deployment.d.ts +0 -4
- package/dist/gitlab/gl-deployment.d.ts.map +0 -1
- package/dist/gitlab/gl-deployment.js +0 -93
- package/dist/gitlab/gl-deployment.js.map +0 -1
- /package/dist/{data → backings}/garage-bucket.d.ts +0 -0
- /package/dist/{data → backings}/garage-bucket.js +0 -0
- /package/dist/{data → backings}/garage.d.ts +0 -0
- /package/dist/{data → backings}/postgres-database.d.ts +0 -0
- /package/dist/{data → backings}/postgres.d.ts +0 -0
- /package/dist/{data → backings}/valkey-namespace.d.ts +0 -0
- /package/dist/{data → backings}/valkey.d.ts +0 -0
package/dist/forgejo/repo.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { parseInputs } from "../core/inputs.js";
|
|
2
|
+
import { parseInputs, sshSchema } from "../core/inputs.js";
|
|
3
|
+
import { overSsh } from "../core/over-ssh.js";
|
|
4
|
+
import { sshExecutor } from "../core/ssh.js";
|
|
3
5
|
import { forgejoApi } from "./forgejo-api.js";
|
|
4
|
-
|
|
6
|
+
import { FORGEJO_HTTP_PORT } from "./forgejo.js";
|
|
7
|
+
const repoSchema = sshSchema.extend({
|
|
5
8
|
name: z.string(),
|
|
6
9
|
owner: z.string(),
|
|
7
10
|
private: z.boolean(),
|
|
8
|
-
forgejoUrl: z.string(),
|
|
9
11
|
domain: z.string(),
|
|
10
12
|
adminUser: z.string(),
|
|
11
13
|
adminPassword: z.string(),
|
|
@@ -15,24 +17,23 @@ const outputsFor = (parsed) => ({
|
|
|
15
17
|
cloneUrl: `https://${parsed.domain}/${parsed.owner}/${parsed.name}.git`,
|
|
16
18
|
sshUrl: `git@${parsed.domain}:${parsed.owner}/${parsed.name}.git`,
|
|
17
19
|
});
|
|
18
|
-
export const createRepoProvider = (api = forgejoApi) => ({
|
|
20
|
+
export const createRepoProvider = (api = forgejoApi, executor = sshExecutor) => ({
|
|
19
21
|
read: async (inputs, ctx) => {
|
|
20
|
-
if (typeof inputs["forgejoUrl"] !== "string") {
|
|
21
|
-
return undefined;
|
|
22
|
-
}
|
|
23
22
|
const parsed = parse(inputs);
|
|
24
23
|
try {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
return await overSsh(executor, parsed, FORGEJO_HTTP_PORT, async (baseUrl) => {
|
|
25
|
+
const repo = await api.findRepo({
|
|
26
|
+
baseUrl,
|
|
27
|
+
user: parsed.adminUser,
|
|
28
|
+
password: parsed.adminPassword,
|
|
29
|
+
owner: parsed.owner,
|
|
30
|
+
name: parsed.name,
|
|
31
|
+
});
|
|
32
|
+
if (repo === undefined) {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
return { outputs: outputsFor(parsed) };
|
|
31
36
|
});
|
|
32
|
-
if (repo === undefined) {
|
|
33
|
-
return undefined;
|
|
34
|
-
}
|
|
35
|
-
return { outputs: outputsFor(parsed) };
|
|
36
37
|
}
|
|
37
38
|
catch (error) {
|
|
38
39
|
ctx.log(`repo "${ctx.id}": forgejo not reachable yet, treating as not-yet-created: ${String(error)}`);
|
|
@@ -42,39 +43,38 @@ export const createRepoProvider = (api = forgejoApi) => ({
|
|
|
42
43
|
diff: () => ({ action: "noop" }),
|
|
43
44
|
apply: async (inputs) => {
|
|
44
45
|
const parsed = parse(inputs);
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
password: parsed.adminPassword,
|
|
49
|
-
owner: parsed.owner,
|
|
50
|
-
name: parsed.name,
|
|
51
|
-
});
|
|
52
|
-
if (existing === undefined) {
|
|
53
|
-
await api.createRepo({
|
|
54
|
-
baseUrl: parsed.forgejoUrl,
|
|
46
|
+
return overSsh(executor, parsed, FORGEJO_HTTP_PORT, async (baseUrl) => {
|
|
47
|
+
const existing = await api.findRepo({
|
|
48
|
+
baseUrl,
|
|
55
49
|
user: parsed.adminUser,
|
|
56
50
|
password: parsed.adminPassword,
|
|
57
51
|
owner: parsed.owner,
|
|
58
|
-
ownerIsOrg: parsed.owner !== parsed.adminUser,
|
|
59
52
|
name: parsed.name,
|
|
60
|
-
private: parsed.private,
|
|
61
|
-
autoInit: true,
|
|
62
53
|
});
|
|
63
|
-
|
|
64
|
-
|
|
54
|
+
if (existing === undefined) {
|
|
55
|
+
await api.createRepo({
|
|
56
|
+
baseUrl,
|
|
57
|
+
user: parsed.adminUser,
|
|
58
|
+
password: parsed.adminPassword,
|
|
59
|
+
owner: parsed.owner,
|
|
60
|
+
ownerIsOrg: parsed.owner !== parsed.adminUser,
|
|
61
|
+
name: parsed.name,
|
|
62
|
+
private: parsed.private,
|
|
63
|
+
autoInit: true,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
return outputsFor(parsed);
|
|
67
|
+
});
|
|
65
68
|
},
|
|
66
69
|
delete: async (inputs) => {
|
|
67
|
-
if (typeof inputs["forgejoUrl"] !== "string") {
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
70
|
const parsed = parse(inputs);
|
|
71
|
-
await api.deleteRepo({
|
|
72
|
-
baseUrl
|
|
71
|
+
await overSsh(executor, parsed, FORGEJO_HTTP_PORT, (baseUrl) => api.deleteRepo({
|
|
72
|
+
baseUrl,
|
|
73
73
|
user: parsed.adminUser,
|
|
74
74
|
password: parsed.adminPassword,
|
|
75
75
|
owner: parsed.owner,
|
|
76
76
|
name: parsed.name,
|
|
77
|
-
});
|
|
77
|
+
}));
|
|
78
78
|
},
|
|
79
79
|
});
|
|
80
80
|
//# sourceMappingURL=repo.js.map
|
package/dist/forgejo/repo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo.js","sourceRoot":"","sources":["../../src/forgejo/repo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"repo.js","sourceRoot":"","sources":["../../src/forgejo/repo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gh-ci.d.ts","sourceRoot":"","sources":["../../src/github/gh-ci.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAIjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"gh-ci.d.ts","sourceRoot":"","sources":["../../src/github/gh-ci.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAIjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAyEjD,eAAO,MAAM,kBAAkB,GAAI,MAAK,SAAqB,KAAG,QAsE9D,CAAC"}
|
package/dist/github/gh-ci.js
CHANGED
|
@@ -8,31 +8,25 @@ const ghCiSchema = z.object({
|
|
|
8
8
|
branch: z.string(),
|
|
9
9
|
tag: z.string(),
|
|
10
10
|
token: z.string(),
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
komodoUrl: z.string(),
|
|
12
|
+
adminUser: z.string(),
|
|
13
|
+
adminPassword: z.string(),
|
|
14
|
+
deployment: z.string(),
|
|
15
15
|
});
|
|
16
16
|
const parse = (inputs) => parseInputs(ghCiSchema, inputs, "gh-ci");
|
|
17
|
-
const
|
|
17
|
+
const SECRET_KOMODO = "KOMODO_PASSWORD";
|
|
18
|
+
const workflowPath = (tag) => `.github/workflows/build-${tag}.yml`;
|
|
18
19
|
const DOCKERFILE_PATH = "Dockerfile";
|
|
19
|
-
const SECRET_SSH_KEY = "INTENTIC_HOST_SSH_KEY";
|
|
20
|
-
const SECRET_HOST_ADDRESS = "INTENTIC_HOST_ADDRESS";
|
|
21
|
-
const SECRET_HOST_USER = "INTENTIC_HOST_USER";
|
|
22
20
|
const workflowYaml = (parsed) => {
|
|
23
21
|
const image = `ghcr.io/${parsed.owner}/${parsed.repoName}`;
|
|
24
|
-
const envLines = Object.entries(parsed.env)
|
|
25
|
-
.map(([key, value]) => `-e ${key}='${String(value)}'`)
|
|
26
|
-
.join(" \\\n ");
|
|
27
|
-
const envFlag = envLines.length > 0 ? ` \\\n ${envLines}` : "";
|
|
28
22
|
return [
|
|
29
|
-
"# Generated by intentic: build
|
|
30
|
-
`name:
|
|
23
|
+
"# Generated by intentic: build the image, push it to GHCR, notify Komodo to redeploy.",
|
|
24
|
+
`name: build-${parsed.tag}`,
|
|
31
25
|
"on:",
|
|
32
26
|
" push:",
|
|
33
27
|
` branches: ["${parsed.branch}"]`,
|
|
34
28
|
"jobs:",
|
|
35
|
-
"
|
|
29
|
+
" build:",
|
|
36
30
|
" runs-on: ubuntu-24.04",
|
|
37
31
|
" permissions:",
|
|
38
32
|
" contents: read",
|
|
@@ -51,25 +45,19 @@ const workflowYaml = (parsed) => {
|
|
|
51
45
|
" tags: |",
|
|
52
46
|
` ${image}:${parsed.tag}`,
|
|
53
47
|
` ${image}:$\{{ github.sha }}`,
|
|
54
|
-
" - name:
|
|
55
|
-
"
|
|
56
|
-
|
|
57
|
-
`
|
|
58
|
-
`
|
|
59
|
-
`
|
|
60
|
-
"
|
|
61
|
-
` docker pull ${image}:${parsed.tag}`,
|
|
62
|
-
` docker stop ${parsed.deploymentId} || true`,
|
|
63
|
-
` docker rm ${parsed.deploymentId} || true`,
|
|
64
|
-
` docker run -d --name ${parsed.deploymentId} --restart unless-stopped \\`,
|
|
65
|
-
` -p ${parsed.port}:${parsed.port}${envFlag} \\`,
|
|
66
|
-
` ${image}:${parsed.tag}`,
|
|
48
|
+
" - name: notify komodo to redeploy",
|
|
49
|
+
" run: |",
|
|
50
|
+
` KOMODO_PASSWORD='\${{ secrets.${SECRET_KOMODO} }}'`,
|
|
51
|
+
` JWT=$(curl -sf ${parsed.komodoUrl}/auth/login/LoginLocalUser -H 'Content-Type: application/json' \\`,
|
|
52
|
+
` -d '{"username":"${parsed.adminUser}","password":"'"$KOMODO_PASSWORD"'"}' | sed -n 's/.*"jwt":"\\([^"]*\\)".*/\\1/p')`,
|
|
53
|
+
` curl -sf ${parsed.komodoUrl}/execute -H "Authorization: $JWT" -H 'Content-Type: application/json' \\`,
|
|
54
|
+
` -d '{"type":"Deploy","params":{"deployment":"${parsed.deployment}"}}'`,
|
|
67
55
|
"",
|
|
68
56
|
].join("\n");
|
|
69
57
|
};
|
|
70
58
|
export const createGhCiProvider = (api = githubApi) => ({
|
|
71
59
|
read: async (inputs, ctx) => {
|
|
72
|
-
if (typeof inputs["token"] !== "string" || typeof inputs["owner"] !== "string") {
|
|
60
|
+
if (typeof inputs["token"] !== "string" || typeof inputs["owner"] !== "string" || typeof inputs["komodoUrl"] !== "string") {
|
|
73
61
|
return undefined;
|
|
74
62
|
}
|
|
75
63
|
const parsed = parse(inputs);
|
|
@@ -101,9 +89,7 @@ export const createGhCiProvider = (api = githubApi) => ({
|
|
|
101
89
|
apply: async (inputs) => {
|
|
102
90
|
const parsed = parse(inputs);
|
|
103
91
|
const common = { token: parsed.token, owner: parsed.owner, repo: parsed.repoName };
|
|
104
|
-
await api.setRepoSecret({ ...common, secretName:
|
|
105
|
-
await api.setRepoSecret({ ...common, secretName: SECRET_HOST_ADDRESS, value: parsed.hostAddress });
|
|
106
|
-
await api.setRepoSecret({ ...common, secretName: SECRET_HOST_USER, value: "deploy" });
|
|
92
|
+
await api.setRepoSecret({ ...common, secretName: SECRET_KOMODO, value: parsed.adminPassword });
|
|
107
93
|
const dockerfile = await api.readFile({ ...common, path: DOCKERFILE_PATH, branch: parsed.branch });
|
|
108
94
|
if (dockerfile === undefined) {
|
|
109
95
|
await api.commitFile({
|
|
@@ -132,9 +118,7 @@ export const createGhCiProvider = (api = githubApi) => ({
|
|
|
132
118
|
const parsed = parse(inputs);
|
|
133
119
|
const common = { token: parsed.token, owner: parsed.owner, repo: parsed.repoName };
|
|
134
120
|
await api.deleteFile({ ...common, path: workflowPath(parsed.tag), branch: parsed.branch, message: "intentic: remove workflow" });
|
|
135
|
-
await api.deleteRepoSecret({ ...common, secretName:
|
|
136
|
-
await api.deleteRepoSecret({ ...common, secretName: SECRET_HOST_ADDRESS });
|
|
137
|
-
await api.deleteRepoSecret({ ...common, secretName: SECRET_HOST_USER });
|
|
121
|
+
await api.deleteRepoSecret({ ...common, secretName: SECRET_KOMODO });
|
|
138
122
|
},
|
|
139
123
|
});
|
|
140
124
|
//# sourceMappingURL=gh-ci.js.map
|
package/dist/github/gh-ci.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gh-ci.js","sourceRoot":"","sources":["../../src/github/gh-ci.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"gh-ci.js","sourceRoot":"","sources":["../../src/github/gh-ci.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-api.d.ts","sourceRoot":"","sources":["../../src/github/github-api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"github-api.d.ts","sourceRoot":"","sources":["../../src/github/github-api.ts"],"names":[],"mappings":"AAkCA,MAAM,WAAW,SAAS;IACtB,oBAAoB,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,QAAQ,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IAC5H,UAAU,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzH,UAAU,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF,QAAQ,CAAC,MAAM,EAAE;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IAC1D,UAAU,CAAC,MAAM,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,UAAU,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjI,aAAa,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxH,gBAAgB,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/G;AAID,eAAO,MAAM,SAAS,EAAE,SA+HvB,CAAC"}
|
|
@@ -6,7 +6,7 @@ const headers = (token) => ({
|
|
|
6
6
|
"X-GitHub-Api-Version": "2022-11-28",
|
|
7
7
|
});
|
|
8
8
|
const json = async (url, init) => {
|
|
9
|
-
const response = await fetch(url, init);
|
|
9
|
+
const response = await fetch(url, { ...init, signal: AbortSignal.timeout(30_000) });
|
|
10
10
|
if (!response.ok) {
|
|
11
11
|
const body = await response.text().catch(() => "");
|
|
12
12
|
throw new Error(`GitHub API ${init.method ?? "GET"} ${url}: ${response.status} ${body}`);
|
|
@@ -27,7 +27,7 @@ export const githubApi = {
|
|
|
27
27
|
return parseResponse(userSchema, data, "GitHub /user");
|
|
28
28
|
},
|
|
29
29
|
findRepo: async ({ token, owner, name }) => {
|
|
30
|
-
const response = await fetch(`${BASE}/repos/${owner}/${name}`, { headers: headers(token) });
|
|
30
|
+
const response = await fetch(`${BASE}/repos/${owner}/${name}`, { headers: headers(token), signal: AbortSignal.timeout(30_000) });
|
|
31
31
|
if (response.status === 404) {
|
|
32
32
|
return undefined;
|
|
33
33
|
}
|
|
@@ -46,7 +46,11 @@ export const githubApi = {
|
|
|
46
46
|
});
|
|
47
47
|
},
|
|
48
48
|
deleteRepo: async ({ token, owner, name }) => {
|
|
49
|
-
const response = await fetch(`${BASE}/repos/${owner}/${name}`, {
|
|
49
|
+
const response = await fetch(`${BASE}/repos/${owner}/${name}`, {
|
|
50
|
+
method: "DELETE",
|
|
51
|
+
headers: headers(token),
|
|
52
|
+
signal: AbortSignal.timeout(30_000),
|
|
53
|
+
});
|
|
50
54
|
if (response.status === 404) {
|
|
51
55
|
return;
|
|
52
56
|
}
|
|
@@ -55,7 +59,10 @@ export const githubApi = {
|
|
|
55
59
|
}
|
|
56
60
|
},
|
|
57
61
|
readFile: async ({ token, owner, repo, path, branch }) => {
|
|
58
|
-
const response = await fetch(`${BASE}/repos/${owner}/${repo}/contents/${path}?ref=${branch}`, {
|
|
62
|
+
const response = await fetch(`${BASE}/repos/${owner}/${repo}/contents/${path}?ref=${branch}`, {
|
|
63
|
+
headers: headers(token),
|
|
64
|
+
signal: AbortSignal.timeout(30_000),
|
|
65
|
+
});
|
|
59
66
|
if (response.status === 404) {
|
|
60
67
|
return undefined;
|
|
61
68
|
}
|
|
@@ -108,6 +115,7 @@ export const githubApi = {
|
|
|
108
115
|
const response = await fetch(`${BASE}/repos/${owner}/${repo}/actions/secrets/${secretName}`, {
|
|
109
116
|
method: "DELETE",
|
|
110
117
|
headers: headers(token),
|
|
118
|
+
signal: AbortSignal.timeout(30_000),
|
|
111
119
|
});
|
|
112
120
|
if (response.status === 404) {
|
|
113
121
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-api.js","sourceRoot":"","sources":["../../src/github/github-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKlD,MAAM,OAAO,GAAG,CAAC,KAAa,EAA0B,EAAE,CAAC,CAAC;IACxD,aAAa,EAAE,UAAU,KAAK,EAAE;IAChC,MAAM,EAAE,6BAA6B;IACrC,sBAAsB,EAAE,YAAY;CACvC,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAAE,IAAiB,EAAoB,EAAE;
|
|
1
|
+
{"version":3,"file":"github-api.js","sourceRoot":"","sources":["../../src/github/github-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab-api.d.ts","sourceRoot":"","sources":["../../src/gitlab/gitlab-api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gitlab-api.d.ts","sourceRoot":"","sources":["../../src/gitlab/gitlab-api.ts"],"names":[],"mappings":"AAoCA,MAAM,WAAW,SAAS;IACtB,oBAAoB,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5F,WAAW,CAAC,MAAM,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IACzE,aAAa,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3I,aAAa,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClG,QAAQ,CAAC,MAAM,EAAE;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IAC7C,UAAU,CAAC,MAAM,EAAE;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,UAAU,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9I,aAAa,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9H,gBAAgB,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrH;AAED,eAAO,MAAM,SAAS,EAAE,SA6HvB,CAAC"}
|
|
@@ -4,7 +4,7 @@ const headers = (token) => ({ "PRIVATE-TOKEN": token });
|
|
|
4
4
|
const base = (url) => `${url.replace(/\/+$/, "")}/api/v4`;
|
|
5
5
|
const projectPath = (owner, name) => encodeURIComponent(`${owner}/${name}`);
|
|
6
6
|
const json = async (url, init) => {
|
|
7
|
-
const response = await fetch(url, init);
|
|
7
|
+
const response = await fetch(url, { ...init, signal: AbortSignal.timeout(30_000) });
|
|
8
8
|
if (!response.ok) {
|
|
9
9
|
const body = await response.text().catch(() => "");
|
|
10
10
|
throw new Error(`GitLab API ${init.method ?? "GET"} ${url}: ${response.status} ${body}`);
|
|
@@ -24,7 +24,10 @@ export const gitlabApi = {
|
|
|
24
24
|
return parseResponse(userSchema, data, "GitLab /user");
|
|
25
25
|
},
|
|
26
26
|
findProject: async ({ url, token, owner, name }) => {
|
|
27
|
-
const response = await fetch(`${base(url)}/projects/${projectPath(owner, name)}`, {
|
|
27
|
+
const response = await fetch(`${base(url)}/projects/${projectPath(owner, name)}`, {
|
|
28
|
+
headers: headers(token),
|
|
29
|
+
signal: AbortSignal.timeout(30_000),
|
|
30
|
+
});
|
|
28
31
|
if (response.status === 404) {
|
|
29
32
|
return undefined;
|
|
30
33
|
}
|
|
@@ -52,7 +55,11 @@ export const gitlabApi = {
|
|
|
52
55
|
});
|
|
53
56
|
},
|
|
54
57
|
deleteProject: async ({ url, token, owner, name }) => {
|
|
55
|
-
const response = await fetch(`${base(url)}/projects/${projectPath(owner, name)}`, {
|
|
58
|
+
const response = await fetch(`${base(url)}/projects/${projectPath(owner, name)}`, {
|
|
59
|
+
method: "DELETE",
|
|
60
|
+
headers: headers(token),
|
|
61
|
+
signal: AbortSignal.timeout(30_000),
|
|
62
|
+
});
|
|
56
63
|
if (response.status === 404) {
|
|
57
64
|
return;
|
|
58
65
|
}
|
|
@@ -62,7 +69,7 @@ export const gitlabApi = {
|
|
|
62
69
|
},
|
|
63
70
|
readFile: async ({ url, token, owner, name, path, branch }) => {
|
|
64
71
|
const endpoint = `${base(url)}/projects/${projectPath(owner, name)}/repository/files/${encodeURIComponent(path)}?ref=${encodeURIComponent(branch)}`;
|
|
65
|
-
const response = await fetch(endpoint, { headers: headers(token) });
|
|
72
|
+
const response = await fetch(endpoint, { headers: headers(token), signal: AbortSignal.timeout(30_000) });
|
|
66
73
|
if (response.status === 404) {
|
|
67
74
|
return undefined;
|
|
68
75
|
}
|
|
@@ -87,6 +94,7 @@ export const gitlabApi = {
|
|
|
87
94
|
method: "DELETE",
|
|
88
95
|
headers: { ...headers(token), "Content-Type": "application/json" },
|
|
89
96
|
body: JSON.stringify({ branch, commit_message: message }),
|
|
97
|
+
signal: AbortSignal.timeout(30_000),
|
|
90
98
|
});
|
|
91
99
|
if (response.status === 404) {
|
|
92
100
|
return;
|
|
@@ -97,7 +105,7 @@ export const gitlabApi = {
|
|
|
97
105
|
},
|
|
98
106
|
setCiVariable: async ({ url, token, owner, name, key, value }) => {
|
|
99
107
|
const varsBase = `${base(url)}/projects/${projectPath(owner, name)}/variables`;
|
|
100
|
-
const probe = await fetch(`${varsBase}/${encodeURIComponent(key)}`, { headers: headers(token) });
|
|
108
|
+
const probe = await fetch(`${varsBase}/${encodeURIComponent(key)}`, { headers: headers(token), signal: AbortSignal.timeout(30_000) });
|
|
101
109
|
if (!probe.ok && probe.status !== 404) {
|
|
102
110
|
throw new Error(`GitLab API GET variable ${key}: ${probe.status}`);
|
|
103
111
|
}
|
|
@@ -112,6 +120,7 @@ export const gitlabApi = {
|
|
|
112
120
|
const response = await fetch(`${base(url)}/projects/${projectPath(owner, name)}/variables/${encodeURIComponent(key)}`, {
|
|
113
121
|
method: "DELETE",
|
|
114
122
|
headers: headers(token),
|
|
123
|
+
signal: AbortSignal.timeout(30_000),
|
|
115
124
|
});
|
|
116
125
|
if (response.status === 404) {
|
|
117
126
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab-api.js","sourceRoot":"","sources":["../../src/gitlab/gitlab-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAMlD,MAAM,OAAO,GAAG,CAAC,KAAa,EAA0B,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;AAExF,MAAM,IAAI,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC;AAG1E,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,IAAY,EAAU,EAAE,CAAC,kBAAkB,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;AAEpG,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAAE,IAAiB,EAAoB,EAAE;
|
|
1
|
+
{"version":3,"file":"gitlab-api.js","sourceRoot":"","sources":["../../src/gitlab/gitlab-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gl-ci.d.ts","sourceRoot":"","sources":["../../src/gitlab/gl-ci.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAIjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"gl-ci.d.ts","sourceRoot":"","sources":["../../src/gitlab/gl-ci.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAIjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAqFjD,eAAO,MAAM,kBAAkB,GAAI,MAAK,SAAqB,KAAG,QA+D9D,CAAC"}
|
package/dist/gitlab/gl-ci.js
CHANGED
|
@@ -7,8 +7,6 @@ const glCiEnvSchema = z.object({
|
|
|
7
7
|
branch: z.string(),
|
|
8
8
|
tag: z.string(),
|
|
9
9
|
deploymentId: z.string(),
|
|
10
|
-
port: z.coerce.number(),
|
|
11
|
-
env: z.record(z.string(), z.unknown()).default({}),
|
|
12
10
|
});
|
|
13
11
|
const glCiSchema = z.object({
|
|
14
12
|
url: z.string(),
|
|
@@ -16,35 +14,22 @@ const glCiSchema = z.object({
|
|
|
16
14
|
repoName: z.string(),
|
|
17
15
|
token: z.string(),
|
|
18
16
|
registry: z.string(),
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
komodoUrl: z.string(),
|
|
18
|
+
adminUser: z.string(),
|
|
19
|
+
adminPassword: z.string(),
|
|
22
20
|
environments: z.array(glCiEnvSchema),
|
|
23
21
|
});
|
|
24
22
|
const parse = (inputs) => parseInputs(glCiSchema, inputs, "gl-ci");
|
|
25
23
|
const CI_FILE_PATH = ".gitlab-ci.yml";
|
|
26
24
|
const DOCKERFILE_PATH = "Dockerfile";
|
|
27
|
-
const
|
|
28
|
-
const VAR_HOST_ADDRESS = "INTENTIC_HOST_ADDRESS";
|
|
29
|
-
const VAR_HOST_USER = "INTENTIC_HOST_USER";
|
|
30
|
-
const shellQuote = (value) => `'${value.replace(/'/g, "'\\''")}'`;
|
|
25
|
+
const VAR_KOMODO = "KOMODO_PASSWORD";
|
|
31
26
|
const scriptLine = (command) => ` - ${JSON.stringify(command)}`;
|
|
32
27
|
const jobYaml = (parsed, environment) => {
|
|
33
28
|
const image = registryImage({ registry: parsed.registry, owner: parsed.owner, repoName: parsed.repoName, tag: environment.tag });
|
|
34
29
|
const shaImage = `${parsed.registry}/${parsed.owner}/${parsed.repoName}:$CI_COMMIT_SHA`;
|
|
35
|
-
const envFlags = Object.entries(environment.env)
|
|
36
|
-
.map(([key, value]) => `-e ${key}='${String(value)}'`)
|
|
37
|
-
.join(" ");
|
|
38
|
-
const envStr = envFlags.length > 0 ? ` ${envFlags}` : "";
|
|
39
|
-
const remote = [
|
|
40
|
-
`docker pull ${image}`,
|
|
41
|
-
`docker stop ${environment.deploymentId} || true`,
|
|
42
|
-
`docker rm ${environment.deploymentId} || true`,
|
|
43
|
-
`docker run -d --name ${environment.deploymentId} --restart unless-stopped -p ${environment.port}:${environment.port}${envStr} ${image}`,
|
|
44
|
-
].join(" && ");
|
|
45
30
|
return [
|
|
46
|
-
`
|
|
47
|
-
" stage:
|
|
31
|
+
`build-${environment.name}:`,
|
|
32
|
+
" stage: build",
|
|
48
33
|
" image: docker:27",
|
|
49
34
|
" services:",
|
|
50
35
|
" - docker:27-dind",
|
|
@@ -52,26 +37,28 @@ const jobYaml = (parsed, environment) => {
|
|
|
52
37
|
` - if: '$CI_COMMIT_BRANCH == "${environment.branch}"'`,
|
|
53
38
|
" before_script:",
|
|
54
39
|
scriptLine('docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"'),
|
|
55
|
-
scriptLine("apk add --no-cache
|
|
40
|
+
scriptLine("apk add --no-cache curl"),
|
|
56
41
|
" script:",
|
|
57
42
|
scriptLine(`docker build -t ${image} -t ${shaImage} .`),
|
|
58
43
|
scriptLine(`docker push ${image}`),
|
|
59
44
|
scriptLine(`docker push ${shaImage}`),
|
|
60
|
-
scriptLine(
|
|
61
|
-
|
|
45
|
+
scriptLine(`JWT=$(curl -sf ${parsed.komodoUrl}/auth/login/LoginLocalUser -H 'Content-Type: application/json' ` +
|
|
46
|
+
`-d '{"username":"${parsed.adminUser}","password":"'"$${VAR_KOMODO}"'"}' | sed -n 's/.*"jwt":"\\([^"]*\\)".*/\\1/p')`),
|
|
47
|
+
scriptLine(`curl -sf ${parsed.komodoUrl}/execute -H "Authorization: $JWT" -H 'Content-Type: application/json' ` +
|
|
48
|
+
`-d '{"type":"Deploy","params":{"deployment":"${environment.deploymentId}"}}'`),
|
|
62
49
|
].join("\n");
|
|
63
50
|
};
|
|
64
51
|
const gitlabCiYaml = (parsed) => [
|
|
65
|
-
"# Generated by intentic: build → push to the GitLab Container Registry →
|
|
52
|
+
"# Generated by intentic: build → push to the GitLab Container Registry → notify Komodo to redeploy.",
|
|
66
53
|
"stages:",
|
|
67
|
-
" -
|
|
54
|
+
" - build",
|
|
68
55
|
"",
|
|
69
56
|
...parsed.environments.map((environment) => jobYaml(parsed, environment)),
|
|
70
57
|
"",
|
|
71
58
|
].join("\n");
|
|
72
59
|
export const createGlCiProvider = (api = gitlabApi) => ({
|
|
73
60
|
read: async (inputs, ctx) => {
|
|
74
|
-
if (typeof inputs["token"] !== "string" || typeof inputs["owner"] !== "string") {
|
|
61
|
+
if (typeof inputs["token"] !== "string" || typeof inputs["owner"] !== "string" || typeof inputs["komodoUrl"] !== "string") {
|
|
75
62
|
return undefined;
|
|
76
63
|
}
|
|
77
64
|
const parsed = parse(inputs);
|
|
@@ -105,9 +92,7 @@ export const createGlCiProvider = (api = gitlabApi) => ({
|
|
|
105
92
|
const parsed = parse(inputs);
|
|
106
93
|
const common = { url: parsed.url, token: parsed.token, owner: parsed.owner, name: parsed.repoName };
|
|
107
94
|
const branch = parsed.environments[0]?.branch ?? "main";
|
|
108
|
-
await api.setCiVariable({ ...common, key:
|
|
109
|
-
await api.setCiVariable({ ...common, key: VAR_HOST_ADDRESS, value: parsed.hostAddress });
|
|
110
|
-
await api.setCiVariable({ ...common, key: VAR_HOST_USER, value: parsed.hostUser });
|
|
95
|
+
await api.setCiVariable({ ...common, key: VAR_KOMODO, value: parsed.adminPassword });
|
|
111
96
|
const dockerfile = await api.readFile({ ...common, path: DOCKERFILE_PATH, branch });
|
|
112
97
|
if (dockerfile === undefined) {
|
|
113
98
|
await api.commitFile({ ...common, path: DOCKERFILE_PATH, content: starterDockerfile(), branch, message: "intentic: starter Dockerfile" });
|
|
@@ -121,10 +106,13 @@ export const createGlCiProvider = (api = gitlabApi) => ({
|
|
|
121
106
|
}
|
|
122
107
|
const parsed = parse(inputs);
|
|
123
108
|
const common = { url: parsed.url, token: parsed.token, owner: parsed.owner, name: parsed.repoName };
|
|
124
|
-
await api.deleteFile({
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
109
|
+
await api.deleteFile({
|
|
110
|
+
...common,
|
|
111
|
+
path: CI_FILE_PATH,
|
|
112
|
+
branch: parsed.environments[0]?.branch ?? "main",
|
|
113
|
+
message: "intentic: remove CI pipeline",
|
|
114
|
+
});
|
|
115
|
+
await api.deleteCiVariable({ ...common, key: VAR_KOMODO });
|
|
128
116
|
},
|
|
129
117
|
});
|
|
130
118
|
//# sourceMappingURL=gl-ci.js.map
|