@catladder/cli 1.15.0 → 1.15.1

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.
@@ -1,8 +1,4 @@
1
1
  "use strict";
2
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
- return cooked;
5
- };
6
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
8
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -39,209 +35,19 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
39
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
40
36
  }
41
37
  };
42
- var __importDefault = (this && this.__importDefault) || function (mod) {
43
- return (mod && mod.__esModule) ? mod : { "default": mod };
44
- };
45
38
  exports.__esModule = true;
46
- var pipeline_1 = require("@catladder/pipeline");
47
- var zx_1 = require("zx");
48
- var getProjectConfig_1 = require("../../../../config/getProjectConfig");
49
- var cluster_1 = require("../../../../utils/cluster");
50
- var gitlab_1 = require("../../../../utils/gitlab");
51
- var ensureNamespace_1 = __importDefault(require("./utils/ensureNamespace"));
52
- var open_1 = __importDefault(require("open"));
53
- var commandConfigSecrets_1 = require("./commandConfigSecrets");
39
+ var setup_1 = require("./setup");
54
40
  exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void 0, function () {
55
41
  return __generator(this, function (_a) {
56
42
  return [2 /*return*/, vorpal
57
43
  .command("project-setup", "Initializes all environments and creates requires resources, service accounts, etc.")
58
44
  .action(function () {
59
45
  return __awaiter(this, void 0, void 0, function () {
60
- var allContext, _i, allContext_1, context, deployConfig, fullName, namespace, serviceAccountName, KUBE_URL, e_1, tokenName, KUBE_CA_PEM, KUBE_TOKEN, vars, _a, projectId, projectWebUrl, variables, understood, GL_TOKEN, deploy_tokens, configSecrets;
61
- var _this = this;
62
- return __generator(this, function (_b) {
63
- switch (_b.label) {
64
- case 0: return [4 /*yield*/, (0, getProjectConfig_1.getAllPipelineContexts)()];
46
+ return __generator(this, function (_a) {
47
+ switch (_a.label) {
48
+ case 0: return [4 /*yield*/, (0, setup_1.setupProject)(this)];
65
49
  case 1:
66
- allContext = _b.sent();
67
- _i = 0, allContext_1 = allContext;
68
- _b.label = 2;
69
- case 2:
70
- if (!(_i < allContext_1.length)) return [3 /*break*/, 20];
71
- context = allContext_1[_i];
72
- this.log("");
73
- this.log("==================================================================================");
74
- this.log("setting up " +
75
- context.environment.shortName +
76
- ":" +
77
- context.componentName +
78
- "...");
79
- this.log("");
80
- deployConfig = context.componentConfig.deploy;
81
- if (!(0, pipeline_1.isOfDeployType)(deployConfig, "kubernetes")) return [3 /*break*/, 18];
82
- fullName = (0, pipeline_1.getFullKubernetesClusterName)(deployConfig.cluster);
83
- this.log("cluster: ".concat(fullName));
84
- return [4 /*yield*/, (0, cluster_1.connectToCluster)(fullName)];
85
- case 3:
86
- _b.sent();
87
- this.log("");
88
- this.log("ensuring namespace ...");
89
- return [4 /*yield*/, (0, ensureNamespace_1["default"])(context)];
90
- case 4:
91
- namespace = _b.sent();
92
- this.log("Namespace " + namespace + " created / updated!");
93
- this.log("");
94
- //$.verbose = true;
95
- // we name the service account and the role and the role binding with the same name
96
- // we currently create one per component to better separate them
97
- this.log("ensuring service accounts...");
98
- serviceAccountName = "cl-".concat(context.componentName, "-deploy");
99
- return [4 /*yield*/, (0, zx_1.$)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["TERM=dumb kubectl cluster-info | grep -E 'Kubernetes master|Kubernetes control plane' | awk '/http/ {print $NF}'"], ["TERM=dumb kubectl cluster-info | grep -E 'Kubernetes master|Kubernetes control plane' | awk '/http/ {print $NF}'"]))).then(function (s) { return s.stdout.trim(); })];
100
- case 5:
101
- KUBE_URL = _b.sent();
102
- _b.label = 6;
103
- case 6:
104
- _b.trys.push([6, 10, , 11]);
105
- return [4 /*yield*/, (0, zx_1.$)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["kubectl delete serviceaccount --namespace ", " ", ""], ["kubectl delete serviceaccount --namespace ", " ", ""])), namespace, serviceAccountName)];
106
- case 7:
107
- _b.sent();
108
- return [4 /*yield*/, (0, zx_1.$)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["kubectl delete rolebinding --namespace ", " ", ""], ["kubectl delete rolebinding --namespace ", " ", ""])), namespace, serviceAccountName)];
109
- case 8:
110
- _b.sent();
111
- return [4 /*yield*/, (0, zx_1.$)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["kubectl delete role --namespace ", " ", ""], ["kubectl delete role --namespace ", " ", ""])), namespace, serviceAccountName)];
112
- case 9:
113
- _b.sent();
114
- return [3 /*break*/, 11];
115
- case 10:
116
- e_1 = _b.sent();
117
- return [3 /*break*/, 11];
118
- case 11: return [4 /*yield*/, (0, zx_1.$)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["kubectl create serviceaccount --namespace ", " ", ""], ["kubectl create serviceaccount --namespace ", " ", ""])), namespace, serviceAccountName)];
119
- case 12:
120
- _b.sent();
121
- // upsert role in the ns
122
- return [4 /*yield*/, (0, zx_1.$)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["cat <<EOF | kubectl apply -f -\nkind: Role\napiVersion: rbac.authorization.k8s.io/v1\nmetadata:\n namespace: ", "\n name: ", "\nrules:\n- apiGroups: [\"\", \"extensions\", \"apps\", \"networking.k8s.io\", \"batch\"]\n resources: [\"deployments\", \"replicasets\", \"statefulsets\", \"pods\", \"secrets\", \"configmaps\", \"services\", \"ingresses\", \"serviceaccounts\", \"jobs\", \"cronjobs\"]\n verbs: [\"get\", \"list\", \"watch\", \"create\", \"update\", \"patch\", \"delete\"] # You can also use [\"*\"]\n---\nkind: RoleBinding\napiVersion: rbac.authorization.k8s.io/v1\nmetadata:\n name: ", "\n namespace: ", "\nsubjects:\n - kind: ServiceAccount\n name: ", "\n namespace: ", "\nroleRef:\n kind: Role\n name: ", "\n apiGroup: rbac.authorization.k8s.io\nEOF\n "], ["cat <<EOF | kubectl apply -f -\nkind: Role\napiVersion: rbac.authorization.k8s.io/v1\nmetadata:\n namespace: ", "\n name: ", "\nrules:\n- apiGroups: [\"\", \"extensions\", \"apps\", \"networking.k8s.io\", \"batch\"]\n resources: [\"deployments\", \"replicasets\", \"statefulsets\", \"pods\", \"secrets\", \"configmaps\", \"services\", \"ingresses\", \"serviceaccounts\", \"jobs\", \"cronjobs\"]\n verbs: [\"get\", \"list\", \"watch\", \"create\", \"update\", \"patch\", \"delete\"] # You can also use [\"*\"]\n---\nkind: RoleBinding\napiVersion: rbac.authorization.k8s.io/v1\nmetadata:\n name: ", "\n namespace: ", "\nsubjects:\n - kind: ServiceAccount\n name: ", "\n namespace: ", "\nroleRef:\n kind: Role\n name: ", "\n apiGroup: rbac.authorization.k8s.io\nEOF\n "])), namespace, serviceAccountName, serviceAccountName, namespace, serviceAccountName, namespace, serviceAccountName)];
123
- case 13:
124
- // upsert role in the ns
125
- _b.sent();
126
- return [4 /*yield*/, (0, zx_1.$)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["kubectl get serviceaccount --namespace ", " ", " -o jsonpath='{.secrets[0].name}'"], ["kubectl get serviceaccount --namespace ", " ", " -o jsonpath='{.secrets[0].name}'"])), namespace, serviceAccountName)];
127
- case 14:
128
- tokenName = _b.sent();
129
- return [4 /*yield*/, (0, zx_1.$)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["kubectl get secret ", " --namespace ", " -o jsonpath=\"{['data']['ca\\.crt']}\""], ["kubectl get secret ", " --namespace ", " -o jsonpath=\"{['data']['ca\\\\.crt']}\""])), tokenName, namespace).then(function (c) { return c.stdout.trim(); })];
130
- case 15:
131
- KUBE_CA_PEM = _b.sent();
132
- return [4 /*yield*/, (0, zx_1.$)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["kubectl get secret ", " --namespace ", " -o jsonpath=\"{['data']['token']}\" | base64 --decode"], ["kubectl get secret ", " --namespace ", " -o jsonpath=\"{['data']['token']}\" | base64 --decode"])), tokenName, namespace).then(function (c) { return c.stdout.trim(); })];
133
- case 16:
134
- KUBE_TOKEN = _b.sent();
135
- vars = {
136
- KUBE_TOKEN: KUBE_TOKEN,
137
- KUBE_CA_PEM: KUBE_CA_PEM,
138
- KUBE_URL: KUBE_URL
139
- };
140
- this.log("service accounts created / updated!");
141
- this.log("");
142
- this.log("pusing secrets to gitlab...");
143
- return [4 /*yield*/, (0, gitlab_1.upsertAllVariables)(this, vars, context.environment.shortName, context.componentName)];
144
- case 17:
145
- _b.sent();
146
- this.log("done!");
147
- _b.label = 18;
148
- case 18:
149
- this.log("");
150
- this.log("✅ " +
151
- context.environment.shortName +
152
- ":" +
153
- context.componentName +
154
- " done!");
155
- this.log("");
156
- _b.label = 19;
157
- case 19:
158
- _i++;
159
- return [3 /*break*/, 2];
160
- case 20: return [4 /*yield*/, (0, gitlab_1.getProjectInfo)(this)];
161
- case 21:
162
- _a = _b.sent(), projectId = _a.id, projectWebUrl = _a.web_url;
163
- return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(this, "projects/".concat(projectId, "/variables"))];
164
- case 22:
165
- variables = _b.sent();
166
- if (!!variables.find(function (v) { return v.key === "GL_TOKEN"; })) return [3 /*break*/, 26];
167
- this.log("I need add a GL_TOKEN to the project, so that semantic release will work\n");
168
- this.log("👉 Please please create a project access token in gitlab and copy its value into clipboard\n\n - name: something like 'semantic-release'\n - expires: leave empty\n - scopes: api, read_repository");
169
- this.log("\n");
170
- return [4 /*yield*/, this.prompt({
171
- "default": true,
172
- message: "Understood and open gitlab now? 🤔",
173
- name: "understood",
174
- type: "confirm"
175
- })];
176
- case 23:
177
- understood = (_b.sent()).understood;
178
- if (!understood) {
179
- this.log("continuing anyway...");
180
- }
181
- (0, open_1["default"])("".concat(projectWebUrl, "/-/settings/access_tokens"));
182
- this.log("\n");
183
- this.log("Enter your copied token now: ");
184
- this.log("\n");
185
- return [4 /*yield*/, this.prompt({
186
- type: "password",
187
- name: "GL_TOKEN",
188
- message: "Access Token: "
189
- })];
190
- case 24:
191
- GL_TOKEN = (_b.sent()).GL_TOKEN;
192
- return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(this, "projects/".concat(projectId, "/variables"), {
193
- key: "GL_TOKEN",
194
- value: GL_TOKEN
195
- })];
196
- case 25:
197
- _b.sent();
198
- _b.label = 26;
199
- case 26: return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(this, "projects/".concat(projectId, "/deploy_tokens"))];
200
- case 27:
201
- deploy_tokens = _b.sent();
202
- if (!!deploy_tokens.find(function (v) { return v.name === "gitlab-deploy-token"; })) return [3 /*break*/, 29];
203
- this.log("I will setup the 'GitLab Deploy Token', so Kubernetes can pull images from this project.");
204
- return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(this, "projects/".concat(projectId, "/deploy_tokens"), {
205
- id: projectId,
206
- name: "gitlab-deploy-token",
207
- scopes: ["read_registry"]
208
- })];
209
- case 28:
210
- _b.sent();
211
- _b.label = 29;
212
- case 29:
213
- this.log();
214
- return [4 /*yield*/, this.prompt({
215
- "default": true,
216
- message: "Before deployments work, you need to config secrets. Do it now?",
217
- name: "configSecrets",
218
- type: "confirm"
219
- })];
220
- case 30:
221
- configSecrets = (_b.sent()).configSecrets;
222
- this.log();
223
- if (!configSecrets) return [3 /*break*/, 32];
224
- return [4 /*yield*/, (0, commandConfigSecrets_1.projectConfigSecrets)(this)];
225
- case 31:
226
- _b.sent();
227
- return [3 /*break*/, 33];
228
- case 32:
229
- this.log("👆 don't forget to config secret using `project-config-secrets`");
230
- _b.label = 33;
231
- case 33:
232
- this.log();
233
- this.log("gitlab is ready! 🥂");
234
- this.log("\n");
235
- this.log("do not forget to make sure that:");
236
- [
237
- "you have __health route in place",
238
- "lint and test are defined",
239
- "secrets are configured (call project-config-secret)",
240
- "eat your vegetables",
241
- "be awesome 🤩",
242
- ].forEach(function (tip) { return _this.log(" - ".concat(tip)); });
243
- this.log("\n");
244
- this.log("\n");
50
+ _a.sent();
245
51
  return [2 /*return*/];
246
52
  }
247
53
  });
@@ -249,5 +55,4 @@ exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void
249
55
  })];
250
56
  });
251
57
  }); });
252
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9;
253
58
  //# sourceMappingURL=commandSetup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commandSetup.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/project/commandSetup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commandSetup.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/project/commandSetup.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iCAAuC;AAEvC,sBAAe,UAAO,MAAc;;QAClC,sBAAA,MAAM;iBACH,OAAO,CACN,eAAe,EACf,qFAAqF,CACtF;iBACA,MAAM,CAAC;;;;oCACN,qBAAM,IAAA,oBAAY,EAAC,IAAI,CAAC,EAAA;;gCAAxB,SAAwB,CAAC;;;;;aAC1B,CAAC,EAAA;;KAAA,EAAC"}
@@ -0,0 +1,2 @@
1
+ import { CommandInstance } from "vorpal";
2
+ export declare const setupProject: (instance: CommandInstance) => Promise<void>;
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ exports.__esModule = true;
39
+ exports.setupProject = void 0;
40
+ var getProjectConfig_1 = require("../../../../../config/getProjectConfig");
41
+ var commandConfigSecrets_1 = require("../commandConfigSecrets");
42
+ var setupAccessTokens_1 = require("./setupAccessTokens");
43
+ var setupContext_1 = require("./setupContext");
44
+ var setupProject = function (instance) { return __awaiter(void 0, void 0, void 0, function () {
45
+ var allContext, _i, allContext_1, context, configSecrets;
46
+ return __generator(this, function (_a) {
47
+ switch (_a.label) {
48
+ case 0: return [4 /*yield*/, (0, getProjectConfig_1.getAllPipelineContexts)()];
49
+ case 1:
50
+ allContext = _a.sent();
51
+ _i = 0, allContext_1 = allContext;
52
+ _a.label = 2;
53
+ case 2:
54
+ if (!(_i < allContext_1.length)) return [3 /*break*/, 5];
55
+ context = allContext_1[_i];
56
+ return [4 /*yield*/, (0, setupContext_1.setupContext)(instance, context)];
57
+ case 3:
58
+ _a.sent();
59
+ _a.label = 4;
60
+ case 4:
61
+ _i++;
62
+ return [3 /*break*/, 2];
63
+ case 5: return [4 /*yield*/, (0, setupAccessTokens_1.setupAccessTokens)(instance)];
64
+ case 6:
65
+ _a.sent();
66
+ instance.log("");
67
+ return [4 /*yield*/, instance.prompt({
68
+ "default": true,
69
+ message: "Before deployments work, you need to config secrets. Do it now?",
70
+ name: "configSecrets",
71
+ type: "confirm"
72
+ })];
73
+ case 7:
74
+ configSecrets = (_a.sent()).configSecrets;
75
+ instance.log("");
76
+ if (!configSecrets) return [3 /*break*/, 9];
77
+ return [4 /*yield*/, (0, commandConfigSecrets_1.projectConfigSecrets)(instance)];
78
+ case 8:
79
+ _a.sent();
80
+ return [3 /*break*/, 10];
81
+ case 9:
82
+ instance.log("👆 don't forget to config secret using `project-config-secrets`");
83
+ _a.label = 10;
84
+ case 10:
85
+ instance.log("");
86
+ instance.log("gitlab is ready! 🥂");
87
+ instance.log("\n");
88
+ instance.log("do not forget to make sure that:");
89
+ [
90
+ "you have __health route in place",
91
+ "lint and test are defined",
92
+ "secrets are configured (call project-config-secret)",
93
+ "eat your vegetables",
94
+ "be awesome 🤩",
95
+ ].forEach(function (tip) { return instance.log(" - ".concat(tip)); });
96
+ instance.log("\n");
97
+ instance.log("\n");
98
+ return [2 /*return*/];
99
+ }
100
+ });
101
+ }); };
102
+ exports.setupProject = setupProject;
103
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/apps/cli/commands/project/setup/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2EAAgF;AAChF,gEAA+D;AAC/D,yDAAwD;AACxD,+CAA8C;AAEvC,IAAM,YAAY,GAAG,UAAO,QAAyB;;;;oBACvC,qBAAM,IAAA,yCAAsB,GAAE,EAAA;;gBAA3C,UAAU,GAAG,SAA8B;sBAEjB,EAAV,yBAAU;;;qBAAV,CAAA,wBAAU,CAAA;gBAArB,OAAO;gBAChB,qBAAM,IAAA,2BAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,EAAA;;gBAArC,SAAqC,CAAC;;;gBADlB,IAAU,CAAA;;oBAGhC,qBAAM,IAAA,qCAAiB,EAAC,QAAQ,CAAC,EAAA;;gBAAjC,SAAiC,CAAC;gBAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACS,qBAAM,QAAQ,CAAC,MAAM,CAAC;wBAC9C,SAAO,EAAE,IAAI;wBACb,OAAO,EAAE,iEAAiE;wBAC1E,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,SAAS;qBAChB,CAAC,EAAA;;gBALM,aAAa,GAAK,CAAA,SAKxB,CAAA,cALmB;gBAMrB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;qBACb,aAAa,EAAb,wBAAa;gBACf,qBAAM,IAAA,2CAAoB,EAAC,QAAQ,CAAC,EAAA;;gBAApC,SAAoC,CAAC;;;gBAErC,QAAQ,CAAC,GAAG,CACV,iEAAiE,CAClE,CAAC;;;gBAEJ,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjB,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBACpC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnB,QAAQ,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gBACjD;oBACE,kCAAkC;oBAClC,2BAA2B;oBAC3B,qDAAqD;oBACrD,qBAAqB;oBACrB,eAAe;iBAChB,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,OAAA,QAAQ,CAAC,GAAG,CAAC,aAAM,GAAG,CAAE,CAAC,EAAzB,CAAyB,CAAC,CAAC;gBAC9C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;;;KACpB,CAAC;AAnCW,QAAA,YAAY,gBAmCvB"}
@@ -0,0 +1,2 @@
1
+ import { CommandInstance } from "vorpal";
2
+ export declare const setupAccessTokens: (instance: CommandInstance) => Promise<void>;
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ exports.__esModule = true;
42
+ exports.setupAccessTokens = void 0;
43
+ var open_1 = __importDefault(require("open"));
44
+ var gitlab_1 = require("../../../../../utils/gitlab");
45
+ var setupAccessTokens = function (instance) { return __awaiter(void 0, void 0, void 0, function () {
46
+ var _a, projectId, projectWebUrl, variables, understood, GL_TOKEN, deploy_tokens;
47
+ return __generator(this, function (_b) {
48
+ switch (_b.label) {
49
+ case 0: return [4 /*yield*/, (0, gitlab_1.getProjectInfo)(instance)];
50
+ case 1:
51
+ _a = _b.sent(), projectId = _a.id, projectWebUrl = _a.web_url;
52
+ return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(instance, "projects/".concat(projectId, "/variables"))];
53
+ case 2:
54
+ variables = _b.sent();
55
+ if (!!variables.find(function (v) { return v.key === "GL_TOKEN"; })) return [3 /*break*/, 6];
56
+ instance.log("I need add a GL_TOKEN to the project, so that semantic release will work\n");
57
+ instance.log("👉 Please please create a project access token in gitlab and copy its value into clipboard\n\n - name: something like 'semantic-release'\n - expires: leave empty\n - scopes: api, read_repository");
58
+ instance.log("\n");
59
+ return [4 /*yield*/, instance.prompt({
60
+ "default": true,
61
+ message: "Understood and open gitlab now? 🤔",
62
+ name: "understood",
63
+ type: "confirm"
64
+ })];
65
+ case 3:
66
+ understood = (_b.sent()).understood;
67
+ if (!understood) {
68
+ instance.log("continuing anyway...");
69
+ }
70
+ (0, open_1["default"])("".concat(projectWebUrl, "/-/settings/access_tokens"));
71
+ instance.log("\n");
72
+ instance.log("Enter your copied token now: ");
73
+ instance.log("\n");
74
+ return [4 /*yield*/, instance.prompt({
75
+ type: "password",
76
+ name: "GL_TOKEN",
77
+ message: "Access Token: "
78
+ })];
79
+ case 4:
80
+ GL_TOKEN = (_b.sent()).GL_TOKEN;
81
+ return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(instance, "projects/".concat(projectId, "/variables"), {
82
+ key: "GL_TOKEN",
83
+ value: GL_TOKEN
84
+ })];
85
+ case 5:
86
+ _b.sent();
87
+ _b.label = 6;
88
+ case 6: return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(instance, "projects/".concat(projectId, "/deploy_tokens"))];
89
+ case 7:
90
+ deploy_tokens = _b.sent();
91
+ if (!!deploy_tokens.find(function (v) { return v.name === "gitlab-deploy-token"; })) return [3 /*break*/, 9];
92
+ instance.log("I will setup the 'GitLab Deploy Token', so Kubernetes can pull images from this project.");
93
+ return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(instance, "projects/".concat(projectId, "/deploy_tokens"), {
94
+ id: projectId,
95
+ name: "gitlab-deploy-token",
96
+ scopes: ["read_registry"]
97
+ })];
98
+ case 8:
99
+ _b.sent();
100
+ _b.label = 9;
101
+ case 9: return [2 /*return*/];
102
+ }
103
+ });
104
+ }); };
105
+ exports.setupAccessTokens = setupAccessTokens;
106
+ //# sourceMappingURL=setupAccessTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupAccessTokens.js","sourceRoot":"","sources":["../../../../../../src/apps/cli/commands/project/setup/setupAccessTokens.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAwB;AAExB,sDAA8E;AAEvE,IAAM,iBAAiB,GAAG,UAAO,QAAyB;;;;oBACb,qBAAM,IAAA,uBAAc,EACpE,QAAQ,CACT,EAAA;;gBAFK,KAA4C,SAEjD,EAFW,SAAS,QAAA,EAAW,aAAa,aAAA;gBAG3B,qBAAM,IAAA,wBAAe,EACrC,QAAQ,EACR,mBAAY,SAAS,eAAY,CAClC,EAAA;;gBAHK,SAAS,GAAG,SAGjB;qBAEG,CAAC,SAAS,CAAC,IAAI,CAAC,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,UAAU,EAApB,CAAoB,CAAC,EAAjD,wBAAiD;gBACnD,QAAQ,CAAC,GAAG,CACV,4EAA4E,CAC7E,CAAC;gBACF,QAAQ,CAAC,GAAG,CACV,oMAAoM,CACrM,CAAC;gBACF,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEI,qBAAM,QAAQ,CAAC,MAAM,CAAC;wBAC3C,SAAO,EAAE,IAAI;wBACb,OAAO,EAAE,oCAAoC;wBAC7C,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;qBAChB,CAAC,EAAA;;gBALM,UAAU,GAAK,CAAA,SAKrB,CAAA,WALgB;gBAMlB,IAAI,CAAC,UAAU,EAAE;oBACf,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;iBACtC;gBACD,IAAA,iBAAI,EAAC,UAAG,aAAa,8BAA2B,CAAC,CAAC;gBAElD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEnB,QAAQ,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;gBAE9C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACE,qBAAM,QAAQ,CAAC,MAAM,CAAC;wBACzC,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,gBAAgB;qBAC1B,CAAC,EAAA;;gBAJM,QAAQ,GAAK,CAAA,SAInB,CAAA,SAJc;gBAKhB,qBAAM,IAAA,wBAAe,EAAC,QAAQ,EAAE,mBAAY,SAAS,eAAY,EAAE;wBACjE,GAAG,EAAE,UAAU;wBACf,KAAK,EAAE,QAAQ;qBAChB,CAAC,EAAA;;gBAHF,SAGE,CAAC;;oBAGiB,qBAAM,IAAA,wBAAe,EACzC,QAAQ,EACR,mBAAY,SAAS,mBAAgB,CACtC,EAAA;;gBAHK,aAAa,GAAG,SAGrB;qBAGC,CAAC,aAAa,CAAC,IAAI,CACjB,UAAC,CAAmB,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,qBAAqB,EAAhC,CAAgC,CAC1D,EAFD,wBAEC;gBAED,QAAQ,CAAC,GAAG,CACV,0FAA0F,CAC3F,CAAC;gBAEF,qBAAM,IAAA,wBAAe,EAAC,QAAQ,EAAE,mBAAY,SAAS,mBAAgB,EAAE;wBACrE,EAAE,EAAE,SAAS;wBACb,IAAI,EAAE,qBAAqB;wBAC3B,MAAM,EAAE,CAAC,eAAe,CAAC;qBAC1B,CAAC,EAAA;;gBAJF,SAIE,CAAC;;;;;KAEN,CAAC;AAjEW,QAAA,iBAAiB,qBAiE5B"}
@@ -0,0 +1,3 @@
1
+ import { Context } from "@catladder/pipeline";
2
+ import { CommandInstance } from "vorpal";
3
+ export declare const setupContext: (instance: CommandInstance, context: Context) => Promise<void>;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ exports.__esModule = true;
39
+ exports.setupContext = void 0;
40
+ var pipeline_1 = require("@catladder/pipeline");
41
+ var setupKubernetes_1 = require("./setupKubernetes");
42
+ var setupContext = function (instance, context) { return __awaiter(void 0, void 0, void 0, function () {
43
+ var deployConfig;
44
+ return __generator(this, function (_a) {
45
+ switch (_a.label) {
46
+ case 0:
47
+ instance.log("");
48
+ instance.log("==================================================================================");
49
+ instance.log("🐱 🔧 setting up " +
50
+ context.environment.shortName +
51
+ ":" +
52
+ context.componentName +
53
+ "...");
54
+ instance.log("");
55
+ deployConfig = context.componentConfig.deploy;
56
+ if (!(0, pipeline_1.isOfDeployType)(deployConfig, "kubernetes")) return [3 /*break*/, 2];
57
+ return [4 /*yield*/, (0, setupKubernetes_1.setupKubernetes)(instance, context)];
58
+ case 1:
59
+ _a.sent();
60
+ _a.label = 2;
61
+ case 2:
62
+ instance.log("");
63
+ instance.log("✅ " +
64
+ context.environment.shortName +
65
+ ":" +
66
+ context.componentName +
67
+ " done!");
68
+ instance.log("");
69
+ return [2 /*return*/];
70
+ }
71
+ });
72
+ }); };
73
+ exports.setupContext = setupContext;
74
+ //# sourceMappingURL=setupContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupContext.js","sourceRoot":"","sources":["../../../../../../src/apps/cli/commands/project/setup/setupContext.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA8D;AAE9D,qDAAoD;AAE7C,IAAM,YAAY,GAAG,UAC1B,QAAyB,EACzB,OAAgB;;;;;gBAEhB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjB,QAAQ,CAAC,GAAG,CACV,oFAAoF,CACrF,CAAC;gBAEF,QAAQ,CAAC,GAAG,CACV,mBAAmB;oBACjB,OAAO,CAAC,WAAW,CAAC,SAAS;oBAC7B,GAAG;oBACH,OAAO,CAAC,aAAa;oBACrB,KAAK,CACR,CAAC;gBACF,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACX,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC;qBAChD,IAAA,yBAAc,EAAC,YAAY,EAAE,YAAY,CAAC,EAA1C,wBAA0C;gBAC5C,qBAAM,IAAA,iCAAe,EAAC,QAAQ,EAAE,OAAO,CAAC,EAAA;;gBAAxC,SAAwC,CAAC;;;gBAG3C,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjB,QAAQ,CAAC,GAAG,CACV,IAAI;oBACF,OAAO,CAAC,WAAW,CAAC,SAAS;oBAC7B,GAAG;oBACH,OAAO,CAAC,aAAa;oBACrB,QAAQ,CACX,CAAC;gBAEF,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;;;;KAClB,CAAC;AAhCW,QAAA,YAAY,gBAgCvB"}
@@ -0,0 +1,3 @@
1
+ import { Context } from "@catladder/pipeline";
2
+ import { CommandInstance } from "vorpal";
3
+ export declare const setupKubernetes: (instance: CommandInstance, context: Context) => Promise<void>;