https://pulumi.com logo
Title
a

adamant-butcher-52782

03/21/2023, 10:34 AM
Hi there! I'm new to Pulumi and I'm trying to deploy a basic kubernetes cluster with pulumi (with nodejs). I'm following the tutorial (see screenshots) but when I'm doing
pulumi up
the console is stuck on running... with no output in the preview. I don't get where the issue might be. Any idea on how to debug this?
I0321 11:27:50.771234   76975 log.go:75] found username for access token
I0321 11:27:51.061574   76975 log.go:75] Explicitly ignoring and discarding error: no git repository found from /Users/charlesbochet/dev/twentyhq/twenty-infra
I0321 11:27:51.385535   76975 log.go:75] found username for access token
I0321 11:27:51.385691   76975 log.go:75] Stack twenty/prod being updated to version 3
I0321 11:27:51.820017   76975 log.go:75] *** Starting Update(preview=true) ***
I0321 11:27:51.822843   76975 log.go:75] gatherPluginsFromProgram(): gathering plugins from language host
I0321 11:27:51.823883   76975 log.go:75] GetPluginPath(language, nodejs, <nil>): found on $PATH /opt/homebrew/bin/pulumi-language-nodejs
I0321 11:27:51.823986   76975 log.go:75] Launching plugin 'nodejs' from '/opt/homebrew/bin/pulumi-language-nodejs' with args: -root=/Users/charlesbochet/dev/twentyhq/twenty-infra,127.0.0.1:60923
I0321 11:27:51.852790   76975 log.go:75] langhost[nodejs].GetPluginInfo() executing
I0321 11:27:51.853157   76975 log.go:75] langhost[nodejs].GetRequiredPlugins(proj=twenty-cloud,pwd=/Users/charlesbochet/dev/twentyhq/twenty-infra,program=.) executing
I0321 11:27:52.013995   76975 log.go:75] langhost[nodejs].GetRequiredPlugins(proj=twenty-cloud,pwd=/Users/charlesbochet/dev/twentyhq/twenty-infra,program=.) success: #versions=6
I0321 11:27:52.014032   76975 log.go:75] gatherPluginsFromProgram(): plugin nodejs <nil> () is required by language host
I0321 11:27:52.014040   76975 log.go:75] gatherPluginsFromProgram(): plugin aws 5.32.0 () is required by language host
I0321 11:27:52.014044   76975 log.go:75] gatherPluginsFromProgram(): plugin awsx 1.0.2 () is required by language host
I0321 11:27:52.014047   76975 log.go:75] gatherPluginsFromProgram(): plugin docker 3.6.1 () is required by language host
I0321 11:27:52.014050   76975 log.go:75] gatherPluginsFromProgram(): plugin aws 5.16.2 () is required by language host
I0321 11:27:52.014054   76975 log.go:75] gatherPluginsFromProgram(): plugin eks 1.0.1 () is required by language host
I0321 11:27:52.014057   76975 log.go:75] gatherPluginsFromProgram(): plugin kubernetes 3.24.2 () is required by language host
I0321 11:27:52.014060   76975 log.go:75] gatherPluginsFromSnapshot(): gathering plugins from snapshot
I0321 11:27:52.014068   76975 log.go:75] gatherPluginsFromSnapshot(): skipping "urn:pulumi:prod::twenty-cloud::pulumi:pulumi:Stack::twenty-cloud-prod", not a provider
I0321 11:27:52.014076   76975 log.go:75] ensurePluginsAreInstalled(): beginning
I0321 11:27:52.014485   76975 log.go:75] GetPluginPath(resource, eks, 1.0.1): enabling new plugin behavior
I0321 11:27:52.014492   76975 log.go:75] SelectCompatiblePlugin(..., eks): beginning
I0321 11:27:52.014498   76975 log.go:75] SelectCompatiblePlugin(..., eks): best plugin eks-1.0.1: semver match
I0321 11:27:52.014501   76975 log.go:75] SelectCompatiblePlugin(..., eks): selecting plugin 'eks-1.0.1': best match 
I0321 11:27:52.014511   76975 log.go:75] GetPluginPath(resource, eks, 1.0.1): found in cache at /Users/charlesbochet/.pulumi/plugins/resource-eks-v1.0.1/pulumi-resource-eks
I0321 11:27:52.014516   76975 log.go:75] ensurePluginsAreInstalled(): plugin eks 1.0.1 already installed
I0321 11:27:52.014783   76975 log.go:75] GetPluginPath(resource, kubernetes, 3.24.2): enabling new plugin behavior
0321 11:27:52.014793   76975 log.go:75] SelectCompatiblePlugin(..., kubernetes): beginning
I0321 11:27:52.014799   76975 log.go:75] SelectCompatiblePlugin(..., kubernetes): skipping plugin kubernetes-3.24.1: semver mismatch
I0321 11:27:52.014803   76975 log.go:75] SelectCompatiblePlugin(..., kubernetes): best plugin kubernetes-3.24.2: semver match
I0321 11:27:52.014806   76975 log.go:75] SelectCompatiblePlugin(..., kubernetes): selecting plugin 'kubernetes-3.24.2': best match 
I0321 11:27:52.014818   76975 log.go:75] GetPluginPath(resource, kubernetes, 3.24.2): found in cache at /Users/charlesbochet/.pulumi/plugins/resource-kubernetes-v3.24.2/pulumi-resource-kubernetes
I0321 11:27:52.014822   76975 log.go:75] ensurePluginsAreInstalled(): plugin kubernetes 3.24.2 already installed
I0321 11:27:52.014947   76975 log.go:75] GetPluginPath(language, nodejs, <nil>): found on $PATH /opt/homebrew/bin/pulumi-language-nodejs
I0321 11:27:52.014953   76975 log.go:75] ensurePluginsAreInstalled(): plugin nodejs <nil> already installed
I0321 11:27:52.015224   76975 log.go:75] GetPluginPath(resource, aws, 5.32.0): enabling new plugin behavior
I0321 11:27:52.015230   76975 log.go:75] SelectCompatiblePlugin(..., aws): beginning
I0321 11:27:52.015235   76975 log.go:75] SelectCompatiblePlugin(..., aws): skipping plugin aws-5.16.2: semver mismatch
I0321 11:27:52.015238   76975 log.go:75] SelectCompatiblePlugin(..., aws): skipping plugin aws-5.31.0: semver mismatch
I0321 11:27:52.015241   76975 log.go:75] SelectCompatiblePlugin(..., aws): best plugin aws-5.32.0: semver match
I0321 11:27:52.015245   76975 log.go:75] SelectCompatiblePlugin(..., aws): selecting plugin 'aws-5.32.0': best match 
I0321 11:27:52.015254   76975 log.go:75] GetPluginPath(resource, aws, 5.32.0): found in cache at /Users/charlesbochet/.pulumi/plugins/resource-aws-v5.32.0/pulumi-resource-aws
I0321 11:27:52.015258   76975 log.go:75] ensurePluginsAreInstalled(): plugin aws 5.32.0 already installed
I0321 11:27:52.015526   76975 log.go:75] GetPluginPath(resource, awsx, 1.0.2): enabling new plugin behavior
I0321 11:27:52.015532   76975 log.go:75] SelectCompatiblePlugin(..., awsx): beginning
I0321 11:27:52.015536   76975 log.go:75] SelectCompatiblePlugin(..., awsx): best plugin awsx-1.0.2: semver match
I0321 11:27:52.015540   76975 log.go:75] SelectCompatiblePlugin(..., awsx): selecting plugin 'awsx-1.0.2': best match 
I0321 11:27:52.015553   76975 log.go:75] GetPluginPath(resource, awsx, 1.0.2): found in cache at /Users/charlesbochet/.pulumi/plugins/resource-awsx-v1.0.2/pulumi-resource-awsx
I0321 11:27:52.015557   76975 log.go:75] ensurePluginsAreInstalled(): plugin awsx 1.0.2 already installed
I0321 11:27:52.015808   76975 log.go:75] GetPluginPath(resource, docker, 3.6.1): enabling new plugin behavior
I0321 11:27:52.015820   76975 log.go:75] SelectCompatiblePlugin(..., docker): beginning
I0321 11:27:52.015824   76975 log.go:75] SelectCompatiblePlugin(..., docker): best plugin docker-3.6.1: semver match
I0321 11:27:52.015828   76975 log.go:75] SelectCompatiblePlugin(..., docker): selecting plugin 'docker-3.6.1': best match 
I0321 11:27:52.015836   76975 log.go:75] GetPluginPath(resource, docker, 3.6.1): found in cache at /Users/charlesbochet/.pulumi/plugins/resource-docker-v3.6.1/pulumi-resource-docker
I0321 11:27:52.015839   76975 log.go:75] ensurePluginsAreInstalled(): plugin docker 3.6.1 already installed
I0321 11:27:52.015988   76975 log.go:75] GetPluginPath(resource, aws, 5.16.2): enabling new plugin behavior
I0321 11:27:52.015993   76975 log.go:75] SelectCompatiblePlugin(..., aws): beginning
I0321 11:27:52.015997   76975 log.go:75] SelectCompatiblePlugin(..., aws): best plugin aws-5.16.2: semver match
I0321 11:27:52.016000   76975 log.go:75] SelectCompatiblePlugin(..., aws): skipping plugin aws-5.31.0: semver mismatch
I0321 11:27:52.016003   76975 log.go:75] SelectCompatiblePlugin(..., aws): skipping plugin aws-5.32.0: semver mismatch
I0321 11:27:52.016006   76975 log.go:75] SelectCompatiblePlugin(..., aws): selecting plugin 'aws-5.16.2': best match 
I0321 11:27:52.016015   76975 log.go:75] GetPluginPath(resource, aws, 5.16.2): found in cache at /Users/charlesbochet/.pulumi/plugins/resource-aws-v5.16.2/pulumi-resource-aws
I0321 11:27:52.016018   76975 log.go:75] ensurePluginsAreInstalled(): plugin aws 5.16.2 already installed
I0321 11:27:52.016021   76975 log.go:75] ensurePluginsAreInstalled(): completed
I0321 11:27:52.016028   76975 log.go:75] computeDefaultProviderPlugins(): considering nodejs
I0321 11:27:52.016031   76975 log.go:75] computeDefaultProviderPlugins(): skipping nodejs, not a resource provider
I0321 11:27:52.016034   76975 log.go:75] computeDefaultProviderPlugins(): considering eks-1.0.1
I0321 11:27:52.016038   76975 log.go:75] computeDefaultProviderPlugins(): plugin eks-1.0.1 selected for package eks (first seen)
I0321 11:27:52.016047   76975 log.go:75] computeDefaultProviderPlugins(): considering awsx-1.0.2
I0321 11:27:52.016051   76975 log.go:75] computeDefaultProviderPlugins(): plugin awsx-1.0.2 selected for package awsx (first seen)
I0321 11:27:52.016054   76975 log.go:75] computeDefaultProviderPlugins(): considering docker-3.6.1
I0321 11:27:52.016057   76975 log.go:75] computeDefaultProviderPlugins(): plugin docker-3.6.1 selected for package docker (first seen)
I0321 11:27:52.016061   76975 log.go:75] computeDefaultProviderPlugins(): considering kubernetes-3.24.2
I0321 11:27:52.016064   76975 log.go:75] computeDefaultProviderPlugins(): plugin kubernetes-3.24.2 selected for package kubernetes (first seen)
I0321 11:27:52.016067   76975 log.go:75] computeDefaultProviderPlugins(): considering aws-5.16.2
I0321 11:27:52.016070   76975 log.go:75] computeDefaultProviderPlugins(): plugin aws-5.16.2 selected for package aws (first seen)
I0321 11:27:52.016072   76975 log.go:75] computeDefaultProviderPlugins(): considering aws-5.32.0
I0321 11:27:52.016076   76975 log.go:75] computeDefaultProviderPlugins(): plugin aws-5.32.0 selected for package aws (override, newer than previous 5.16.2)
I0321 11:27:52.016082   76975 log.go:69] computeDefaultProviderPlugins(): summary of default plugins:
I0321 11:27:52.016088   76975 log.go:75]   eks             = 1.0.1
I0321 11:27:52.016092   76975 log.go:75]   awsx            = 1.0.2
I0321 11:27:52.016095   76975 log.go:75]   docker          = 3.6.1
I0321 11:27:52.016099   76975 log.go:75]   kubernetes      = 3.24.2
I0321 11:27:52.016102   76975 log.go:75]   aws             = 5.32.0
I0321 11:27:52.016149   76975 log.go:75] provider(urn:pulumi:prod::twenty-cloud::pulumi:pulumi:Stack::twenty-cloud-prod): 
I0321 11:27:52.016322   76975 log.go:75] deploymentExecutor.Execute(...): waiting for incoming events
I0321 11:27:52.016359   76975 log.go:75] StepExecutor worker(-2): worker coming online
I0321 11:27:52.016365   76975 log.go:75] StepExecutor worker(-2): worker waiting for incoming chains
I0321 11:27:52.016370   76975 log.go:75] langhost[nodejs].Run(pwd=/Users/charlesbochet/dev/twentyhq/twenty-infra,program=.,#args=0,proj=twenty-cloud,stack=prod,#config=9,dryrun=true) executing
I0321 11:27:52.052835   76975 log.go:75] eventSink::Infoerr(<{%reset%}>I0321 11:27:52.052786   76981 log.go:69] Language host launching process: /Users/charlesbochet/.nvm/versions/node/v16.15.1/bin/node/Users/charlesbochet/dev/twentyhq/twenty-infra/node_modules/@pulumi/pulumi/cmd/run/index.js --monitor 127.0.0.1:60929 --engine 127.0.0.1:60923 --sync /var/folders/t3/05v0b7k968x_17w7fyty7x_00000gn/T/pulumi-node-pipes1824896633 --organization twenty --project twenty-cloud --stack prod --pwd /Users/charlesbochet/dev/twentyhq/twenty-infra --dry-run --query-mode false --parallel 2147483647 .
<{%reset%}>)
I0321 11:27:52.513661   76975 log.go:75] Registering resource: t=pulumi:pulumi:Stack, name=twenty-cloud-prod, custom=false, remote=false
I0321 11:27:52.513689   76975 log.go:75] eventSink::Debug(<{%reset%}>Registering resource: t=pulumi:pulumi:Stack, name=twenty-cloud-prod, custom=false, remote=false<{%reset%}>)
I0321 11:27:52.517189   76975 log.go:75] ResourceMonitor.SupportsFeature(id: aliasSpecs) = true
I0321 11:27:52.520327   76975 log.go:75] RegisterResource RPC prepared: t=pulumi:pulumi:Stack, name=twenty-cloud-prod
I0321 11:27:52.520353   76975 log.go:75] eventSink::Debug(<{%reset%}>RegisterResource RPC prepared: t=pulumi:pulumi:Stack, name=twenty-cloud-prod<{%reset%}>)
I0321 11:27:52.520693   76975 log.go:75] ResourceMonitor.RegisterResource received: t=pulumi:pulumi:Stack, name=twenty-cloud-prod, custom=false, #props=0, parent=, protect=false, provider=, deps=[], deleteBeforeReplace=<nil>, ignoreChanges=[], aliases=[], customTimeouts={0 0 0}, providers=map[], replaceOnChanges=[], retainOnDelete=false, deletedWith=
I0321 11:27:52.520714   76975 log.go:75] EvalSourceIterator produced a registration: t=pulumi:pulumi:Stack,name=twenty-cloud-prod,#props=0
I0321 11:27:52.520722   76975 log.go:75] deploymentExecutor.Execute(...): incoming event (nil? false, <nil>)
I0321 11:27:52.520740   76975 log.go:75] deploymentExecutor.handleSingleEvent(...): received RegisterResourceEvent
I0321 11:27:52.520767   76975 log.go:75] Planner decided not to update 'urn:pulumi:prod::twenty-cloud::pulumi:pulumi:Stack::twenty-cloud-prod' after diff (same) (inputs=map[])
I0321 11:27:52.520775   76975 log.go:75] Checking step same for urn:pulumi:prod::twenty-cloud::pulumi:pulumi:Stack::twenty-cloud-prod
I0321 11:27:52.520782   76975 log.go:75] StepExecutor worker(-2): worker received chain for execution
I0321 11:27:52.520789   76975 log.go:75] StepExecutor worker(-2): worker waiting for incoming chains
I0321 11:27:52.520796   76975 log.go:75] StepExecutor worker(0): launching oneshot worker
I0321 11:27:52.520811   76975 log.go:75] StepExecutor worker(0): applying step same on urn:pulumi:prod::twenty-cloud::pulumi:pulumi:Stack::twenty-cloud-prod (preview true)
I0321 11:27:52.520826   76975 log.go:75] StepExecutor worker(0): step same on urn:pulumi:prod::twenty-cloud::pulumi:pulumi:Stack::twenty-cloud-prod retired
I0321 11:27:52.520832   76975 log.go:75] ResourceMonitor.RegisterResource operation finished: t=pulumi:pulumi:Stack, urn=urn:pulumi:prod::twenty-cloud::pulumi:pulumi:Stack::twenty-cloud-prod, #outs=0
I0321 11:27:52.526245   76975 log.go:75] RegisterResource RPC finished: resource:twenty-cloud-prod[pulumi:pulumi:Stack]; err: null, resp: urn:pulumi:prod::twenty-cloud::pulumi:pulumi:Stack::twenty-cloud-prod,,,,
I0321 11:27:52.526277   76975 log.go:75] eventSink::Debug(<{%reset%}>RegisterResource RPC finished: resource:twenty-cloud-prod[pulumi:pulumi:Stack]; err: null, resp: urn:pulumi:prod::twenty-cloud::pulumi:pulumi:Stack::twenty-cloud-prod,,,,<{%reset%}>)
I0321 11:27:52.528076   76975 log.go:75] Running program '/Users/charlesbochet/dev/twentyhq/twenty-infra' in pwd '/Users/charlesbochet/dev/twentyhq/twenty-infra' w/ args: 
I0321 11:27:52.528089   76975 log.go:75] eventSink::Debug(<{%reset%}>Running program '/Users/charlesbochet/dev/twentyhq/twenty-infra' in pwd '/Users/charlesbochet/dev/twentyhq/twenty-infra' w/ args: <{%reset%}>)
image.png
I've made some progress. Here is my index.ts file:
import * as pulumi from "@pulumi/pulumi";
import * as awsx from "@pulumi/awsx";
import * as eks from "@pulumi/eks";

// Grab some values from the Pulumi configuration (or use default values)
const config = new pulumi.Config();
const minClusterSize = config.getNumber("minClusterSize") || 3;
const maxClusterSize = config.getNumber("maxClusterSize") || 6;
const desiredClusterSize = config.getNumber("desiredClusterSize") || 3;
const eksNodeInstanceType = config.get("eksNodeInstanceType") || "t3.medium";
const vpcNetworkCidr = config.get("vpcNetworkCidr") || "10.0.0.0/16";

// Create a new VPC
const eksVpc = new awsx.ec2.Vpc("eks-vpc", {
    enableDnsHostnames: true,
    cidrBlock: vpcNetworkCidr,
});


// Create the EKS cluster
const eksCluster = new eks.Cluster("eks-cluster", {
    // Put the cluster in the new VPC created earlier
    vpcId: eksVpc.vpcId,
    // Public subnets will be used for load balancers
    publicSubnetIds: eksVpc.publicSubnetIds,
    // Private subnets will be used for cluster nodes
    privateSubnetIds: eksVpc.privateSubnetIds,
    // Change configuration values to change any of the following settings
    instanceType: eksNodeInstanceType,
    desiredCapacity: desiredClusterSize,
    minSize: minClusterSize,
    maxSize: maxClusterSize,
    // Do not give the worker nodes public IP addresses
    nodeAssociatePublicIpAddress: false,
    // Uncomment the next two lines for a private cluster (VPN access required)
    // endpointPrivateAccess: true,
    // endpointPublicAccess: false
});

// Export some values for use elsewhere
export const kubeconfig = eksCluster.kubeconfig;
export const vpcId = eksVpc.vpcId;
If i remove the part about the EKS cluster, it's working : the VPC is provisioned. If I leave the EKS cluster config it's hanging forever
OK found it ! It was because I had kubectl installed with some specific config in ~/.kube/config