Skip to content

Commit a0f00e5

Browse files
Add node modules and new code for release (#168)
Co-authored-by: OliverMKing <[email protected]>
1 parent ca8d260 commit a0f00e5

File tree

8,092 files changed

+1732166
-149
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

8,092 files changed

+1732166
-149
lines changed

.gitignore

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
node_modules
21

32
.DS_Store
43
.idea

lib/actions/deploy.js

+9-9
Original file line numberDiff line numberDiff line change
@@ -22,27 +22,27 @@ const routeStrategy_1 = require("../types/routeStrategy");
2222
function deploy(kubectl, manifestFilePaths, deploymentStrategy) {
2323
return __awaiter(this, void 0, void 0, function* () {
2424
// update manifests
25-
const inputManifestFiles = manifestUpdateUtils_1.updateManifestFiles(manifestFilePaths);
25+
const inputManifestFiles = (0, manifestUpdateUtils_1.updateManifestFiles)(manifestFilePaths);
2626
core.debug("Input manifest files: " + inputManifestFiles);
2727
// deploy manifests
2828
core.info("Deploying manifests");
29-
const trafficSplitMethod = trafficSplitMethod_1.parseTrafficSplitMethod(core.getInput("traffic-split-method", { required: true }));
30-
const deployedManifestFiles = yield deploymentHelper_1.deployManifests(inputManifestFiles, deploymentStrategy, kubectl, trafficSplitMethod);
29+
const trafficSplitMethod = (0, trafficSplitMethod_1.parseTrafficSplitMethod)(core.getInput("traffic-split-method", { required: true }));
30+
const deployedManifestFiles = yield (0, deploymentHelper_1.deployManifests)(inputManifestFiles, deploymentStrategy, kubectl, trafficSplitMethod);
3131
core.debug("Deployed manifest files: " + deployedManifestFiles);
3232
// check manifest stability
3333
core.info("Checking manifest stability");
34-
const resourceTypes = manifestUpdateUtils_1.getResources(deployedManifestFiles, models.DEPLOYMENT_TYPES.concat([
34+
const resourceTypes = (0, manifestUpdateUtils_1.getResources)(deployedManifestFiles, models.DEPLOYMENT_TYPES.concat([
3535
KubernetesConstants.DiscoveryAndLoadBalancerResource.SERVICE,
3636
]));
37-
yield deploymentHelper_1.checkManifestStability(kubectl, resourceTypes);
37+
yield (0, deploymentHelper_1.checkManifestStability)(kubectl, resourceTypes);
3838
if (deploymentStrategy == deploymentStrategy_1.DeploymentStrategy.BLUE_GREEN) {
3939
core.info("Routing blue green");
40-
const routeStrategy = routeStrategy_1.parseRouteStrategy(core.getInput("route-method", { required: true }));
41-
yield blueGreenHelper_1.routeBlueGreen(kubectl, inputManifestFiles, routeStrategy);
40+
const routeStrategy = (0, routeStrategy_1.parseRouteStrategy)(core.getInput("route-method", { required: true }));
41+
yield (0, blueGreenHelper_1.routeBlueGreen)(kubectl, inputManifestFiles, routeStrategy);
4242
}
4343
// print ingresses
4444
core.info("Printing ingresses");
45-
const ingressResources = manifestUpdateUtils_1.getResources(deployedManifestFiles, [
45+
const ingressResources = (0, manifestUpdateUtils_1.getResources)(deployedManifestFiles, [
4646
KubernetesConstants.DiscoveryAndLoadBalancerResource.INGRESS,
4747
]);
4848
for (const ingressResource of ingressResources) {
@@ -57,7 +57,7 @@ function deploy(kubectl, manifestFilePaths, deploymentStrategy) {
5757
catch (e) {
5858
core.debug("Unable to parse pods: " + e);
5959
}
60-
yield deploymentHelper_1.annotateAndLabelResources(deployedManifestFiles, kubectl, resourceTypes, allPods);
60+
yield (0, deploymentHelper_1.annotateAndLabelResources)(deployedManifestFiles, kubectl, resourceTypes, allPods);
6161
});
6262
}
6363
exports.deploy = deploy;

lib/actions/promote.js

+15-15
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ exports.promote = promote;
4242
function promoteCanary(kubectl, manifests) {
4343
return __awaiter(this, void 0, void 0, function* () {
4444
let includeServices = false;
45-
const trafficSplitMethod = trafficSplitMethod_1.parseTrafficSplitMethod(core.getInput("traffic-split-method", { required: true }));
45+
const trafficSplitMethod = (0, trafficSplitMethod_1.parseTrafficSplitMethod)(core.getInput("traffic-split-method", { required: true }));
4646
if (trafficSplitMethod == trafficSplitMethod_1.TrafficSplitMethod.SMI) {
4747
includeServices = true;
4848
// In case of SMI traffic split strategy when deployment is promoted, first we will redirect traffic to
@@ -70,40 +70,40 @@ function promoteCanary(kubectl, manifests) {
7070
function promoteBlueGreen(kubectl, manifests) {
7171
return __awaiter(this, void 0, void 0, function* () {
7272
// update container images and pull secrets
73-
const inputManifestFiles = manifestUpdateUtils_1.updateManifestFiles(manifests);
74-
const manifestObjects = blueGreenHelper_1.getManifestObjects(inputManifestFiles);
75-
const routeStrategy = routeStrategy_1.parseRouteStrategy(core.getInput("route-method", { required: true }));
73+
const inputManifestFiles = (0, manifestUpdateUtils_1.updateManifestFiles)(manifests);
74+
const manifestObjects = (0, blueGreenHelper_1.getManifestObjects)(inputManifestFiles);
75+
const routeStrategy = (0, routeStrategy_1.parseRouteStrategy)(core.getInput("route-method", { required: true }));
7676
core.info("Deleting old deployment and making new one");
7777
let result;
7878
if (routeStrategy == routeStrategy_1.RouteStrategy.INGRESS) {
79-
result = yield ingressBlueGreenHelper_1.promoteBlueGreenIngress(kubectl, manifestObjects);
79+
result = yield (0, ingressBlueGreenHelper_1.promoteBlueGreenIngress)(kubectl, manifestObjects);
8080
}
8181
else if (routeStrategy == routeStrategy_1.RouteStrategy.SMI) {
82-
result = yield smiBlueGreenHelper_1.promoteBlueGreenSMI(kubectl, manifestObjects);
82+
result = yield (0, smiBlueGreenHelper_1.promoteBlueGreenSMI)(kubectl, manifestObjects);
8383
}
8484
else {
85-
result = yield serviceBlueGreenHelper_1.promoteBlueGreenService(kubectl, manifestObjects);
85+
result = yield (0, serviceBlueGreenHelper_1.promoteBlueGreenService)(kubectl, manifestObjects);
8686
}
8787
// checking stability of newly created deployments
8888
core.info("Checking manifest stability");
8989
const deployedManifestFiles = result.newFilePaths;
90-
const resources = manifestUpdateUtils_1.getResources(deployedManifestFiles, models.DEPLOYMENT_TYPES.concat([
90+
const resources = (0, manifestUpdateUtils_1.getResources)(deployedManifestFiles, models.DEPLOYMENT_TYPES.concat([
9191
models.DiscoveryAndLoadBalancerResource.SERVICE,
9292
]));
9393
yield KubernetesManifestUtility.checkManifestStability(kubectl, resources);
9494
core.info("Routing to new deployments and deleting old workloads and services");
9595
if (routeStrategy == routeStrategy_1.RouteStrategy.INGRESS) {
96-
yield ingressBlueGreenHelper_1.routeBlueGreenIngress(kubectl, null, manifestObjects.serviceNameMap, manifestObjects.ingressEntityList);
97-
yield blueGreenHelper_1.deleteWorkloadsAndServicesWithLabel(kubectl, blueGreenHelper_1.GREEN_LABEL_VALUE, manifestObjects.deploymentEntityList, manifestObjects.serviceEntityList);
96+
yield (0, ingressBlueGreenHelper_1.routeBlueGreenIngress)(kubectl, null, manifestObjects.serviceNameMap, manifestObjects.ingressEntityList);
97+
yield (0, blueGreenHelper_1.deleteWorkloadsAndServicesWithLabel)(kubectl, blueGreenHelper_1.GREEN_LABEL_VALUE, manifestObjects.deploymentEntityList, manifestObjects.serviceEntityList);
9898
}
9999
else if (routeStrategy == routeStrategy_1.RouteStrategy.SMI) {
100-
yield smiBlueGreenHelper_1.routeBlueGreenSMI(kubectl, blueGreenHelper_1.NONE_LABEL_VALUE, manifestObjects.serviceEntityList);
101-
yield blueGreenHelper_1.deleteWorkloadsWithLabel(kubectl, blueGreenHelper_1.GREEN_LABEL_VALUE, manifestObjects.deploymentEntityList);
102-
yield smiBlueGreenHelper_1.cleanupSMI(kubectl, manifestObjects.serviceEntityList);
100+
yield (0, smiBlueGreenHelper_1.routeBlueGreenSMI)(kubectl, blueGreenHelper_1.NONE_LABEL_VALUE, manifestObjects.serviceEntityList);
101+
yield (0, blueGreenHelper_1.deleteWorkloadsWithLabel)(kubectl, blueGreenHelper_1.GREEN_LABEL_VALUE, manifestObjects.deploymentEntityList);
102+
yield (0, smiBlueGreenHelper_1.cleanupSMI)(kubectl, manifestObjects.serviceEntityList);
103103
}
104104
else {
105-
yield serviceBlueGreenHelper_1.routeBlueGreenService(kubectl, blueGreenHelper_1.NONE_LABEL_VALUE, manifestObjects.serviceEntityList);
106-
yield blueGreenHelper_1.deleteWorkloadsWithLabel(kubectl, blueGreenHelper_1.GREEN_LABEL_VALUE, manifestObjects.deploymentEntityList);
105+
yield (0, serviceBlueGreenHelper_1.routeBlueGreenService)(kubectl, blueGreenHelper_1.NONE_LABEL_VALUE, manifestObjects.serviceEntityList);
106+
yield (0, blueGreenHelper_1.deleteWorkloadsWithLabel)(kubectl, blueGreenHelper_1.GREEN_LABEL_VALUE, manifestObjects.deploymentEntityList);
107107
}
108108
});
109109
}

lib/actions/reject.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ exports.reject = reject;
3737
function rejectCanary(kubectl, manifests) {
3838
return __awaiter(this, void 0, void 0, function* () {
3939
let includeServices = false;
40-
const trafficSplitMethod = trafficSplitMethod_1.parseTrafficSplitMethod(core.getInput("traffic-split-method", { required: true }));
40+
const trafficSplitMethod = (0, trafficSplitMethod_1.parseTrafficSplitMethod)(core.getInput("traffic-split-method", { required: true }));
4141
if (trafficSplitMethod == trafficSplitMethod_1.TrafficSplitMethod.SMI) {
4242
core.info("Rejecting deployment with SMI canary strategy");
4343
includeServices = true;
@@ -50,15 +50,15 @@ function rejectCanary(kubectl, manifests) {
5050
function rejectBlueGreen(kubectl, manifests) {
5151
return __awaiter(this, void 0, void 0, function* () {
5252
core.info("Rejecting deployment with blue green strategy");
53-
const routeStrategy = routeStrategy_1.parseRouteStrategy(core.getInput("route-method", { required: true }));
53+
const routeStrategy = (0, routeStrategy_1.parseRouteStrategy)(core.getInput("route-method", { required: true }));
5454
if (routeStrategy == routeStrategy_1.RouteStrategy.INGRESS) {
55-
yield ingressBlueGreenHelper_1.rejectBlueGreenIngress(kubectl, manifests);
55+
yield (0, ingressBlueGreenHelper_1.rejectBlueGreenIngress)(kubectl, manifests);
5656
}
5757
else if (routeStrategy == routeStrategy_1.RouteStrategy.SMI) {
58-
yield smiBlueGreenHelper_1.rejectBlueGreenSMI(kubectl, manifests);
58+
yield (0, smiBlueGreenHelper_1.rejectBlueGreenSMI)(kubectl, manifests);
5959
}
6060
else {
61-
yield serviceBlueGreenHelper_1.rejectBlueGreenService(kubectl, manifests);
61+
yield (0, serviceBlueGreenHelper_1.rejectBlueGreenService)(kubectl, manifests);
6262
}
6363
});
6464
}

lib/run.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -23,29 +23,29 @@ function run() {
2323
if (!process.env["KUBECONFIG"])
2424
core.warning("KUBECONFIG env is not explicitly set. Ensure cluster context is set by using k8s-set-context action.");
2525
// get inputs
26-
const action = action_1.parseAction(core.getInput("action", { required: true }));
27-
const strategy = deploymentStrategy_1.parseDeploymentStrategy(core.getInput("strategy"));
26+
const action = (0, action_1.parseAction)(core.getInput("action", { required: true }));
27+
const strategy = (0, deploymentStrategy_1.parseDeploymentStrategy)(core.getInput("strategy"));
2828
const manifestsInput = core.getInput("manifests", { required: true });
2929
const manifestFilePaths = manifestsInput
3030
.split(/[\n,;]+/) // split into each individual manifest
3131
.map((manifest) => manifest.trim()) // remove surrounding whitespace
3232
.filter((manifest) => manifest.length > 0); // remove any blanks
3333
// create kubectl
34-
const kubectlPath = yield kubectl_1.getKubectlPath();
34+
const kubectlPath = yield (0, kubectl_1.getKubectlPath)();
3535
const namespace = core.getInput("namespace") || "default";
3636
const kubectl = new kubectl_1.Kubectl(kubectlPath, namespace, true);
3737
// run action
3838
switch (action) {
3939
case action_1.Action.DEPLOY: {
40-
yield deploy_1.deploy(kubectl, manifestFilePaths, strategy);
40+
yield (0, deploy_1.deploy)(kubectl, manifestFilePaths, strategy);
4141
break;
4242
}
4343
case action_1.Action.PROMOTE: {
44-
yield promote_1.promote(kubectl, manifestFilePaths, strategy);
44+
yield (0, promote_1.promote)(kubectl, manifestFilePaths, strategy);
4545
break;
4646
}
4747
case action_1.Action.REJECT: {
48-
yield reject_1.reject(kubectl, manifestFilePaths, strategy);
48+
yield (0, reject_1.reject)(kubectl, manifestFilePaths, strategy);
4949
break;
5050
}
5151
default: {

lib/strategyHelpers/blueGreen/blueGreenHelper.js

+15-14
Original file line numberDiff line numberDiff line change
@@ -36,20 +36,20 @@ function routeBlueGreen(kubectl, inputManifestFiles, routeStrategy) {
3636
throw Error("Version switch buffer must be between 0 and 300 (inclusive)");
3737
const startSleepDate = new Date();
3838
core.info(`Starting buffer time of ${bufferTime} minute(s) at ${startSleepDate.toISOString()}`);
39-
yield timeUtils_1.sleep(bufferTime * 1000 * 60);
39+
yield (0, timeUtils_1.sleep)(bufferTime * 1000 * 60);
4040
const endSleepDate = new Date();
4141
core.info(`Stopping buffer time of ${bufferTime} minute(s) at ${endSleepDate.toISOString()}`);
4242
const manifestObjects = getManifestObjects(inputManifestFiles);
4343
core.debug("Manifest objects: " + JSON.stringify(manifestObjects));
4444
// route to new deployments
4545
if (routeStrategy == routeStrategy_1.RouteStrategy.INGRESS) {
46-
yield ingressBlueGreenHelper_1.routeBlueGreenIngress(kubectl, exports.GREEN_LABEL_VALUE, manifestObjects.serviceNameMap, manifestObjects.ingressEntityList);
46+
yield (0, ingressBlueGreenHelper_1.routeBlueGreenIngress)(kubectl, exports.GREEN_LABEL_VALUE, manifestObjects.serviceNameMap, manifestObjects.ingressEntityList);
4747
}
4848
else if (routeStrategy == routeStrategy_1.RouteStrategy.SMI) {
49-
yield smiBlueGreenHelper_1.routeBlueGreenSMI(kubectl, exports.GREEN_LABEL_VALUE, manifestObjects.serviceEntityList);
49+
yield (0, smiBlueGreenHelper_1.routeBlueGreenSMI)(kubectl, exports.GREEN_LABEL_VALUE, manifestObjects.serviceEntityList);
5050
}
5151
else {
52-
yield serviceBlueGreenHelper_1.routeBlueGreenService(kubectl, exports.GREEN_LABEL_VALUE, manifestObjects.serviceEntityList);
52+
yield (0, serviceBlueGreenHelper_1.routeBlueGreenService)(kubectl, exports.GREEN_LABEL_VALUE, manifestObjects.serviceEntityList);
5353
}
5454
});
5555
}
@@ -110,7 +110,7 @@ function deleteObjects(kubectl, deleteList) {
110110
for (const delObject of deleteList) {
111111
try {
112112
const result = yield kubectl.delete([delObject.kind, delObject.name]);
113-
kubectlUtils_1.checkForErrors([result]);
113+
(0, kubectlUtils_1.checkForErrors)([result]);
114114
}
115115
catch (ex) {
116116
// Ignore failures of delete if it doesn't exist
@@ -133,10 +133,10 @@ function getManifestObjects(filePaths) {
133133
if (!!inputObject) {
134134
const kind = inputObject.kind;
135135
const name = inputObject.metadata.name;
136-
if (kubernetesTypes_1.isDeploymentEntity(kind)) {
136+
if ((0, kubernetesTypes_1.isDeploymentEntity)(kind)) {
137137
deploymentEntityList.push(inputObject);
138138
}
139-
else if (kubernetesTypes_1.isServiceEntity(kind)) {
139+
else if ((0, kubernetesTypes_1.isServiceEntity)(kind)) {
140140
if (isServiceRouted(inputObject, deploymentEntityList)) {
141141
routedServiceEntityList.push(inputObject);
142142
serviceNameMap.set(name, getBlueGreenResourceName(name, exports.GREEN_SUFFIX));
@@ -145,7 +145,7 @@ function getManifestObjects(filePaths) {
145145
unroutedServiceEntityList.push(inputObject);
146146
}
147147
}
148-
else if (kubernetesTypes_1.isIngressEntity(kind)) {
148+
else if ((0, kubernetesTypes_1.isIngressEntity)(kind)) {
149149
ingressEntityList.push(inputObject);
150150
}
151151
else {
@@ -211,11 +211,11 @@ function addBlueGreenLabelsAndAnnotations(inputObject, labelValue) {
211211
const newLabels = new Map();
212212
newLabels[exports.BLUE_GREEN_VERSION_LABEL] = labelValue;
213213
// updating object labels and selector labels
214-
manifestUpdateUtils_1.updateObjectLabels(inputObject, newLabels, false);
215-
manifestUpdateUtils_1.updateSelectorLabels(inputObject, newLabels, false);
214+
(0, manifestUpdateUtils_1.updateObjectLabels)(inputObject, newLabels, false);
215+
(0, manifestUpdateUtils_1.updateSelectorLabels)(inputObject, newLabels, false);
216216
// updating spec labels if it is a service
217-
if (!kubernetesTypes_1.isServiceEntity(inputObject.kind)) {
218-
manifestSpecLabelUtils_1.updateSpecLabels(inputObject, newLabels, false);
217+
if (!(0, kubernetesTypes_1.isServiceEntity)(inputObject.kind)) {
218+
(0, manifestSpecLabelUtils_1.updateSpecLabels)(inputObject, newLabels, false);
219219
}
220220
}
221221
exports.addBlueGreenLabelsAndAnnotations = addBlueGreenLabelsAndAnnotations;
@@ -226,7 +226,8 @@ exports.getBlueGreenResourceName = getBlueGreenResourceName;
226226
function getDeploymentMatchLabels(deploymentObject) {
227227
var _a, _b, _c, _d;
228228
if (((_a = deploymentObject === null || deploymentObject === void 0 ? void 0 : deploymentObject.kind) === null || _a === void 0 ? void 0 : _a.toUpperCase()) ==
229-
kubernetesTypes_1.KubernetesWorkload.POD.toUpperCase() && ((_b = deploymentObject === null || deploymentObject === void 0 ? void 0 : deploymentObject.metadata) === null || _b === void 0 ? void 0 : _b.labels)) {
229+
kubernetesTypes_1.KubernetesWorkload.POD.toUpperCase() &&
230+
((_b = deploymentObject === null || deploymentObject === void 0 ? void 0 : deploymentObject.metadata) === null || _b === void 0 ? void 0 : _b.labels)) {
230231
return deploymentObject.metadata.labels;
231232
}
232233
else if ((_d = (_c = deploymentObject === null || deploymentObject === void 0 ? void 0 : deploymentObject.spec) === null || _c === void 0 ? void 0 : _c.selector) === null || _d === void 0 ? void 0 : _d.matchLabels) {
@@ -267,7 +268,7 @@ function fetchResource(kubectl, kind, name) {
267268
if (!!result.stdout) {
268269
const resource = JSON.parse(result.stdout);
269270
try {
270-
manifestUpdateUtils_1.UnsetClusterSpecificDetails(resource);
271+
(0, manifestUpdateUtils_1.UnsetClusterSpecificDetails)(resource);
271272
return resource;
272273
}
273274
catch (ex) {

0 commit comments

Comments
 (0)