An update for anyone interested.
I had a look in the container that ABX deploys on the appliance. It renames the function entry point script (for reasons?) and has failed to upload any other scripts, folders or dependencies (node_modules in this case). Updating the container and committing a new image (as latest) doesn't work unfortunately, and the deployed containers have rootfs as read only.
I have raised an issue with GSS and will report back on any fixes/workarounds.
Have you checked the instructions from here: Create a ZIP package for Node.js runtime extensibility actions ?
ABX modifies the entrypoint to wrap the original code with some extra code to handle some ABX logic (preparing special inputs, handling outputs and so on).
I hope that helps.
Yep, I've checked those instructions.
As I mentioned in the original post, its working with AWS lambda (which does not rename the main script), though do use different abx_wrapper.js scripts
Thanks for the update, and it's great to hear that a fix will be coming by 8.0.1.
Is nodejs used to build the python containers as well? I just tested an on-prem FaaS Python ABX through zip import and it has the same behaviour. None of the additional files in my zip are uploaded and requirements.txt is blank.
Could you elaborate how to you browsed the container on the appliance? This could be pretty handy for troubleshooting and I can't seem to find any documentation on it.
GSS have closed my SR after confirming the fix is coming in 8.0.1 for both nodejs and python ABX.
Unfortunately there is no workaround at this stage.
Use "docker list images" and "docker ps | grep" to find the right container. Then use "docker exec" to run a command or connect interactively, or "docker run" if you want to deploy a separate container to the ABX one.
For anyone interested the issue was fixed for Python ABX in 8.0.1
Unfortunately nodejs wound up even more broken. I have an SR open that Engineering have confirmed a fix is "coming".
I'll provide another update later.