From 5da30bc3d12313d2d30a4d5c5ebdf0c4c22e3f7d Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Tue, 18 Jun 2024 16:26:18 +0100 Subject: [PATCH] Use project.id rather than name for PVC This is to stop people reusing the a project name and getting access to an existing directory before it is deleted --- kubernetes.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/kubernetes.js b/kubernetes.js index b6bd873..0040342 100644 --- a/kubernetes.js +++ b/kubernetes.js @@ -313,9 +313,10 @@ const createPersistentVolumeClaim = async (project, options) => { } pvc.metadata.namespace = namespace - pvc.metadata.name = `${project.safeName}-pvc` + pvc.metadata.name = `${project.id}-pvc` pvc.metadata.labels = { - name: project.safeName + 'ff-project-id': project.id, + 'ff-project-name': project.safeName } return pvc } @@ -856,7 +857,7 @@ module.exports = { } if (this._app.config.driver.options?.storage?.enabled) { try { - await this._k8sApi.deleteNamespacedPersistentVolumeClaim(`${project.safeName}-pvc`, this._namespace) + await this._k8sApi.deleteNamespacedPersistentVolumeClaim(`${project.id}-pvc`, this._namespace) } catch (err) { this._app.log.error(`[k8s] Instance ${project.id} - error deleting PVC: ${err.toString()} ${err.statusCode}`) // console.log(err)