Skip to content

Commit 8bc385c

Browse files
authored
fix: mark repos soft delete (#276)
* fix: 1. mark repo as soft deleted 2. update chart version 3. try one values file. Signed-off-by: OMPRAKASH MISHRA <omprakashmishra3978@gmail.com> * fix: 1. mark repo as soft deleted 2. update chart version 3. try one values file. Signed-off-by: OMPRAKASH MISHRA <omprakashmishra3978@gmail.com> * fix: 1. mark repo as soft deleted 2. update chart version 3. try one values file. Signed-off-by: OMPRAKASH MISHRA <omprakashmishra3978@gmail.com> * try different resources. Signed-off-by: OMPRAKASH MISHRA <omprakashmishra3978@gmail.com> * single values.yaml Signed-off-by: OMPRAKASH MISHRA <omprakashmishra3978@gmail.com> * adding more logs. Signed-off-by: OMPRAKASH MISHRA <omprakashmishra3978@gmail.com> * adding more logs. Signed-off-by: OMPRAKASH MISHRA <omprakashmishra3978@gmail.com> * update to latest version Signed-off-by: OMPRAKASH MISHRA <omprakashmishra3978@gmail.com> --------- Signed-off-by: OMPRAKASH MISHRA <omprakashmishra3978@gmail.com>
1 parent 253fc98 commit 8bc385c

File tree

8 files changed

+94
-282
lines changed

8 files changed

+94
-282
lines changed

.github/workflows/pr-open.yml

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,39 @@ jobs:
8787
# Deploy Helm Chart
8888
cd charts/pubcode
8989
helm dependency update
90-
helm upgrade --install --wait --atomic pubcode-${{ github.event.number }} --values values-pr.yaml --set-string global.repository=${{ github.repository }} --set-string api.containers[0].tag="${{ github.sha }}" --set-string frontend.containers[0].tag="${{ github.sha }}" --set-string global.secrets.emailRecipients="${{ secrets.EMAIL_RECIPIENTS }}" --set-string global.secrets.chesTokenURL="${{ secrets.CHES_TOKEN_URL }}" --set-string global.secrets.chesClientID="${{ secrets.CHES_CLIENT_ID }}" --set-string global.secrets.chesClientSecret="${{ secrets.CHES_CLIENT_SECRET }}" --set-string global.secrets.chesAPIURL="${{ secrets.CHES_API_URL }}" --set-string global.secrets.databaseAdminPassword="${{ secrets.DB_PWD }}" --set-string global.env.VITE_SCHEMA_BRANCH=${{ github.event.pull_request.head.ref }} --set-string namespace="${{ vars.oc_namespace }}" --timeout 5m .
90+
helm upgrade --install --wait --atomic pubcode-${{ github.event.number }} \
91+
--set-string global.repository=${{ github.repository }} \
92+
--set-string api.containers[0].tag="${{ github.sha }}" \
93+
--set-string api.containers[0].resources.limits.cpu="250m" \
94+
--set-string api.containers[0].resources.limits.memory="250Mi" \
95+
--set-string api.containers[0].resources.requests.cpu="100m" \
96+
--set-string api.containers[0].resources.requests.memory="150Mi" \
97+
--set api.autoscaling.minReplicas=1 \
98+
--set api.autoscaling.maxReplicas=1 \
99+
--set frontend.autoscaling.minReplicas=1 \
100+
--set frontend.autoscaling.maxReplicas=1 \
101+
--set-string frontend.containers[0].tag="${{ github.sha }}" \
102+
--set-string frontend.containers[0].resources.limits.cpu="200m" \
103+
--set-string frontend.containers[0].resources.limits.memory="150Mi" \
104+
--set-string frontend.containers[0].resources.requests.cpu="100m" \
105+
--set-string frontend.containers[0].resources.requests.memory="50Mi" \
106+
--set-string database.containers[0].resources.limits.cpu="500m" \
107+
--set-string database.containers[0].resources.limits.memory="450Mi" \
108+
--set-string database.containers[0].resources.requests.cpu="100m" \
109+
--set-string database.containers[0].resources.requests.memory="150Mi" \
110+
--set-string database.initContainers[0].resources.limits.cpu="500m" \
111+
--set-string database.initContainers[0].resources.limits.memory="450Mi" \
112+
--set-string database.initContainers[0].resources.requests.cpu="100m" \
113+
--set-string database.initContainers[0].resources.requests.memory="150Mi" \
114+
--set-string database.pvc.size="350Mi" \
115+
--set-string global.secrets.emailRecipients="${{ secrets.EMAIL_RECIPIENTS }}" \
116+
--set-string global.secrets.chesTokenURL="${{ secrets.CHES_TOKEN_URL }}" \
117+
--set-string global.secrets.chesClientID="${{ secrets.CHES_CLIENT_ID }}" \
118+
--set-string global.secrets.chesClientSecret="${{ secrets.CHES_CLIENT_SECRET }}" \
119+
--set-string global.secrets.chesAPIURL="${{ secrets.CHES_API_URL }}" \
120+
--set-string global.secrets.databaseAdminPassword="${{ secrets.DB_PWD }}" \
121+
--set-string global.env.VITE_SCHEMA_BRANCH=${{ github.event.pull_request.head.ref }} \
122+
--set-string namespace="${{ vars.oc_namespace }}" -f values.yaml --timeout 5m .
91123

92124
cypress-e2e:
93125
name: Cypress end to end test

api/src/app.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,5 +40,9 @@ app.get("/", (req, res, next) => {
4040
});
4141
app.use(/(\/api)?/, apiRouter);
4242
apiRouter.use("/pub-code", pubcodeRouter);
43+
app.use((req, res, next) => {
44+
res.status(404).send(
45+
"<h1>Not Found.</h1>");
46+
});
4347

4448
module.exports = app;

api/src/email/ches-service.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class ChesService {
2626
});
2727
return { data, status };
2828
} catch (e) {
29-
console.log(SERVICE, e);
29+
console.error(SERVICE, e);
3030
}
3131
}
3232

@@ -52,7 +52,7 @@ class ChesService {
5252
return { data, status };
5353
}
5454
} catch (e) {
55-
console.log(SERVICE, e);
55+
console.error(SERVICE, e);
5656
}
5757
}
5858

@@ -81,7 +81,7 @@ class ChesService {
8181
return { data, status };
8282
}
8383
} catch (e) {
84-
console.log(SERVICE, e);
84+
console.error(SERVICE, e);
8585
}
8686
}
8787

@@ -100,7 +100,8 @@ class ChesService {
100100
);
101101
return { data, status };
102102
} catch (e) {
103-
console.log(SERVICE, e?.config?.data?.errors);
103+
console.error(e);
104+
console.error(SERVICE, e?.config?.data?.errors);
104105
}
105106
}
106107

@@ -119,7 +120,7 @@ class ChesService {
119120
);
120121
return { data, status };
121122
} catch (e) {
122-
console.log(SERVICE, e);
123+
console.error(SERVICE, e);
123124
}
124125
}
125126

@@ -138,7 +139,7 @@ class ChesService {
138139
);
139140
return { data, status };
140141
} catch (e) {
141-
console.log(SERVICE, e);
142+
console.error(SERVICE, e);
142143
}
143144
}
144145

@@ -167,7 +168,7 @@ class ChesService {
167168
return { data, status };
168169
}
169170
} catch (e) {
170-
console.log(SERVICE, e);
171+
console.error(SERVICE, e);
171172
}
172173
}
173174

api/src/routes/pubcode-router.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
const express = require("express");
22
const router = express.Router();
3-
const { bulkLoad, readAll, findById, health } = require("../services/pub-code-service");
3+
const { bulkLoad, readAll, findById, health, softDeleteRepo } = require("../services/pub-code-service");
44

55
router.get("/ip/trace", (request, response) => response.send(request.ip));
66
router.get("/health", health);
@@ -11,8 +11,16 @@ router.post("/bulk-load", (req, res, next) => {
1111
res.status(401).json({ message: "Unauthorized" });
1212
}
1313
}, bulkLoad);
14-
14+
/**
15+
* This method allows for patching the objects with soft
16+
*/
17+
router.delete("/:repo_name", (req, res, next) => {
18+
if (req.header("X-API-KEY") && req.header("X-API-KEY") === process.env.API_KEY) {
19+
next();
20+
} else {
21+
res.status(401).json({ message: "Unauthorized" });
22+
}
23+
}, softDeleteRepo);
1524
router.get("/", readAll);
16-
router.get("/:id", findById);
1725

1826
module.exports = router;

api/src/services/pub-code-service.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,10 +115,26 @@ const health = async (req, res) => {
115115
res.status(500).json(error);
116116
}
117117
};
118+
const softDeleteRepo = async (req, res) => {
119+
try {
120+
let pubcodeEntityFromDB = await pubcodeEntity.findOne({ repo_name: req.params.repo_name }).exec();
121+
if (!pubcodeEntityFromDB) {
122+
res.status(404).json({ message: "Repo Not Found" });
123+
} else {
124+
await pubcodeEntity.updateOne({ _id: pubcodeEntityFromDB["_id"] }, { is_deleted: true }).exec();
125+
pubcodeEntityFromDB = await pubcodeEntity.findOne({ repo_name: req.params.repo_name }).exec();
126+
console.info(pubcodeEntityFromDB);
127+
res.status(200).json({ message: "Repo Marked as soft deleted." });
128+
}
129+
} catch (e) {
130+
console.error(e);
131+
}
118132

133+
};
119134
module.exports = {
120135
bulkLoad,
121136
readAll,
122137
findById,
123-
health
138+
health,
139+
softDeleteRepo
124140
};

charts/pubcode/Chart.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,18 @@ dependencies:
2727

2828
- name: component
2929
condition: api.enabled
30-
version: 0.0.11
30+
version: 0.0.14
3131
repository: https://bcgov.github.io/helm-service/
3232
alias: api
3333

3434
- name: component
3535
condition: frontend.enabled
36-
version: 0.0.11
36+
version: 0.0.14
3737
repository: https://bcgov.github.io/helm-service/
3838
alias: frontend
3939

4040
- name: component
4141
condition: database.enabled
42-
version: 0.0.11
42+
version: 0.0.14
4343
repository: https://bcgov.github.io/helm-service/
4444
alias: database

0 commit comments

Comments
 (0)