This message was deleted.
# general
s
This message was deleted.
w
To reproduce this, run:
Copy code
curl <https://install.meteor.com/> | sh
meteor create --minimal mymeteor-app
cd mymeteor-app
meteor npm install @empirica/meteor-deploy
npx meteor-deploy init
Then:
Copy code
pulumi stack select
Then:
Copy code
npx meteor-deploy stack configure aws-ecs-ec2 --instanceType t2.medium
pulumi up --logtostderr -v=9
b
Pulumi is trying to install the plugins required for the project
if it's AWS resources then it will autoacquire the aws plugin binary
I'm not qute sure what meteor is so I'm not sure how it's execting the command
Does it even integrate with Pulumi?
w
meteor shouldn ot be a relevant, here. its just a nodejs platform.
b
so what is the application that Pulumi is trying to deploy?
w
i am buiding
@empirica/meteor-deploy
a tool that deploys a meteor project.
b
can you show me the code that Pulumi is deploying?
w
the reason why i say meteor is not relevent is because I am confident that it does not hit any of its code.
b
FWIW, there is no way of being able to invoke Pulumi other than the CLI itself - if you are wrapping Pulumi with another tool and trying to invoke other than CLI, it will not work
w
yea, i figured that out already. But I am running it through
pulumi up
. so that's not the issue either.
Ok, I have just tried running the above commands in docker image. And could not reproduce the issue.
seems to be some symlink problem.
Anyway this is the code that it is running: https://github.com/empiricaly/meteor-deploy
So given that it's not reproducible on a docker image I suspect that it's either nvm or some symlinks created by
npm link
on my machine
b
it is reproducible in docker?
So given that it's reproducible on a docker
w
sorry, i meant "not reproducible *"
will check with nvm now.
does
GetRequiredPlugins
use any caches ?
b
it will check to see if there is a version of the plugin available in the plugin cache
it will be in the pulumi directory
pulumi plugin ls will tell you what is currently install
installed*
w
but it will always go through node_modules to check what plugins it needs? There is no cache for the check itself?
i am asking because I am iteratively trying to isolate the problem.
caches can make this hard.
b
@wonderful-dog-9045 no, it doesn't store the plugins in node_modules
it uses where Pulumi is installed by default
▶️ ls $HOME/.pulumi/plugins
w
what i meant by that question is whether
GetRequiredPlugins
caches the result of the check itself (not the plugins)
given that it seems to crash on the check and not on the installation of the plugins
b
it does not - it will make it on each request AFAICR
the plugin can be removed at any time so it needs to check for the plugin to be there
w
So I am running on the assumption that it hangs on a circular symlink: https://github.com/pulumi/pulumi/issues/2928
However checking
node_modules
there are symlinks
can you point me to the implementation of the check loop so I can see which directories it is trying to traverse?
(nvm is giving me a headache with installation on docker, I guess it doesn't like to be run as root.) So i am trying to figure this out from the other side.)
ok the issue is not with npm
After hours and hours of picking into things I finally found the culprit. I had an uncommitted package.json in completely unrelated subdirectory. Did not expect pulumi to poke into it, but it did and it found some dodgy file:/ dependency in it.
Took me at least 4 hours to find this.