mintproject / mint

Entry point repository to the core software of the MINT framework
Apache License 2.0
0 stars 1 forks source link

Ensemble Manager gets directory permission issue before running #21

Open varunratnakar opened 7 months ago

varunratnakar commented 7 months ago

mint-ensemble-manager@4.1.0 start ts-node -r node-localstorage/register ./dist/server.js

Error: EACCES: permission denied, mkdir '/home/node/app/data/data' at Object.mkdirSync (node:fs:1382:3) at Object.mkdirsSync (/home/node/app/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js:31:9) at eval (webpack://ensemble-manager/./src/classes/mint/mint-local-functions.ts?:62:32) at Generator.next () at fulfilled (webpack://ensemble-manager/./src/classes/mint/mint-local-functions.ts?:5:58) at processTicksAndRejections (node:internal/process/task_queues:95:5) { errno: -13, syscall: 'mkdir', code: 'EACCES', path: '/home/node/app/data/data' }

varunratnakar commented 7 months ago

The permissions for /home/node/app/data/ within the container is drwxr-xr-x 2 root root 40 Nov 30 17:32 data

whereas ensemble manager is running as "node" 18 node 0:07 node /home/node/app/node_modules/.bin/ts-node -r node-localstorage/register ./dist/server.js

varunratnakar commented 7 months ago

I'm able to solve it by adding an initContainers key in spec -> template -> spec

  initContainers:
    - name: volume-mount-hack
      image: busybox
      command: ["sh", "-c", "chown -R 1000:1000 /home/node/app/data"]
      volumeMounts:
      - name: storage
        mountPath: /home/node/app/data