@intentic/providers 1.64.0 → 1.65.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/core/ci-yaml.d.ts +3 -0
- package/dist/core/ci-yaml.d.ts.map +1 -0
- package/dist/core/ci-yaml.js +15 -0
- package/dist/core/ci-yaml.js.map +1 -0
- package/dist/forgejo/ci.d.ts.map +1 -1
- package/dist/forgejo/ci.js +1 -14
- package/dist/forgejo/ci.js.map +1 -1
- package/dist/github/gh-ci.d.ts.map +1 -1
- package/dist/github/gh-ci.js +1 -14
- package/dist/github/gh-ci.js.map +1 -1
- package/dist/gitlab/gitlab-api.d.ts +77 -0
- package/dist/gitlab/gitlab-api.d.ts.map +1 -0
- package/dist/gitlab/gitlab-api.js +124 -0
- package/dist/gitlab/gitlab-api.js.map +1 -0
- package/dist/gitlab/gitlab.d.ts +4 -0
- package/dist/gitlab/gitlab.d.ts.map +1 -0
- package/dist/gitlab/gitlab.js +34 -0
- package/dist/gitlab/gitlab.js.map +1 -0
- package/dist/gitlab/gl-ci.d.ts +4 -0
- package/dist/gitlab/gl-ci.d.ts.map +1 -0
- package/dist/gitlab/gl-ci.js +130 -0
- package/dist/gitlab/gl-ci.js.map +1 -0
- package/dist/gitlab/gl-deployment.d.ts +4 -0
- package/dist/gitlab/gl-deployment.d.ts.map +1 -0
- package/dist/gitlab/gl-deployment.js +93 -0
- package/dist/gitlab/gl-deployment.js.map +1 -0
- package/dist/gitlab/gl-repo.d.ts +4 -0
- package/dist/gitlab/gl-repo.d.ts.map +1 -0
- package/dist/gitlab/gl-repo.js +61 -0
- package/dist/gitlab/gl-repo.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/providers.d.ts +2 -0
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +10 -0
- package/dist/providers.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci-yaml.d.ts","sourceRoot":"","sources":["../../src/core/ci-yaml.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,iBAAiB,QAAO,MASrB,CAAC;AAIjB,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAK1B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const starterDockerfile = () => [
|
|
2
|
+
"# intentic starter Dockerfile — replace with your app's real build.",
|
|
3
|
+
"FROM busybox:1.37.0",
|
|
4
|
+
"RUN mkdir -p /www && printf '%s' 'intentic: replace this Dockerfile with your app' > /www/index.html",
|
|
5
|
+
"ENV PORT=8080",
|
|
6
|
+
"EXPOSE 8080",
|
|
7
|
+
'CMD ["sh","-c","httpd -f -v -p $PORT -h /www"]',
|
|
8
|
+
"",
|
|
9
|
+
].join("\n");
|
|
10
|
+
export const normalize = (yaml) => yaml
|
|
11
|
+
.split("\n")
|
|
12
|
+
.map((line) => line.replace(/\s+$/, ""))
|
|
13
|
+
.join("\n")
|
|
14
|
+
.trim();
|
|
15
|
+
//# sourceMappingURL=ci-yaml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci-yaml.js","sourceRoot":"","sources":["../../src/core/ci-yaml.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAW,EAAE,CAC1C;IACI,qEAAqE;IACrE,qBAAqB;IACrB,sGAAsG;IACtG,eAAe;IACf,aAAa;IACb,gDAAgD;IAChD,EAAE;CACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAIjB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CAC9C,IAAI;KACC,KAAK,CAAC,IAAI,CAAC;KACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;KACvC,IAAI,CAAC,IAAI,CAAC;KACV,IAAI,EAAE,CAAC"}
|
package/dist/forgejo/ci.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ci.d.ts","sourceRoot":"","sources":["../../src/forgejo/ci.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"ci.d.ts","sourceRoot":"","sources":["../../src/forgejo/ci.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAIjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAgFnD,eAAO,MAAM,gBAAgB,GAAI,MAAK,UAAuB,KAAG,QAoF9D,CAAC"}
|
package/dist/forgejo/ci.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { normalize, starterDockerfile } from "../core/ci-yaml.js";
|
|
2
3
|
import { parseInputs } from "../core/inputs.js";
|
|
3
4
|
import { forgejoApi } from "./forgejo-api.js";
|
|
4
5
|
const ciSchema = z.object({
|
|
@@ -20,15 +21,6 @@ const SECRET_REGISTRY = "REGISTRY_TOKEN";
|
|
|
20
21
|
const SECRET_KOMODO = "KOMODO_PASSWORD";
|
|
21
22
|
const workflowPath = (tag) => `.forgejo/workflows/build-${tag}.yaml`;
|
|
22
23
|
const DOCKERFILE_PATH = "Dockerfile";
|
|
23
|
-
const starterDockerfile = () => [
|
|
24
|
-
"# intentic starter Dockerfile — replace with your app's real build.",
|
|
25
|
-
"FROM busybox:1.37.0",
|
|
26
|
-
"RUN mkdir -p /www && printf '%s' 'intentic: replace this Dockerfile with your app' > /www/index.html",
|
|
27
|
-
"ENV PORT=8080",
|
|
28
|
-
"EXPOSE 8080",
|
|
29
|
-
'CMD ["sh","-c","httpd -f -v -p $PORT -h /www"]',
|
|
30
|
-
"",
|
|
31
|
-
].join("\n");
|
|
32
24
|
const workflowYaml = (parsed) => {
|
|
33
25
|
const base = `${parsed.registry}/${parsed.owner}/${parsed.repoName}`;
|
|
34
26
|
return [
|
|
@@ -63,11 +55,6 @@ const workflowYaml = (parsed) => {
|
|
|
63
55
|
"",
|
|
64
56
|
].join("\n");
|
|
65
57
|
};
|
|
66
|
-
const normalize = (yaml) => yaml
|
|
67
|
-
.split("\n")
|
|
68
|
-
.map((line) => line.replace(/\s+$/, ""))
|
|
69
|
-
.join("\n")
|
|
70
|
-
.trim();
|
|
71
58
|
export const createCiProvider = (api = forgejoApi) => ({
|
|
72
59
|
read: async (inputs, ctx) => {
|
|
73
60
|
if (typeof inputs["forgejoUrl"] !== "string" || typeof inputs["komodoUrl"] !== "string") {
|
package/dist/forgejo/ci.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ci.js","sourceRoot":"","sources":["../../src/forgejo/ci.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IAEtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IAGtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAG1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IAEpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAElB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IAEpB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IAEf,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IAEzB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IAErB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,CAAC,MAAsB,EAAY,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAExF,MAAM,eAAe,GAAG,gBAAgB,CAAC;AACzC,MAAM,aAAa,GAAG,iBAAiB,CAAC;AACxC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,4BAA4B,GAAG,OAAO,CAAC;AACrF,MAAM,eAAe,GAAG,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ci.js","sourceRoot":"","sources":["../../src/forgejo/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,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IAEtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IAGtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAG1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IAEpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAElB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IAEpB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IAEf,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IAEzB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IAErB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,CAAC,MAAsB,EAAY,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAExF,MAAM,eAAe,GAAG,gBAAgB,CAAC;AACzC,MAAM,aAAa,GAAG,iBAAiB,CAAC;AACxC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,4BAA4B,GAAG,OAAO,CAAC;AACrF,MAAM,eAAe,GAAG,YAAY,CAAC;AAMrC,MAAM,YAAY,GAAG,CAAC,MAAgB,EAAU,EAAE;IAC9C,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrE,OAAO;QACH,uGAAuG;QACvG,KAAK;QACL,SAAS;QACT,oBAAoB,MAAM,CAAC,MAAM,KAAK;QACtC,OAAO;QACP,UAAU;QACV,qBAAqB;QACrB,YAAY;QACZ,qGAAqG;QACrG,wGAAwG;QACxG,eAAe;QACf,uBAAuB,MAAM,CAAC,QAAQ,EAAE;QACxC,uBAAuB,MAAM,CAAC,SAAS,EAAE;QACzC,oCAAoC,eAAe,KAAK;QACxD,8GAA8G;QAC9G,eAAe;QACf,sBAAsB;QACtB,sBAAsB;QACtB,mBAAmB;QACnB,eAAe,IAAI,IAAI,MAAM,CAAC,GAAG,EAAE;QACnC,eAAe,IAAI,qBAAqB;QACxC,yCAAyC;QACzC,gBAAgB;QAChB,2CAA2C,aAAa,MAAM;QAC9D,4BAA4B,MAAM,CAAC,SAAS,mEAAmE;QAC/G,gCAAgC,MAAM,CAAC,SAAS,mFAAmF;QACnI,sBAAsB,MAAM,CAAC,SAAS,0EAA0E;QAChH,4DAA4D,MAAM,CAAC,UAAU,MAAM;QACnF,EAAE;KACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAkB,UAAU,EAAY,EAAE,CAAC,CAAC;IACzE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QACxB,IAAI,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,QAAQ,EAAE,CAAC;YACtF,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC;gBAChC,OAAO,EAAE,MAAM,CAAC,UAAU;gBAC1B,IAAI,EAAE,MAAM,CAAC,SAAS;gBACtB,QAAQ,EAAE,MAAM,CAAC,aAAa;gBAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,QAAQ;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC;aACjC,CAAC,CAAC;YACH,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,GAAG,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,8DAA8D,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpG,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IACD,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;QACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACjG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,kCAAkC,EAAE,CAAC;QAC5E,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IACD,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG;YACT,OAAO,EAAE,MAAM,CAAC,UAAU;YAC1B,IAAI,EAAE,MAAM,CAAC,SAAS;YACtB,QAAQ,EAAE,MAAM,CAAC,aAAa;YAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,QAAQ;SACxB,CAAC;QAEF,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAC9F,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;QAG7F,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;QACjG,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,GAAG,CAAC,UAAU,CAAC;gBACjB,GAAG,IAAI;gBACP,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,iBAAiB,EAAE;gBAC5B,OAAO,EAAE,8BAA8B;aAC1C,CAAC,CAAC;QACP,CAAC;QAED,MAAM,GAAG,CAAC,UAAU,CAAC;YACjB,GAAG,IAAI;YACP,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC;YAC9B,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC;YAC7B,OAAO,EAAE,uBAAuB;SACnC,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACrB,IAAI,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3C,OAAO;QACX,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG;YACT,OAAO,EAAE,MAAM,CAAC,UAAU;YAC1B,IAAI,EAAE,MAAM,CAAC,SAAS;YACtB,QAAQ,EAAE,MAAM,CAAC,aAAa;YAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,QAAQ;SACxB,CAAC;QAGF,MAAM,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAClI,MAAM,GAAG,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;QACrE,MAAM,GAAG,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;IACvE,CAAC;CACJ,CAAC,CAAC"}
|
|
@@ -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;
|
|
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;AA8EjD,eAAO,MAAM,kBAAkB,GAAI,MAAK,SAAqB,KAAG,QA0E9D,CAAC"}
|
package/dist/github/gh-ci.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { normalize, starterDockerfile } from "../core/ci-yaml.js";
|
|
2
3
|
import { parseInputs } from "../core/inputs.js";
|
|
3
4
|
import { githubApi } from "./github-api.js";
|
|
4
5
|
const ghCiSchema = z.object({
|
|
@@ -18,15 +19,6 @@ const DOCKERFILE_PATH = "Dockerfile";
|
|
|
18
19
|
const SECRET_SSH_KEY = "INTENTIC_HOST_SSH_KEY";
|
|
19
20
|
const SECRET_HOST_ADDRESS = "INTENTIC_HOST_ADDRESS";
|
|
20
21
|
const SECRET_HOST_USER = "INTENTIC_HOST_USER";
|
|
21
|
-
const starterDockerfile = () => [
|
|
22
|
-
"# intentic starter Dockerfile — replace with your app's real build.",
|
|
23
|
-
"FROM busybox:1.37.0",
|
|
24
|
-
"RUN mkdir -p /www && printf '%s' 'intentic: replace this Dockerfile with your app' > /www/index.html",
|
|
25
|
-
"ENV PORT=8080",
|
|
26
|
-
"EXPOSE 8080",
|
|
27
|
-
'CMD ["sh","-c","httpd -f -v -p $PORT -h /www"]',
|
|
28
|
-
"",
|
|
29
|
-
].join("\n");
|
|
30
22
|
const workflowYaml = (parsed) => {
|
|
31
23
|
const image = `ghcr.io/${parsed.owner}/${parsed.repoName}`;
|
|
32
24
|
const envLines = Object.entries(parsed.env)
|
|
@@ -75,11 +67,6 @@ const workflowYaml = (parsed) => {
|
|
|
75
67
|
"",
|
|
76
68
|
].join("\n");
|
|
77
69
|
};
|
|
78
|
-
const normalize = (yaml) => yaml
|
|
79
|
-
.split("\n")
|
|
80
|
-
.map((line) => line.replace(/\s+$/, ""))
|
|
81
|
-
.join("\n")
|
|
82
|
-
.trim();
|
|
83
70
|
export const createGhCiProvider = (api = githubApi) => ({
|
|
84
71
|
read: async (inputs, ctx) => {
|
|
85
72
|
if (typeof inputs["token"] !== "string" || typeof inputs["owner"] !== "string") {
|
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,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;IACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IAEjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;IACvB,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACrD,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,CAAC,MAAsB,EAAc,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAE/F,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,4BAA4B,GAAG,MAAM,CAAC;AACpF,MAAM,eAAe,GAAG,YAAY,CAAC;AAErC,MAAM,cAAc,GAAG,uBAAuB,CAAC;AAC/C,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AACpD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAG9C,MAAM,
|
|
1
|
+
{"version":3,"file":"gh-ci.js","sourceRoot":"","sources":["../../src/github/gh-ci.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export interface GitLabApi {
|
|
2
|
+
getAuthenticatedUser(params: {
|
|
3
|
+
url: string;
|
|
4
|
+
token: string;
|
|
5
|
+
}): Promise<{
|
|
6
|
+
username: string;
|
|
7
|
+
}>;
|
|
8
|
+
findProject(params: {
|
|
9
|
+
url: string;
|
|
10
|
+
token: string;
|
|
11
|
+
owner: string;
|
|
12
|
+
name: string;
|
|
13
|
+
}): Promise<{
|
|
14
|
+
httpUrlToRepo: string;
|
|
15
|
+
sshUrlToRepo: string;
|
|
16
|
+
} | undefined>;
|
|
17
|
+
createProject(params: {
|
|
18
|
+
url: string;
|
|
19
|
+
token: string;
|
|
20
|
+
owner: string;
|
|
21
|
+
name: string;
|
|
22
|
+
private: boolean;
|
|
23
|
+
ownerIsGroup: boolean;
|
|
24
|
+
}): Promise<void>;
|
|
25
|
+
deleteProject(params: {
|
|
26
|
+
url: string;
|
|
27
|
+
token: string;
|
|
28
|
+
owner: string;
|
|
29
|
+
name: string;
|
|
30
|
+
}): Promise<void>;
|
|
31
|
+
readFile(params: {
|
|
32
|
+
url: string;
|
|
33
|
+
token: string;
|
|
34
|
+
owner: string;
|
|
35
|
+
name: string;
|
|
36
|
+
path: string;
|
|
37
|
+
branch: string;
|
|
38
|
+
}): Promise<{
|
|
39
|
+
content: string;
|
|
40
|
+
} | undefined>;
|
|
41
|
+
commitFile(params: {
|
|
42
|
+
url: string;
|
|
43
|
+
token: string;
|
|
44
|
+
owner: string;
|
|
45
|
+
name: string;
|
|
46
|
+
path: string;
|
|
47
|
+
content: string;
|
|
48
|
+
branch: string;
|
|
49
|
+
message: string;
|
|
50
|
+
}): Promise<void>;
|
|
51
|
+
deleteFile(params: {
|
|
52
|
+
url: string;
|
|
53
|
+
token: string;
|
|
54
|
+
owner: string;
|
|
55
|
+
name: string;
|
|
56
|
+
path: string;
|
|
57
|
+
branch: string;
|
|
58
|
+
message: string;
|
|
59
|
+
}): Promise<void>;
|
|
60
|
+
setCiVariable(params: {
|
|
61
|
+
url: string;
|
|
62
|
+
token: string;
|
|
63
|
+
owner: string;
|
|
64
|
+
name: string;
|
|
65
|
+
key: string;
|
|
66
|
+
value: string;
|
|
67
|
+
}): Promise<void>;
|
|
68
|
+
deleteCiVariable(params: {
|
|
69
|
+
url: string;
|
|
70
|
+
token: string;
|
|
71
|
+
owner: string;
|
|
72
|
+
name: string;
|
|
73
|
+
key: string;
|
|
74
|
+
}): Promise<void>;
|
|
75
|
+
}
|
|
76
|
+
export declare const gitlabApi: GitLabApi;
|
|
77
|
+
//# sourceMappingURL=gitlab-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitlab-api.d.ts","sourceRoot":"","sources":["../../src/gitlab/gitlab-api.ts"],"names":[],"mappings":"AAmCA,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;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,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IACtJ,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,SAoHvB,CAAC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { parseResponse } from "../core/inputs.js";
|
|
3
|
+
const headers = (token) => ({ "PRIVATE-TOKEN": token });
|
|
4
|
+
const base = (url) => `${url.replace(/\/+$/, "")}/api/v4`;
|
|
5
|
+
const projectPath = (owner, name) => encodeURIComponent(`${owner}/${name}`);
|
|
6
|
+
const json = async (url, init) => {
|
|
7
|
+
const response = await fetch(url, init);
|
|
8
|
+
if (!response.ok) {
|
|
9
|
+
const body = await response.text().catch(() => "");
|
|
10
|
+
throw new Error(`GitLab API ${init.method ?? "GET"} ${url}: ${response.status} ${body}`);
|
|
11
|
+
}
|
|
12
|
+
if (response.status === 204) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
return response.json();
|
|
16
|
+
};
|
|
17
|
+
const userSchema = z.object({ username: z.string() });
|
|
18
|
+
const projectSchema = z.object({ http_url_to_repo: z.string(), ssh_url_to_repo: z.string() });
|
|
19
|
+
const namespaceSchema = z.object({ id: z.number() });
|
|
20
|
+
const fileSchema = z.object({ content: z.string() });
|
|
21
|
+
export const gitlabApi = {
|
|
22
|
+
getAuthenticatedUser: async ({ url, token }) => {
|
|
23
|
+
const data = await json(`${base(url)}/user`, { headers: headers(token) });
|
|
24
|
+
return parseResponse(userSchema, data, "GitLab /user");
|
|
25
|
+
},
|
|
26
|
+
findProject: async ({ url, token, owner, name }) => {
|
|
27
|
+
const response = await fetch(`${base(url)}/projects/${projectPath(owner, name)}`, { headers: headers(token) });
|
|
28
|
+
if (response.status === 404) {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
if (!response.ok) {
|
|
32
|
+
throw new Error(`GitLab API GET /projects/${owner}/${name}: ${response.status}`);
|
|
33
|
+
}
|
|
34
|
+
const data = parseResponse(projectSchema, await response.json(), "GitLab /projects");
|
|
35
|
+
return { httpUrlToRepo: data.http_url_to_repo, sshUrlToRepo: data.ssh_url_to_repo };
|
|
36
|
+
},
|
|
37
|
+
createProject: async ({ url, token, owner, name, private: isPrivate, ownerIsGroup }) => {
|
|
38
|
+
const body = {
|
|
39
|
+
name,
|
|
40
|
+
path: name,
|
|
41
|
+
visibility: isPrivate ? "private" : "public",
|
|
42
|
+
initialize_with_readme: true,
|
|
43
|
+
};
|
|
44
|
+
if (ownerIsGroup) {
|
|
45
|
+
const ns = await json(`${base(url)}/namespaces/${encodeURIComponent(owner)}`, { headers: headers(token) });
|
|
46
|
+
body["namespace_id"] = parseResponse(namespaceSchema, ns, "GitLab /namespaces").id;
|
|
47
|
+
}
|
|
48
|
+
await json(`${base(url)}/projects`, {
|
|
49
|
+
method: "POST",
|
|
50
|
+
headers: { ...headers(token), "Content-Type": "application/json" },
|
|
51
|
+
body: JSON.stringify(body),
|
|
52
|
+
});
|
|
53
|
+
},
|
|
54
|
+
deleteProject: async ({ url, token, owner, name }) => {
|
|
55
|
+
const response = await fetch(`${base(url)}/projects/${projectPath(owner, name)}`, { method: "DELETE", headers: headers(token) });
|
|
56
|
+
if (response.status === 404) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
if (!response.ok) {
|
|
60
|
+
throw new Error(`GitLab API DELETE /projects/${owner}/${name}: ${response.status}`);
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
readFile: async ({ url, token, owner, name, path, branch }) => {
|
|
64
|
+
const endpoint = `${base(url)}/projects/${projectPath(owner, name)}/repository/files/${encodeURIComponent(path)}?ref=${encodeURIComponent(branch)}`;
|
|
65
|
+
const response = await fetch(endpoint, { headers: headers(token) });
|
|
66
|
+
if (response.status === 404) {
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
if (!response.ok) {
|
|
70
|
+
throw new Error(`GitLab API GET file ${path}: ${response.status}`);
|
|
71
|
+
}
|
|
72
|
+
const data = parseResponse(fileSchema, await response.json(), "GitLab /repository/files");
|
|
73
|
+
return { content: Buffer.from(data.content, "base64").toString("utf-8") };
|
|
74
|
+
},
|
|
75
|
+
commitFile: async ({ url, token, owner, name, path, content, branch, message }) => {
|
|
76
|
+
const exists = (await gitlabApi.readFile({ url, token, owner, name, path, branch })) !== undefined;
|
|
77
|
+
const endpoint = `${base(url)}/projects/${projectPath(owner, name)}/repository/files/${encodeURIComponent(path)}`;
|
|
78
|
+
await json(endpoint, {
|
|
79
|
+
method: exists ? "PUT" : "POST",
|
|
80
|
+
headers: { ...headers(token), "Content-Type": "application/json" },
|
|
81
|
+
body: JSON.stringify({ branch, content: Buffer.from(content).toString("base64"), encoding: "base64", commit_message: message }),
|
|
82
|
+
});
|
|
83
|
+
},
|
|
84
|
+
deleteFile: async ({ url, token, owner, name, path, branch, message }) => {
|
|
85
|
+
const endpoint = `${base(url)}/projects/${projectPath(owner, name)}/repository/files/${encodeURIComponent(path)}`;
|
|
86
|
+
const response = await fetch(endpoint, {
|
|
87
|
+
method: "DELETE",
|
|
88
|
+
headers: { ...headers(token), "Content-Type": "application/json" },
|
|
89
|
+
body: JSON.stringify({ branch, commit_message: message }),
|
|
90
|
+
});
|
|
91
|
+
if (response.status === 404) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
if (!response.ok) {
|
|
95
|
+
throw new Error(`GitLab API DELETE file ${path}: ${response.status}`);
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
setCiVariable: async ({ url, token, owner, name, key, value }) => {
|
|
99
|
+
const varsBase = `${base(url)}/projects/${projectPath(owner, name)}/variables`;
|
|
100
|
+
const probe = await fetch(`${varsBase}/${encodeURIComponent(key)}`, { headers: headers(token) });
|
|
101
|
+
if (!probe.ok && probe.status !== 404) {
|
|
102
|
+
throw new Error(`GitLab API GET variable ${key}: ${probe.status}`);
|
|
103
|
+
}
|
|
104
|
+
const exists = probe.status !== 404;
|
|
105
|
+
await json(exists ? `${varsBase}/${encodeURIComponent(key)}` : varsBase, {
|
|
106
|
+
method: exists ? "PUT" : "POST",
|
|
107
|
+
headers: { ...headers(token), "Content-Type": "application/json" },
|
|
108
|
+
body: JSON.stringify({ key, value, protected: false, masked: false }),
|
|
109
|
+
});
|
|
110
|
+
},
|
|
111
|
+
deleteCiVariable: async ({ url, token, owner, name, key }) => {
|
|
112
|
+
const response = await fetch(`${base(url)}/projects/${projectPath(owner, name)}/variables/${encodeURIComponent(key)}`, {
|
|
113
|
+
method: "DELETE",
|
|
114
|
+
headers: headers(token),
|
|
115
|
+
});
|
|
116
|
+
if (response.status === 404) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (!response.ok) {
|
|
120
|
+
throw new Error(`GitLab API DELETE variable ${key}: ${response.status}`);
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
//# sourceMappingURL=gitlab-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitlab-api.js","sourceRoot":"","sources":["../../src/gitlab/gitlab-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../../src/gitlab/gitlab.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAGjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAcjD,eAAO,MAAM,oBAAoB,GAAI,MAAK,SAAqB,KAAG,QAuBhE,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { parseInputs } from "../core/inputs.js";
|
|
3
|
+
import { gitlabApi } from "./gitlab-api.js";
|
|
4
|
+
const gitlabSchema = z.object({
|
|
5
|
+
token: z.string(),
|
|
6
|
+
url: z.string(),
|
|
7
|
+
owner: z.string().optional(),
|
|
8
|
+
});
|
|
9
|
+
const parse = (inputs) => parseInputs(gitlabSchema, inputs, "gitlab");
|
|
10
|
+
export const createGitLabProvider = (api = gitlabApi) => ({
|
|
11
|
+
read: async (inputs, ctx) => {
|
|
12
|
+
if (typeof inputs["token"] !== "string") {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
const parsed = parse(inputs);
|
|
16
|
+
try {
|
|
17
|
+
const user = await api.getAuthenticatedUser({ url: parsed.url, token: parsed.token });
|
|
18
|
+
return { outputs: { owner: parsed.owner ?? user.username } };
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
ctx.log(`gitlab "${ctx.id}": not reachable yet: ${String(error)}`);
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
diff: () => ({ action: "noop" }),
|
|
26
|
+
apply: async (inputs) => {
|
|
27
|
+
const parsed = parse(inputs);
|
|
28
|
+
const user = await api.getAuthenticatedUser({ url: parsed.url, token: parsed.token });
|
|
29
|
+
return { owner: parsed.owner ?? user.username };
|
|
30
|
+
},
|
|
31
|
+
delete: async () => {
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=gitlab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/gitlab/gitlab.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IAEf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,CAAC,MAAsB,EAAgB,EAAE,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAIpG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAiB,SAAS,EAAY,EAAE,CAAC,CAAC;IAC3E,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QACxB,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACtF,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,GAAG,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,EAAE,yBAAyB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnE,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IACD,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAChC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACtF,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpD,CAAC;IACD,MAAM,EAAE,KAAK,IAAI,EAAE;IAEnB,CAAC;CACJ,CAAC,CAAC"}
|
|
@@ -0,0 +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;AA+FjD,eAAO,MAAM,kBAAkB,GAAI,MAAK,SAAqB,KAAG,QA8D9D,CAAC"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { normalize, starterDockerfile } from "../core/ci-yaml.js";
|
|
3
|
+
import { parseInputs, registryImage } from "../core/inputs.js";
|
|
4
|
+
import { gitlabApi } from "./gitlab-api.js";
|
|
5
|
+
const glCiEnvSchema = z.object({
|
|
6
|
+
name: z.string(),
|
|
7
|
+
branch: z.string(),
|
|
8
|
+
tag: z.string(),
|
|
9
|
+
deploymentId: z.string(),
|
|
10
|
+
port: z.coerce.number(),
|
|
11
|
+
env: z.record(z.string(), z.unknown()).default({}),
|
|
12
|
+
});
|
|
13
|
+
const glCiSchema = z.object({
|
|
14
|
+
url: z.string(),
|
|
15
|
+
owner: z.string(),
|
|
16
|
+
repoName: z.string(),
|
|
17
|
+
token: z.string(),
|
|
18
|
+
registry: z.string(),
|
|
19
|
+
hostAddress: z.string(),
|
|
20
|
+
hostUser: z.string(),
|
|
21
|
+
hostSshKey: z.string(),
|
|
22
|
+
environments: z.array(glCiEnvSchema),
|
|
23
|
+
});
|
|
24
|
+
const parse = (inputs) => parseInputs(glCiSchema, inputs, "gl-ci");
|
|
25
|
+
const CI_FILE_PATH = ".gitlab-ci.yml";
|
|
26
|
+
const DOCKERFILE_PATH = "Dockerfile";
|
|
27
|
+
const VAR_SSH_KEY = "INTENTIC_HOST_SSH_KEY";
|
|
28
|
+
const VAR_HOST_ADDRESS = "INTENTIC_HOST_ADDRESS";
|
|
29
|
+
const VAR_HOST_USER = "INTENTIC_HOST_USER";
|
|
30
|
+
const shellQuote = (value) => `'${value.replace(/'/g, "'\\''")}'`;
|
|
31
|
+
const scriptLine = (command) => ` - ${JSON.stringify(command)}`;
|
|
32
|
+
const jobYaml = (parsed, environment) => {
|
|
33
|
+
const image = registryImage({ registry: parsed.registry, owner: parsed.owner, repoName: parsed.repoName, tag: environment.tag });
|
|
34
|
+
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
|
+
return [
|
|
46
|
+
`deploy-${environment.name}:`,
|
|
47
|
+
" stage: deploy",
|
|
48
|
+
" image: docker:27",
|
|
49
|
+
" services:",
|
|
50
|
+
" - docker:27-dind",
|
|
51
|
+
" rules:",
|
|
52
|
+
` - if: '$CI_COMMIT_BRANCH == "${environment.branch}"'`,
|
|
53
|
+
" before_script:",
|
|
54
|
+
scriptLine('docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"'),
|
|
55
|
+
scriptLine("apk add --no-cache openssh-client"),
|
|
56
|
+
" script:",
|
|
57
|
+
scriptLine(`docker build -t ${image} -t ${shaImage} .`),
|
|
58
|
+
scriptLine(`docker push ${image}`),
|
|
59
|
+
scriptLine(`docker push ${shaImage}`),
|
|
60
|
+
scriptLine('mkdir -p ~/.ssh && printf \'%s\\n\' "$INTENTIC_HOST_SSH_KEY" > ~/.ssh/id_rsa && chmod 600 ~/.ssh/id_rsa'),
|
|
61
|
+
scriptLine(`ssh -o StrictHostKeyChecking=no -i ~/.ssh/id_rsa "$INTENTIC_HOST_USER@$INTENTIC_HOST_ADDRESS" ${shellQuote(remote)}`),
|
|
62
|
+
].join("\n");
|
|
63
|
+
};
|
|
64
|
+
const gitlabCiYaml = (parsed) => [
|
|
65
|
+
"# Generated by intentic: build → push to the GitLab Container Registry → deploy via SSH.",
|
|
66
|
+
"stages:",
|
|
67
|
+
" - deploy",
|
|
68
|
+
"",
|
|
69
|
+
...parsed.environments.map((environment) => jobYaml(parsed, environment)),
|
|
70
|
+
"",
|
|
71
|
+
].join("\n");
|
|
72
|
+
export const createGlCiProvider = (api = gitlabApi) => ({
|
|
73
|
+
read: async (inputs, ctx) => {
|
|
74
|
+
if (typeof inputs["token"] !== "string" || typeof inputs["owner"] !== "string") {
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
const parsed = parse(inputs);
|
|
78
|
+
try {
|
|
79
|
+
const file = await api.readFile({
|
|
80
|
+
url: parsed.url,
|
|
81
|
+
token: parsed.token,
|
|
82
|
+
owner: parsed.owner,
|
|
83
|
+
name: parsed.repoName,
|
|
84
|
+
path: CI_FILE_PATH,
|
|
85
|
+
branch: parsed.environments[0]?.branch ?? "main",
|
|
86
|
+
});
|
|
87
|
+
if (file === undefined) {
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
return { outputs: {}, detail: { ci: file.content } };
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
ctx.log(`gl-ci "${ctx.id}": GitLab not reachable yet: ${String(error)}`);
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
diff: (inputs, observed) => {
|
|
98
|
+
const ci = observed.detail?.["ci"];
|
|
99
|
+
if (typeof ci !== "string" || normalize(ci) !== normalize(gitlabCiYaml(parse(inputs)))) {
|
|
100
|
+
return { action: "update", reason: ".gitlab-ci.yml differs from desired" };
|
|
101
|
+
}
|
|
102
|
+
return { action: "noop" };
|
|
103
|
+
},
|
|
104
|
+
apply: async (inputs) => {
|
|
105
|
+
const parsed = parse(inputs);
|
|
106
|
+
const common = { url: parsed.url, token: parsed.token, owner: parsed.owner, name: parsed.repoName };
|
|
107
|
+
const branch = parsed.environments[0]?.branch ?? "main";
|
|
108
|
+
await api.setCiVariable({ ...common, key: VAR_SSH_KEY, value: parsed.hostSshKey });
|
|
109
|
+
await api.setCiVariable({ ...common, key: VAR_HOST_ADDRESS, value: parsed.hostAddress });
|
|
110
|
+
await api.setCiVariable({ ...common, key: VAR_HOST_USER, value: parsed.hostUser });
|
|
111
|
+
const dockerfile = await api.readFile({ ...common, path: DOCKERFILE_PATH, branch });
|
|
112
|
+
if (dockerfile === undefined) {
|
|
113
|
+
await api.commitFile({ ...common, path: DOCKERFILE_PATH, content: starterDockerfile(), branch, message: "intentic: starter Dockerfile" });
|
|
114
|
+
}
|
|
115
|
+
await api.commitFile({ ...common, path: CI_FILE_PATH, content: gitlabCiYaml(parsed), branch, message: "intentic: GitLab CI pipeline" });
|
|
116
|
+
return {};
|
|
117
|
+
},
|
|
118
|
+
delete: async (inputs) => {
|
|
119
|
+
if (typeof inputs["token"] !== "string" || typeof inputs["owner"] !== "string") {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
const parsed = parse(inputs);
|
|
123
|
+
const common = { url: parsed.url, token: parsed.token, owner: parsed.owner, name: parsed.repoName };
|
|
124
|
+
await api.deleteFile({ ...common, path: CI_FILE_PATH, branch: parsed.environments[0]?.branch ?? "main", message: "intentic: remove CI pipeline" });
|
|
125
|
+
await api.deleteCiVariable({ ...common, key: VAR_SSH_KEY });
|
|
126
|
+
await api.deleteCiVariable({ ...common, key: VAR_HOST_ADDRESS });
|
|
127
|
+
await api.deleteCiVariable({ ...common, key: VAR_HOST_USER });
|
|
128
|
+
},
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=gl-ci.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gl-ci.js","sourceRoot":"","sources":["../../src/gitlab/gl-ci.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gl-deployment.d.ts","sourceRoot":"","sources":["../../src/gitlab/gl-deployment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AA8BlD,eAAO,MAAM,0BAA0B,GAAI,MAAK,WAAyB,KAAG,QAmE1E,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { parseInputs, registryImage, sshSchema, sshTarget } from "../core/inputs.js";
|
|
3
|
+
import { sshExecutor } from "../core/ssh.js";
|
|
4
|
+
const glDeploymentSchema = z
|
|
5
|
+
.object({
|
|
6
|
+
owner: z.string(),
|
|
7
|
+
repoName: z.string(),
|
|
8
|
+
tag: z.string(),
|
|
9
|
+
registry: z.string(),
|
|
10
|
+
domain: z.string(),
|
|
11
|
+
internalIp: z.string(),
|
|
12
|
+
port: z.coerce.number(),
|
|
13
|
+
env: z.record(z.string(), z.unknown()).default({}),
|
|
14
|
+
})
|
|
15
|
+
.merge(sshSchema);
|
|
16
|
+
const parse = (inputs) => parseInputs(glDeploymentSchema, inputs, "gl-deployment");
|
|
17
|
+
const containerName = (ctx) => ctx.id;
|
|
18
|
+
const glImage = (parsed) => registryImage({ registry: parsed.registry, owner: parsed.owner, repoName: parsed.repoName, tag: parsed.tag });
|
|
19
|
+
const outputsFor = (parsed) => ({
|
|
20
|
+
url: `https://${parsed.domain}`,
|
|
21
|
+
internalUrl: `http://${parsed.internalIp}:${parsed.port}`,
|
|
22
|
+
});
|
|
23
|
+
export const createGlDeploymentProvider = (ssh = sshExecutor) => ({
|
|
24
|
+
read: async (inputs, ctx) => {
|
|
25
|
+
if (typeof inputs["address"] !== "string") {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
const parsed = parse(inputs);
|
|
29
|
+
const name = containerName(ctx);
|
|
30
|
+
try {
|
|
31
|
+
const session = await ssh.connect(sshTarget(parsed));
|
|
32
|
+
try {
|
|
33
|
+
const result = await session.exec(`docker inspect --format '{{.State.Running}}' ${name} 2>/dev/null || echo "not-found"`);
|
|
34
|
+
const output = result.stdout.trim();
|
|
35
|
+
if (output === "not-found" || output === "") {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
return { outputs: outputsFor(parsed), detail: { running: output === "true" } };
|
|
39
|
+
}
|
|
40
|
+
finally {
|
|
41
|
+
await session.dispose();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
ctx.log(`gl-deployment "${ctx.id}": host not reachable yet: ${String(error)}`);
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
diff: (inputs, observed) => {
|
|
50
|
+
if (observed.detail?.["running"] !== true) {
|
|
51
|
+
return { action: "update", reason: "container is not running" };
|
|
52
|
+
}
|
|
53
|
+
return { action: "noop" };
|
|
54
|
+
},
|
|
55
|
+
apply: async (inputs, _observed, ctx) => {
|
|
56
|
+
const parsed = parse(inputs);
|
|
57
|
+
const name = containerName(ctx);
|
|
58
|
+
const img = glImage(parsed);
|
|
59
|
+
const envFlags = Object.entries(parsed.env)
|
|
60
|
+
.map(([key, value]) => `-e ${key}='${String(value)}'`)
|
|
61
|
+
.join(" ");
|
|
62
|
+
const envStr = envFlags.length > 0 ? ` ${envFlags}` : "";
|
|
63
|
+
const script = [
|
|
64
|
+
`docker pull ${img}`,
|
|
65
|
+
`docker stop ${name} 2>/dev/null || true`,
|
|
66
|
+
`docker rm ${name} 2>/dev/null || true`,
|
|
67
|
+
`docker run -d --name ${name} --restart unless-stopped -p ${parsed.port}:${parsed.port}${envStr} ${img}`,
|
|
68
|
+
].join(" && ");
|
|
69
|
+
const session = await ssh.connect(sshTarget(parsed));
|
|
70
|
+
try {
|
|
71
|
+
await session.exec(script);
|
|
72
|
+
}
|
|
73
|
+
finally {
|
|
74
|
+
await session.dispose();
|
|
75
|
+
}
|
|
76
|
+
return outputsFor(parsed);
|
|
77
|
+
},
|
|
78
|
+
delete: async (inputs, ctx) => {
|
|
79
|
+
if (typeof inputs["address"] !== "string") {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const parsed = parse(inputs);
|
|
83
|
+
const name = containerName(ctx);
|
|
84
|
+
const session = await ssh.connect(sshTarget(parsed));
|
|
85
|
+
try {
|
|
86
|
+
await session.exec(`docker stop ${name} 2>/dev/null || true && docker rm ${name} 2>/dev/null || true`);
|
|
87
|
+
}
|
|
88
|
+
finally {
|
|
89
|
+
await session.dispose();
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
//# sourceMappingURL=gl-deployment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gl-deployment.js","sourceRoot":"","sources":["../../src/gitlab/gl-deployment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAErF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,kBAAkB,GAAG,CAAC;KACvB,MAAM,CAAC;IACJ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;IACvB,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACrD,CAAC;KACD,KAAK,CAAC,SAAS,CAAC,CAAC;AAEtB,MAAM,KAAK,GAAG,CAAC,MAAsB,EAAsB,EAAE,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;AAEvH,MAAM,aAAa,GAAG,CAAC,GAAmB,EAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;AAC9D,MAAM,OAAO,GAAG,CAAC,MAA0B,EAAU,EAAE,CACnD,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;AAElH,MAAM,UAAU,GAAG,CAAC,MAA0B,EAA2B,EAAE,CAAC,CAAC;IACzE,GAAG,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE;IAC/B,WAAW,EAAE,UAAU,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,EAAE;CAC5D,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAmB,WAAW,EAAY,EAAE,CAAC,CAAC;IACrF,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QACxB,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,gDAAgD,IAAI,kCAAkC,CAAC,CAAC;gBAC1H,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpC,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;oBAC1C,OAAO,SAAS,CAAC;gBACrB,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE,EAAE,CAAC;YACnF,CAAC;oBAAS,CAAC;gBACP,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YAC5B,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,GAAG,CAAC,GAAG,CAAC,kBAAkB,GAAG,CAAC,EAAE,8BAA8B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/E,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IACD,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;QACvB,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YACxC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC;QACpE,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IACD,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;aACrD,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzD,MAAM,MAAM,GAAG;YACX,eAAe,GAAG,EAAE;YACpB,eAAe,IAAI,sBAAsB;YACzC,aAAa,IAAI,sBAAsB;YACvC,wBAAwB,IAAI,gCAAgC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,IAAI,GAAG,EAAE;SAC3G,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEf,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC;YACD,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;gBAAS,CAAC;YACP,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC1B,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO;QACX,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC;YACD,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,IAAI,qCAAqC,IAAI,sBAAsB,CAAC,CAAC;QAC3G,CAAC;gBAAS,CAAC;YACP,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC;CACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gl-repo.d.ts","sourceRoot":"","sources":["../../src/gitlab/gl-repo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAGjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAwBjD,eAAO,MAAM,oBAAoB,GAAI,MAAK,SAAqB,KAAG,QA0ChE,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { parseInputs } from "../core/inputs.js";
|
|
3
|
+
import { gitlabApi } from "./gitlab-api.js";
|
|
4
|
+
const glRepoSchema = z.object({
|
|
5
|
+
name: z.string(),
|
|
6
|
+
owner: z.string(),
|
|
7
|
+
private: z.boolean(),
|
|
8
|
+
url: z.string(),
|
|
9
|
+
token: z.string(),
|
|
10
|
+
});
|
|
11
|
+
const parse = (inputs) => parseInputs(glRepoSchema, inputs, "gl-repo");
|
|
12
|
+
const hostOf = (url) => url.replace(/^https?:\/\//, "").replace(/\/+$/, "");
|
|
13
|
+
const outputsFor = (parsed) => ({
|
|
14
|
+
cloneUrl: `https://${hostOf(parsed.url)}/${parsed.owner}/${parsed.name}.git`,
|
|
15
|
+
sshUrl: `git@${hostOf(parsed.url)}:${parsed.owner}/${parsed.name}.git`,
|
|
16
|
+
});
|
|
17
|
+
export const createGlRepoProvider = (api = gitlabApi) => ({
|
|
18
|
+
read: async (inputs, ctx) => {
|
|
19
|
+
if (typeof inputs["token"] !== "string" || typeof inputs["owner"] !== "string") {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
const parsed = parse(inputs);
|
|
23
|
+
try {
|
|
24
|
+
const project = await api.findProject({ url: parsed.url, token: parsed.token, owner: parsed.owner, name: parsed.name });
|
|
25
|
+
if (project === undefined) {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
return { outputs: outputsFor(parsed) };
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
ctx.log(`gl-repo "${ctx.id}": GitLab not reachable yet: ${String(error)}`);
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
diff: () => ({ action: "noop" }),
|
|
36
|
+
apply: async (inputs) => {
|
|
37
|
+
const parsed = parse(inputs);
|
|
38
|
+
const existing = await api.findProject({ url: parsed.url, token: parsed.token, owner: parsed.owner, name: parsed.name });
|
|
39
|
+
if (existing === undefined) {
|
|
40
|
+
const user = await api.getAuthenticatedUser({ url: parsed.url, token: parsed.token });
|
|
41
|
+
const ownerIsGroup = parsed.owner !== user.username;
|
|
42
|
+
await api.createProject({
|
|
43
|
+
url: parsed.url,
|
|
44
|
+
token: parsed.token,
|
|
45
|
+
owner: parsed.owner,
|
|
46
|
+
name: parsed.name,
|
|
47
|
+
private: parsed.private,
|
|
48
|
+
ownerIsGroup,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return outputsFor(parsed);
|
|
52
|
+
},
|
|
53
|
+
delete: async (inputs) => {
|
|
54
|
+
if (typeof inputs["token"] !== "string" || typeof inputs["owner"] !== "string") {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const parsed = parse(inputs);
|
|
58
|
+
await api.deleteProject({ url: parsed.url, token: parsed.token, owner: parsed.owner, name: parsed.name });
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=gl-repo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gl-repo.js","sourceRoot":"","sources":["../../src/gitlab/gl-repo.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -24,6 +24,12 @@ export { createGhRepoProvider } from "./github/gh-repo.js";
|
|
|
24
24
|
export { createGitHubProvider } from "./github/github.js";
|
|
25
25
|
export type { GitHubApi } from "./github/github-api.js";
|
|
26
26
|
export { githubApi } from "./github/github-api.js";
|
|
27
|
+
export { createGlCiProvider } from "./gitlab/gl-ci.js";
|
|
28
|
+
export { createGlDeploymentProvider } from "./gitlab/gl-deployment.js";
|
|
29
|
+
export { createGlRepoProvider } from "./gitlab/gl-repo.js";
|
|
30
|
+
export { createGitLabProvider } from "./gitlab/gitlab.js";
|
|
31
|
+
export type { GitLabApi } from "./gitlab/gitlab-api.js";
|
|
32
|
+
export { gitlabApi } from "./gitlab/gitlab-api.js";
|
|
27
33
|
export { createHostProvider } from "./host/host.js";
|
|
28
34
|
export { createDiscordProvider } from "./integrations/discord.js";
|
|
29
35
|
export type { DiscordApi, DiscordChannel, DiscordGuild, DiscordWebhook } from "./integrations/discord-api.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -21,6 +21,11 @@ export { createGhDeploymentProvider } from "./github/gh-deployment.js";
|
|
|
21
21
|
export { createGhRepoProvider } from "./github/gh-repo.js";
|
|
22
22
|
export { createGitHubProvider } from "./github/github.js";
|
|
23
23
|
export { githubApi } from "./github/github-api.js";
|
|
24
|
+
export { createGlCiProvider } from "./gitlab/gl-ci.js";
|
|
25
|
+
export { createGlDeploymentProvider } from "./gitlab/gl-deployment.js";
|
|
26
|
+
export { createGlRepoProvider } from "./gitlab/gl-repo.js";
|
|
27
|
+
export { createGitLabProvider } from "./gitlab/gitlab.js";
|
|
28
|
+
export { gitlabApi } from "./gitlab/gitlab-api.js";
|
|
24
29
|
export { createHostProvider } from "./host/host.js";
|
|
25
30
|
export { createDiscordProvider } from "./integrations/discord.js";
|
|
26
31
|
export { discordApi } from "./integrations/discord-api.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAqB,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAuC,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChG,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACzG,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAsC,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAqB,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAuC,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChG,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACzG,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAsC,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/providers.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { AuthentikApi } from "./auth/authentik-api.js";
|
|
|
3
3
|
import type { SshExecutor } from "./core/ssh.js";
|
|
4
4
|
import type { ForgejoApi } from "./forgejo/forgejo-api.js";
|
|
5
5
|
import type { GitHubApi } from "./github/github-api.js";
|
|
6
|
+
import type { GitLabApi } from "./gitlab/gitlab-api.js";
|
|
6
7
|
import type { DiscordApi } from "./integrations/discord-api.js";
|
|
7
8
|
import type { StripeApi } from "./integrations/stripe-api.js";
|
|
8
9
|
import type { KomodoApi } from "./komodo/komodo-api.js";
|
|
@@ -14,6 +15,7 @@ export interface ProviderDeps {
|
|
|
14
15
|
readonly forgejo?: ForgejoApi;
|
|
15
16
|
readonly komodo?: KomodoApi;
|
|
16
17
|
readonly github?: GitHubApi;
|
|
18
|
+
readonly gitlab?: GitLabApi;
|
|
17
19
|
readonly discord?: DiscordApi;
|
|
18
20
|
readonly stripe?: StripeApi;
|
|
19
21
|
readonly authentik?: AuthentikApi;
|
package/dist/providers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAI5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAUjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAY3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAKxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAI9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAMxD,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAajE,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;IAGlC,QAAQ,CAAC,cAAc,CAAC,EAAE,kBAAkB,CAAC;CAChD;AAID,eAAO,MAAM,eAAe,GAAI,OAAM,YAAiB,KAAG,
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAI5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAUjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAY3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAMxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAKxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAI9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAMxD,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAajE,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;IAGlC,QAAQ,CAAC,cAAc,CAAC,EAAE,kBAAkB,CAAC;CAChD;AAID,eAAO,MAAM,eAAe,GAAI,OAAM,YAAiB,KAAG,SAuDzD,CAAC"}
|
package/dist/providers.js
CHANGED
|
@@ -23,6 +23,11 @@ import { createGhDeploymentProvider } from "./github/gh-deployment.js";
|
|
|
23
23
|
import { createGhRepoProvider } from "./github/gh-repo.js";
|
|
24
24
|
import { createGitHubProvider } from "./github/github.js";
|
|
25
25
|
import { githubApi } from "./github/github-api.js";
|
|
26
|
+
import { createGlCiProvider } from "./gitlab/gl-ci.js";
|
|
27
|
+
import { createGlDeploymentProvider } from "./gitlab/gl-deployment.js";
|
|
28
|
+
import { createGlRepoProvider } from "./gitlab/gl-repo.js";
|
|
29
|
+
import { createGitLabProvider } from "./gitlab/gitlab.js";
|
|
30
|
+
import { gitlabApi } from "./gitlab/gitlab-api.js";
|
|
26
31
|
import { createHostProvider } from "./host/host.js";
|
|
27
32
|
import { createWorkspaceProvider } from "./host/workspace.js";
|
|
28
33
|
import { createDiscordProvider } from "./integrations/discord.js";
|
|
@@ -52,6 +57,7 @@ export const createProviders = (deps = {}) => {
|
|
|
52
57
|
const forgejo = deps.forgejo ?? forgejoApi;
|
|
53
58
|
const komodo = deps.komodo ?? komodoApi;
|
|
54
59
|
const github = deps.github ?? githubApi;
|
|
60
|
+
const gitlab = deps.gitlab ?? gitlabApi;
|
|
55
61
|
const discord = deps.discord ?? discordApi;
|
|
56
62
|
const stripe = deps.stripe ?? stripeApi;
|
|
57
63
|
return {
|
|
@@ -92,6 +98,10 @@ export const createProviders = (deps = {}) => {
|
|
|
92
98
|
"gh-repo": createGhRepoProvider(github),
|
|
93
99
|
"gh-ci": createGhCiProvider(github),
|
|
94
100
|
"gh-deployment": createGhDeploymentProvider(ssh),
|
|
101
|
+
gitlab: createGitLabProvider(gitlab),
|
|
102
|
+
"gl-repo": createGlRepoProvider(gitlab),
|
|
103
|
+
"gl-ci": createGlCiProvider(gitlab),
|
|
104
|
+
"gl-deployment": createGlDeploymentProvider(ssh),
|
|
95
105
|
discord: createDiscordProvider(discord),
|
|
96
106
|
stripe: createStripeProvider(stripe),
|
|
97
107
|
workspace: createWorkspaceProvider(ssh),
|
package/dist/providers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentic/providers",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.65.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -34,15 +34,15 @@
|
|
|
34
34
|
"ssh2": "1.17.0",
|
|
35
35
|
"tslib": "2.8.1",
|
|
36
36
|
"zod": "4.4.3",
|
|
37
|
-
"@intentic/engine": "1.
|
|
38
|
-
"@intentic/graph": "1.
|
|
37
|
+
"@intentic/engine": "1.65.0",
|
|
38
|
+
"@intentic/graph": "1.65.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/node": "24.13.2",
|
|
42
42
|
"@types/ssh2": "1.15.5",
|
|
43
43
|
"typescript": "5.9.3",
|
|
44
44
|
"vitest": "4.1.9",
|
|
45
|
-
"@intentic/sdk": "1.
|
|
45
|
+
"@intentic/sdk": "1.65.0",
|
|
46
46
|
"@intentic/tsconfig": "0.0.0"
|
|
47
47
|
},
|
|
48
48
|
"scripts": {
|