@catladder/cli 0.0.0-main-2e3a88fa → 0.0.0-main-c28a5e64

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.
@@ -43,7 +43,7 @@ exports.setupAccessTokens = void 0;
43
43
  var open_1 = __importDefault(require("open"));
44
44
  var gitlab_1 = require("../../../../../utils/gitlab");
45
45
  var setupAccessTokens = function (instance) { return __awaiter(void 0, void 0, void 0, function () {
46
- var _a, projectId, projectWebUrl, e_1, understood, GL_TOKEN, deploy_tokens;
46
+ var _a, projectId, projectWebUrl, e_1, understood, GL_TOKEN;
47
47
  return __generator(this, function (_b) {
48
48
  switch (_b.label) {
49
49
  case 0: return [4 /*yield*/, (0, gitlab_1.getProjectInfo)(instance)];
@@ -95,20 +95,7 @@ var setupAccessTokens = function (instance) { return __awaiter(void 0, void 0, v
95
95
  case 7:
96
96
  _b.sent();
97
97
  return [3 /*break*/, 8];
98
- case 8: return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(instance, "projects/".concat(projectId, "/deploy_tokens"))];
99
- case 9:
100
- deploy_tokens = _b.sent();
101
- if (!!deploy_tokens.find(function (v) { return v.name === "gitlab-deploy-token"; })) return [3 /*break*/, 11];
102
- instance.log("I will setup the 'GitLab Deploy Token', so Kubernetes can pull images from this project.");
103
- return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(instance, "projects/".concat(projectId, "/deploy_tokens"), {
104
- id: projectId,
105
- name: "gitlab-deploy-token",
106
- scopes: ["read_registry"]
107
- }, "POST")];
108
- case 10:
109
- _b.sent();
110
- _b.label = 11;
111
- case 11: return [2 /*return*/];
98
+ case 8: return [2 /*return*/];
112
99
  }
113
100
  });
114
101
  }); };
@@ -1 +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;;;;gBAI3C,qBAAM,IAAA,wBAAe,EAAC,QAAQ,EAAE,mBAAY,SAAS,wBAAqB,CAAC,EAAA;;gBAA3E,SAA2E,CAAC;;;;gBAE5E,IAAI,GAAC,CAAC,OAAO,KAAK,WAAW,EAAE;oBAC7B,MAAM,GAAC,CAAC;iBACT;gBACD,YAAY;gBAEZ,QAAQ,CAAC,GAAG,CACV,4EAA4E,CAC7E,CAAC;gBACF,QAAQ,CAAC,GAAG,CACV,uNAAuN,CACxN,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;gBAMhB,qBAAM,IAAA,wBAAe,EACnB,QAAQ,EACR,mBAAY,SAAS,eAAY,EACjC;wBACE,GAAG,EAAE,UAAU;wBACf,KAAK,EAAE,QAAQ;wBACf,MAAM,EAAE,IAAI;qBACb,EACD,MAAM,CACP,EAAA;;gBATD,SASC,CAAC;;oBAGkB,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,yBAEC;gBAED,QAAQ,CAAC,GAAG,CACV,0FAA0F,CAC3F,CAAC;gBAEF,qBAAM,IAAA,wBAAe,EACnB,QAAQ,EACR,mBAAY,SAAS,mBAAgB,EACrC;wBACE,EAAE,EAAE,SAAS;wBACb,IAAI,EAAE,qBAAqB;wBAC3B,MAAM,EAAE,CAAC,eAAe,CAAC;qBAC1B,EACD,MAAM,CACP,EAAA;;gBATD,SASC,CAAC;;;;;KAEL,CAAC;AA/EW,QAAA,iBAAiB,qBA+E5B"}
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;;;;gBAI3C,qBAAM,IAAA,wBAAe,EAAC,QAAQ,EAAE,mBAAY,SAAS,wBAAqB,CAAC,EAAA;;gBAA3E,SAA2E,CAAC;;;;gBAE5E,IAAI,GAAC,CAAC,OAAO,KAAK,WAAW,EAAE;oBAC7B,MAAM,GAAC,CAAC;iBACT;gBACD,YAAY;gBAEZ,QAAQ,CAAC,GAAG,CACV,4EAA4E,CAC7E,CAAC;gBACF,QAAQ,CAAC,GAAG,CACV,uNAAuN,CACxN,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;gBAMhB,qBAAM,IAAA,wBAAe,EACnB,QAAQ,EACR,mBAAY,SAAS,eAAY,EACjC;wBACE,GAAG,EAAE,UAAU;wBACf,KAAK,EAAE,QAAQ;wBACf,MAAM,EAAE,IAAI;qBACb,EACD,MAAM,CACP,EAAA;;gBATD,SASC,CAAC;;;;;KAEL,CAAC;AArDW,QAAA,iBAAiB,qBAqD5B"}
@@ -46,7 +46,7 @@ var cluster_1 = require("../../../../../utils/cluster");
46
46
  var gitlab_1 = require("../../../../../utils/gitlab");
47
47
  var ensureNamespace_1 = __importDefault(require("../utils/ensureNamespace"));
48
48
  var setupKubernetes = function (instance, context) { return __awaiter(void 0, void 0, void 0, function () {
49
- var deployConfig, fullName, namespace, serviceAccountName, KUBE_URL, e_1, secretName, KUBE_CA_PEM, KUBE_TOKEN, vars, missing;
49
+ var deployConfig, projectId, deploy_tokens, fullName, namespace, serviceAccountName, KUBE_URL, e_1, secretName, KUBE_CA_PEM, KUBE_TOKEN, vars, missing;
50
50
  return __generator(this, function (_a) {
51
51
  switch (_a.label) {
52
52
  case 0:
@@ -54,15 +54,32 @@ var setupKubernetes = function (instance, context) { return __awaiter(void 0, vo
54
54
  if (!(0, pipeline_1.isOfDeployType)(deployConfig, "kubernetes")) {
55
55
  throw new Error("cannot run setupKubernetes on non-kubernetes deployments");
56
56
  }
57
+ return [4 /*yield*/, (0, gitlab_1.getProjectInfo)(instance)];
58
+ case 1:
59
+ projectId = (_a.sent()).id;
60
+ return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(instance, "projects/".concat(projectId, "/deploy_tokens"))];
61
+ case 2:
62
+ deploy_tokens = _a.sent();
63
+ if (!!deploy_tokens.find(function (v) { return v.name === "gitlab-deploy-token"; })) return [3 /*break*/, 4];
64
+ instance.log("I will setup the 'GitLab Deploy Token', so Kubernetes can pull images from this project.");
65
+ return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(instance, "projects/".concat(projectId, "/deploy_tokens"), {
66
+ id: projectId,
67
+ name: "gitlab-deploy-token",
68
+ scopes: ["read_registry"]
69
+ }, "POST")];
70
+ case 3:
71
+ _a.sent();
72
+ _a.label = 4;
73
+ case 4:
57
74
  fullName = (0, pipeline_1.getFullKubernetesClusterName)(deployConfig.cluster);
58
75
  instance.log("cluster: ".concat(fullName));
59
76
  return [4 /*yield*/, (0, cluster_1.connectToCluster)(fullName)];
60
- case 1:
77
+ case 5:
61
78
  _a.sent();
62
79
  instance.log("");
63
80
  instance.log("ensuring namespace ...");
64
81
  return [4 /*yield*/, (0, ensureNamespace_1["default"])(context)];
65
- case 2:
82
+ case 6:
66
83
  namespace = _a.sent();
67
84
  instance.log("Namespace " + namespace + " created / updated!");
68
85
  instance.log("");
@@ -72,43 +89,43 @@ var setupKubernetes = function (instance, context) { return __awaiter(void 0, vo
72
89
  instance.log("ensuring service accounts...");
73
90
  serviceAccountName = "cl-".concat(context.componentName, "-deploy");
74
91
  return [4 /*yield*/, (0, child_process_promise_1.exec)("TERM=dumb kubectl cluster-info | grep -E 'Kubernetes master|Kubernetes control plane' | awk '/http/ {print $NF}'").then(function (s) { return s.stdout.trim(); })];
75
- case 3:
92
+ case 7:
76
93
  KUBE_URL = _a.sent();
77
- _a.label = 4;
78
- case 4:
79
- _a.trys.push([4, 8, , 9]);
94
+ _a.label = 8;
95
+ case 8:
96
+ _a.trys.push([8, 12, , 13]);
80
97
  return [4 /*yield*/, (0, child_process_promise_1.exec)("kubectl delete serviceaccount --namespace ".concat(namespace, " ").concat(serviceAccountName))];
81
- case 5:
98
+ case 9:
82
99
  _a.sent();
83
100
  return [4 /*yield*/, (0, child_process_promise_1.exec)("kubectl delete rolebinding --namespace ".concat(namespace, " ").concat(serviceAccountName))];
84
- case 6:
101
+ case 10:
85
102
  _a.sent();
86
103
  return [4 /*yield*/, (0, child_process_promise_1.exec)("kubectl delete role --namespace ".concat(namespace, " ").concat(serviceAccountName))];
87
- case 7:
104
+ case 11:
88
105
  _a.sent();
89
- return [3 /*break*/, 9];
90
- case 8:
106
+ return [3 /*break*/, 13];
107
+ case 12:
91
108
  e_1 = _a.sent();
92
- return [3 /*break*/, 9];
93
- case 9: return [4 /*yield*/, (0, child_process_promise_1.exec)("kubectl create serviceaccount --namespace ".concat(namespace, " ").concat(serviceAccountName))];
94
- case 10:
109
+ return [3 /*break*/, 13];
110
+ case 13: return [4 /*yield*/, (0, child_process_promise_1.exec)("kubectl create serviceaccount --namespace ".concat(namespace, " ").concat(serviceAccountName))];
111
+ case 14:
95
112
  _a.sent();
96
113
  // upsert role in the ns
97
114
  return [4 /*yield*/, (0, child_process_promise_1.exec)("cat <<EOF | kubectl apply -f -\nkind: Role\napiVersion: rbac.authorization.k8s.io/v1\nmetadata:\n namespace: ".concat(namespace, "\n name: ").concat(serviceAccountName, "\nrules:\n- apiGroups: [\"\", \"extensions\", \"apps\", \"networking.k8s.io\", \"batch\", \"autoscaling\", \"rbac.authorization.k8s.io\",\"snapshot.storage.k8s.io\"]\n resources: [\"deployments\", \"replicasets\", \"statefulsets\", \"pods\", \"secrets\", \"configmaps\", \"services\", \"ingresses\", \"serviceaccounts\", \"roles\", \"rolebindings\", \"jobs\", \"cronjobs\", \"horizontalpodautoscalers\", \"persistentvolumeclaims\", \"volumesnapshots\"]\n verbs: [\"*\"]\n---\nkind: RoleBinding\napiVersion: rbac.authorization.k8s.io/v1\nmetadata:\n name: ").concat(serviceAccountName, "\n namespace: ").concat(namespace, "\nsubjects:\n - kind: ServiceAccount\n name: ").concat(serviceAccountName, "\n namespace: ").concat(namespace, "\nroleRef:\n kind: Role\n name: ").concat(serviceAccountName, "\n apiGroup: rbac.authorization.k8s.io\nEOF\n"))];
98
- case 11:
115
+ case 15:
99
116
  // upsert role in the ns
100
117
  _a.sent();
101
118
  secretName = "".concat(serviceAccountName, "-secret");
102
119
  // create token for the service account
103
120
  return [4 /*yield*/, (0, child_process_promise_1.exec)("\nkubectl apply -f - <<EOF\napiVersion: v1\nkind: Secret\nmetadata:\n name: ".concat(secretName, "\n namespace: ").concat(namespace, "\n annotations:\n kubernetes.io/service-account.name: ").concat(serviceAccountName, "\ntype: kubernetes.io/service-account-token\nEOF\n "))];
104
- case 12:
121
+ case 16:
105
122
  // create token for the service account
106
123
  _a.sent();
107
124
  return [4 /*yield*/, (0, child_process_promise_1.exec)("kubectl get secret ".concat(secretName, " --namespace ").concat(namespace, " -o jsonpath=\"{['data']['ca\\.crt']}\"")).then(function (c) { return c.stdout.trim(); })];
108
- case 13:
125
+ case 17:
109
126
  KUBE_CA_PEM = _a.sent();
110
127
  return [4 /*yield*/, (0, child_process_promise_1.exec)("kubectl get secret ".concat(secretName, " --namespace ").concat(namespace, " -o jsonpath=\"{['data']['token']}\" | base64 --decode")).then(function (c) { return c.stdout.trim(); })];
111
- case 14:
128
+ case 18:
112
129
  KUBE_TOKEN = _a.sent();
113
130
  vars = {
114
131
  KUBE_TOKEN: KUBE_TOKEN,
@@ -128,7 +145,7 @@ var setupKubernetes = function (instance, context) { return __awaiter(void 0, vo
128
145
  instance.log("pusing secrets to gitlab...");
129
146
  return [4 /*yield*/, (0, gitlab_1.upsertAllVariables)(instance, vars, context.environment.shortName, context.componentName, false // no backup
130
147
  )];
131
- case 15:
148
+ case 19:
132
149
  _a.sent();
133
150
  instance.log("done!");
134
151
  return [2 /*return*/];
@@ -1 +1 @@
1
- {"version":3,"file":"setupKubernetes.js","sourceRoot":"","sources":["../../../../../../src/apps/cli/commands/project/setup/setupKubernetes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupKubernetes.js","sourceRoot":"","sources":["../../../../../../src/apps/cli/commands/project/setup/setupKubernetes.ts"],"names":[],"mappings":"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"}
@@ -40918,7 +40918,7 @@ exports.readConfigSync = readConfigSync;
40918
40918
 
40919
40919
  exports.__esModule = true;
40920
40920
  exports.DOCKER_REGISTRY = exports.PIPELINE_IMAGE_TAG = void 0;
40921
- exports.PIPELINE_IMAGE_TAG = "main-2e3a88fa" || 0;
40921
+ exports.PIPELINE_IMAGE_TAG = "main-c28a5e64" || 0;
40922
40922
  exports.DOCKER_REGISTRY = "git.panter.ch:5001/catladder/catladder" || 0;
40923
40923
 
40924
40924
  /***/ }),
@@ -4915,7 +4915,7 @@ exports.setupAccessTokens = void 0;
4915
4915
  var open_1 = __importDefault(__nccwpck_require__(14247));
4916
4916
  var gitlab_1 = __nccwpck_require__(79818);
4917
4917
  var setupAccessTokens = function (instance) { return __awaiter(void 0, void 0, void 0, function () {
4918
- var _a, projectId, projectWebUrl, e_1, understood, GL_TOKEN, deploy_tokens;
4918
+ var _a, projectId, projectWebUrl, e_1, understood, GL_TOKEN;
4919
4919
  return __generator(this, function (_b) {
4920
4920
  switch (_b.label) {
4921
4921
  case 0: return [4 /*yield*/, (0, gitlab_1.getProjectInfo)(instance)];
@@ -4967,20 +4967,7 @@ var setupAccessTokens = function (instance) { return __awaiter(void 0, void 0, v
4967
4967
  case 7:
4968
4968
  _b.sent();
4969
4969
  return [3 /*break*/, 8];
4970
- case 8: return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(instance, "projects/".concat(projectId, "/deploy_tokens"))];
4971
- case 9:
4972
- deploy_tokens = _b.sent();
4973
- if (!!deploy_tokens.find(function (v) { return v.name === "gitlab-deploy-token"; })) return [3 /*break*/, 11];
4974
- instance.log("I will setup the 'GitLab Deploy Token', so Kubernetes can pull images from this project.");
4975
- return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(instance, "projects/".concat(projectId, "/deploy_tokens"), {
4976
- id: projectId,
4977
- name: "gitlab-deploy-token",
4978
- scopes: ["read_registry"]
4979
- }, "POST")];
4980
- case 10:
4981
- _b.sent();
4982
- _b.label = 11;
4983
- case 11: return [2 /*return*/];
4970
+ case 8: return [2 /*return*/];
4984
4971
  }
4985
4972
  });
4986
4973
  }); };
@@ -5254,7 +5241,7 @@ var cluster_1 = __nccwpck_require__(66894);
5254
5241
  var gitlab_1 = __nccwpck_require__(79818);
5255
5242
  var ensureNamespace_1 = __importDefault(__nccwpck_require__(99489));
5256
5243
  var setupKubernetes = function (instance, context) { return __awaiter(void 0, void 0, void 0, function () {
5257
- var deployConfig, fullName, namespace, serviceAccountName, KUBE_URL, e_1, secretName, KUBE_CA_PEM, KUBE_TOKEN, vars, missing;
5244
+ var deployConfig, projectId, deploy_tokens, fullName, namespace, serviceAccountName, KUBE_URL, e_1, secretName, KUBE_CA_PEM, KUBE_TOKEN, vars, missing;
5258
5245
  return __generator(this, function (_a) {
5259
5246
  switch (_a.label) {
5260
5247
  case 0:
@@ -5262,15 +5249,32 @@ var setupKubernetes = function (instance, context) { return __awaiter(void 0, vo
5262
5249
  if (!(0, pipeline_1.isOfDeployType)(deployConfig, "kubernetes")) {
5263
5250
  throw new Error("cannot run setupKubernetes on non-kubernetes deployments");
5264
5251
  }
5252
+ return [4 /*yield*/, (0, gitlab_1.getProjectInfo)(instance)];
5253
+ case 1:
5254
+ projectId = (_a.sent()).id;
5255
+ return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(instance, "projects/".concat(projectId, "/deploy_tokens"))];
5256
+ case 2:
5257
+ deploy_tokens = _a.sent();
5258
+ if (!!deploy_tokens.find(function (v) { return v.name === "gitlab-deploy-token"; })) return [3 /*break*/, 4];
5259
+ instance.log("I will setup the 'GitLab Deploy Token', so Kubernetes can pull images from this project.");
5260
+ return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(instance, "projects/".concat(projectId, "/deploy_tokens"), {
5261
+ id: projectId,
5262
+ name: "gitlab-deploy-token",
5263
+ scopes: ["read_registry"]
5264
+ }, "POST")];
5265
+ case 3:
5266
+ _a.sent();
5267
+ _a.label = 4;
5268
+ case 4:
5265
5269
  fullName = (0, pipeline_1.getFullKubernetesClusterName)(deployConfig.cluster);
5266
5270
  instance.log("cluster: ".concat(fullName));
5267
5271
  return [4 /*yield*/, (0, cluster_1.connectToCluster)(fullName)];
5268
- case 1:
5272
+ case 5:
5269
5273
  _a.sent();
5270
5274
  instance.log("");
5271
5275
  instance.log("ensuring namespace ...");
5272
5276
  return [4 /*yield*/, (0, ensureNamespace_1["default"])(context)];
5273
- case 2:
5277
+ case 6:
5274
5278
  namespace = _a.sent();
5275
5279
  instance.log("Namespace " + namespace + " created / updated!");
5276
5280
  instance.log("");
@@ -5280,43 +5284,43 @@ var setupKubernetes = function (instance, context) { return __awaiter(void 0, vo
5280
5284
  instance.log("ensuring service accounts...");
5281
5285
  serviceAccountName = "cl-".concat(context.componentName, "-deploy");
5282
5286
  return [4 /*yield*/, (0, child_process_promise_1.exec)("TERM=dumb kubectl cluster-info | grep -E 'Kubernetes master|Kubernetes control plane' | awk '/http/ {print $NF}'").then(function (s) { return s.stdout.trim(); })];
5283
- case 3:
5287
+ case 7:
5284
5288
  KUBE_URL = _a.sent();
5285
- _a.label = 4;
5286
- case 4:
5287
- _a.trys.push([4, 8, , 9]);
5289
+ _a.label = 8;
5290
+ case 8:
5291
+ _a.trys.push([8, 12, , 13]);
5288
5292
  return [4 /*yield*/, (0, child_process_promise_1.exec)("kubectl delete serviceaccount --namespace ".concat(namespace, " ").concat(serviceAccountName))];
5289
- case 5:
5293
+ case 9:
5290
5294
  _a.sent();
5291
5295
  return [4 /*yield*/, (0, child_process_promise_1.exec)("kubectl delete rolebinding --namespace ".concat(namespace, " ").concat(serviceAccountName))];
5292
- case 6:
5296
+ case 10:
5293
5297
  _a.sent();
5294
5298
  return [4 /*yield*/, (0, child_process_promise_1.exec)("kubectl delete role --namespace ".concat(namespace, " ").concat(serviceAccountName))];
5295
- case 7:
5299
+ case 11:
5296
5300
  _a.sent();
5297
- return [3 /*break*/, 9];
5298
- case 8:
5301
+ return [3 /*break*/, 13];
5302
+ case 12:
5299
5303
  e_1 = _a.sent();
5300
- return [3 /*break*/, 9];
5301
- case 9: return [4 /*yield*/, (0, child_process_promise_1.exec)("kubectl create serviceaccount --namespace ".concat(namespace, " ").concat(serviceAccountName))];
5302
- case 10:
5304
+ return [3 /*break*/, 13];
5305
+ case 13: return [4 /*yield*/, (0, child_process_promise_1.exec)("kubectl create serviceaccount --namespace ".concat(namespace, " ").concat(serviceAccountName))];
5306
+ case 14:
5303
5307
  _a.sent();
5304
5308
  // upsert role in the ns
5305
5309
  return [4 /*yield*/, (0, child_process_promise_1.exec)("cat <<EOF | kubectl apply -f -\nkind: Role\napiVersion: rbac.authorization.k8s.io/v1\nmetadata:\n namespace: ".concat(namespace, "\n name: ").concat(serviceAccountName, "\nrules:\n- apiGroups: [\"\", \"extensions\", \"apps\", \"networking.k8s.io\", \"batch\", \"autoscaling\", \"rbac.authorization.k8s.io\",\"snapshot.storage.k8s.io\"]\n resources: [\"deployments\", \"replicasets\", \"statefulsets\", \"pods\", \"secrets\", \"configmaps\", \"services\", \"ingresses\", \"serviceaccounts\", \"roles\", \"rolebindings\", \"jobs\", \"cronjobs\", \"horizontalpodautoscalers\", \"persistentvolumeclaims\", \"volumesnapshots\"]\n verbs: [\"*\"]\n---\nkind: RoleBinding\napiVersion: rbac.authorization.k8s.io/v1\nmetadata:\n name: ").concat(serviceAccountName, "\n namespace: ").concat(namespace, "\nsubjects:\n - kind: ServiceAccount\n name: ").concat(serviceAccountName, "\n namespace: ").concat(namespace, "\nroleRef:\n kind: Role\n name: ").concat(serviceAccountName, "\n apiGroup: rbac.authorization.k8s.io\nEOF\n"))];
5306
- case 11:
5310
+ case 15:
5307
5311
  // upsert role in the ns
5308
5312
  _a.sent();
5309
5313
  secretName = "".concat(serviceAccountName, "-secret");
5310
5314
  // create token for the service account
5311
5315
  return [4 /*yield*/, (0, child_process_promise_1.exec)("\nkubectl apply -f - <<EOF\napiVersion: v1\nkind: Secret\nmetadata:\n name: ".concat(secretName, "\n namespace: ").concat(namespace, "\n annotations:\n kubernetes.io/service-account.name: ").concat(serviceAccountName, "\ntype: kubernetes.io/service-account-token\nEOF\n "))];
5312
- case 12:
5316
+ case 16:
5313
5317
  // create token for the service account
5314
5318
  _a.sent();
5315
5319
  return [4 /*yield*/, (0, child_process_promise_1.exec)("kubectl get secret ".concat(secretName, " --namespace ").concat(namespace, " -o jsonpath=\"{['data']['ca\\.crt']}\"")).then(function (c) { return c.stdout.trim(); })];
5316
- case 13:
5320
+ case 17:
5317
5321
  KUBE_CA_PEM = _a.sent();
5318
5322
  return [4 /*yield*/, (0, child_process_promise_1.exec)("kubectl get secret ".concat(secretName, " --namespace ").concat(namespace, " -o jsonpath=\"{['data']['token']}\" | base64 --decode")).then(function (c) { return c.stdout.trim(); })];
5319
- case 14:
5323
+ case 18:
5320
5324
  KUBE_TOKEN = _a.sent();
5321
5325
  vars = {
5322
5326
  KUBE_TOKEN: KUBE_TOKEN,
@@ -5336,7 +5340,7 @@ var setupKubernetes = function (instance, context) { return __awaiter(void 0, vo
5336
5340
  instance.log("pusing secrets to gitlab...");
5337
5341
  return [4 /*yield*/, (0, gitlab_1.upsertAllVariables)(instance, vars, context.environment.shortName, context.componentName, false // no backup
5338
5342
  )];
5339
- case 15:
5343
+ case 19:
5340
5344
  _a.sent();
5341
5345
  instance.log("done!");
5342
5346
  return [2 /*return*/];
@@ -355848,7 +355852,7 @@ exports.readConfigSync = readConfigSync;
355848
355852
 
355849
355853
  exports.__esModule = true;
355850
355854
  exports.DOCKER_REGISTRY = exports.PIPELINE_IMAGE_TAG = void 0;
355851
- exports.PIPELINE_IMAGE_TAG = "main-2e3a88fa" || 0;
355855
+ exports.PIPELINE_IMAGE_TAG = "main-c28a5e64" || 0;
355852
355856
  exports.DOCKER_REGISTRY = "git.panter.ch:5001/catladder/catladder" || 0;
355853
355857
 
355854
355858
  /***/ }),