Skip to content

Commit bf476af

Browse files
authored
Merge pull request #9 from cowprotocol/nuno/fix-restart-strategy
Bump versions, make updates forceful and synchronous
2 parents 30f107a + 7928275 commit bf476af

File tree

3 files changed

+12
-9
lines changed

3 files changed

+12
-9
lines changed

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
FROM node:10-alpine3.10
1+
FROM node:24-alpine3.22
22

33
# Install Kubectl binary
44
RUN apk update && \
55
apk add --no-cache bash git openssh curl tini && \
6-
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.5/bin/linux/amd64/kubectl && \
6+
curl -LO https://dl.k8s.io/release/v1.34.1/bin/linux/amd64/kubectl && \
77
chmod +x kubectl && mv kubectl /usr/local/bin/kubectl && \
88
rm -rf /var/cache/apk/*
99

routes/images.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,15 @@ router.post("/:images/restart", async function (request, response, next) {
3434

3535
// Note: This approach initiates the recreate process in the background after responding to the request.
3636
// It does not handle concurrency control for multiple overlapping requests.
37-
filteredDeployments.forEach(async (deploymentInfo) => {
37+
for(const deploymentInfo of filteredDeployments){
3838
const [deploymentName] = deploymentInfo.split(" ");
3939
try {
4040
await deployment.restart(deploymentName);
4141
debug("Deployment restarted => %s", deploymentName);
4242
} catch (error) {
43-
debug("Error during restart of %s => %s", deploymentName, error.message ? error.message : error);
43+
debug("Error during restart of %s => %s", deploymentName, error.message);
4444
}
45-
});
45+
}
4646
});
4747

4848
// Rollout all deployments that run a specific image
@@ -75,15 +75,15 @@ router.post("/:images/rollout", async function (request, response, next) {
7575

7676
// Note: This approach initiates the rollout process in the background after responding to the request.
7777
// It does not handle concurrency control for multiple overlapping requests.
78-
filteredDeployments.forEach(async (deploymentInfo) => {
78+
for(const deploymentInfo of filteredDeployments){
7979
const [deploymentName] = deploymentInfo.split(" ");
8080
try {
8181
await deployment.rollout(deploymentName);
8282
debug("Deployment rolled out => %s", deploymentName);
8383
} catch (error) {
84-
debug("Error during rollout of %s => %s", deploymentName, error.message ? error.message : error);
84+
debug("Error during rollout of %s => %s", deploymentName, error.message);
8585
}
86-
});
86+
}
8787
});
8888

8989
module.exports = router;

util/commands.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ const deployment = {
1818
replaceConfig (config) {
1919
return executeCommand('kubectl', ['replace', '-f', '-'], {input: config})
2020
},
21+
forceReplaceConfig (config) {
22+
return executeCommand('kubectl', ['replace', '--force', '-f', '-'], {input: config})
23+
},
2124
delete (deploymentName) {
2225
return executeCommand('kubectl', ['delete', 'deployment', deploymentName])
2326
},
@@ -45,7 +48,7 @@ const deployment = {
4548
},
4649
restart (deploymentName) {
4750
return this.getConfig(deploymentName).then(config => {
48-
return this.replaceConfig(config)
51+
return this.forceReplaceConfig(config)
4952
})
5053
},
5154
rollout (deploymentName) {

0 commit comments

Comments
 (0)