Is there a way to output such nice log output to t...
# getting-started
s
Is there a way to output such nice log output to the file?:
Copy code
Previewing update (depo.dev):
     Type                 Name                          Plan     Info
     pulumi:pulumi:Stack  Depo.AccountService-depo.dev           'dotnet build -nologo .' completed successfully
     Type                                                 Name                                                         Plan       
 +   pulumi:pulumi:Stack                                  Depo.AccountService-depo.dev                                 create     
 +   ├─ allegropay:azure:webappprincipal                  AccountService-webapp-depo-dev-ServiceRegistrationComponent  create     
 +   ├─ azure-native:keyvault:Secret                      depo-ServiceDiscovery-AccountService-Url-Shared              create     
 +   ├─ azure-native:resources:ResourceGroup              depo-acntsrv-euw-dev                                         create     
 +   ├─ azure-native:keyvault:Secret                      depo-ServiceDiscovery-AccountService-Url-Svcd                create     
 +   ├─ azure-native:authorization:ManagementLockByScope  depo-acntsrv-euw-dev-lck                                     create     

Policies:
    :white_check_mark: azure-appinsights-policies@v0.0.1 (local: /Users/.../node_modules/allegropay-ops-iac-azure-appinsights-policies)
    :white_check_mark: azure-core-policies@v0.0.20 (local: /Users/.../node_modules/allegropay-ops-iac-azure-core-policies)
    :white_check_mark: azure-keyvault-policies@v0.0.4 (local: /Users/.../node_modules/allegropay-ops-iac-azure-keyvault-policies)
    :white_check_mark: azure-loganalytics-policies@v0.0.5 (local: /Users/.../node_modules/allegropay-ops-iac-azure-loganalytics-policies)
    :white_check_mark: azure-servicebus-policies@v0.0.2 (local: /Users/.../node_modules/allegropay-ops-iac-azure-servicebus-policies)

Resources:
    + 6 to create
When I am trying to do:
pulumi preview | tee preview.log
I am getting an uglier version:
Copy code
Previewing update (depo.dev):
    pulumi:pulumi:Stack Depo.AccountService-depo.dev  running 'dotnet build -nologo .'
    pulumi:pulumi:Stack Depo.AccountService-depo.dev    Determining projects to restore...
    pulumi:pulumi:Stack Depo.AccountService-depo.dev    All projects are up-to-date for restore.
    pulumi:pulumi:Stack Depo.AccountService-depo.dev    Deposits.AccountService.Iac -> /Users/jakub.dropia/src/AccountService/iac/bin/Debug/net8.0/Deposits.AccountService.Iac.dll
    pulumi:pulumi:Stack Depo.AccountService-depo.dev  
    pulumi:pulumi:Stack Depo.AccountService-depo.dev  Build succeeded.
    pulumi:pulumi:Stack Depo.AccountService-depo.dev  'dotnet build -nologo .' completed successfully
@ previewing update....
Loading policy packs...

@ previewing update.................

@ previewing update.......
 +  pulumi:pulumi:Stack Depo.AccountService-depo.dev create 'dotnet build -nologo .' completed successfully
 +  allegropay:azure:webappprincipal AccountService-webapp-depo-dev-ServiceRegistrationComponent create 
@ previewing update.....
 +  azure-native:keyvault:Secret depo-ServiceDiscovery-AccountService-Url-Shared create 
 +  azure-native:resources:ResourceGroup depo-acntsrv-euw-dev create 
 +  azure-native:keyvault:Secret depo-ServiceDiscovery-AccountService-Url-Svcd create 
 +  azure-native:authorization:ManagementLockByScope depo-acntsrv-euw-dev-lck create 
@ previewing update....
 +  pulumi:pulumi:Stack Depo.AccountService-depo.dev create 
Policies:
    ✅ azure-appinsights-policies@v0.0.1 (local: /Users/.../node_modules/allegropay-ops-iac-azure-appinsights-policies)
    ✅ azure-core-policies@v0.0.20 (local: /Users/.../node_modules/allegropay-ops-iac-azure-core-policies)
    ✅ azure-keyvault-policies@v0.0.4 (local: /Users/.../node_modules/allegropay-ops-iac-azure-keyvault-policies)
    ✅ azure-loganalytics-policies@v0.0.5 (local: /Users/.../node_modules/allegropay-ops-iac-azure-loganalytics-policies)
    ✅ azure-servicebus-policies@v0.0.2 (local: /Users/.../node_modules/allegropay-ops-iac-azure-servicebus-policies)

Resources:
    + 6 to create
f
you'd have to trick
pulumi
that it's running interactively e.g. one way on Mac/Linux:
script preview.log pulumi preview
s
something that I already tried and got a really ugly output 😄
f
oof, hm. it Worked On My Machine 😞
oh do you mean the file had color codes like
^[[0m
s
yes, and duplicated sections: it looks like:
Copy code
Script started on Thu Oct  3 18:19:20 2024
Command: pulumi preview
[38;5;13m[1mPreviewing update (depo.dev):[0m

     [4m[38;5;12mType[0m                 [4m[38;5;12mName[0m                          [4m[38;5;12mPlan[0m     [4m[38;5;12mInfo[0m[K
 [1m[0m  [0m  pulumi:pulumi:Stack  Depo.AccountService-depo.dev  [1m[0m[0m         [0mrunning 'dotnet build -nologo .'[0m[K

[2A     [4m[38;5;12mType[0m                 [4m[38;5;12mName[0m                          [4m[38;5;12mPlan[0m     [4m[38;5;12mInfo[0m[K
 [1m[0m  [0m  pulumi:pulumi:Stack  Depo.AccountService-depo.dev  [1m[0m[0m         [0m  Determining projects to restore...[K

[2A     [4m[38;5;12mType[0m                 [4m[38;5;12mName[0m                          [4m[38;5;12mPlan[0m     [4m[38;5;12mInfo[0m[K
 [1m[0m  [0m  pulumi:pulumi:Stack  Depo.AccountService-depo.dev  [1m[0m[0m         [0m  All projects are up-to-date for restore.[K

[2A     [4m[38;5;12mType[0m                 [4m[38;5;12mName[0m                          [4m[38;5;12mPlan[0m     [4m[38;5;12mInfo[0m[K
 [1m[0m  [0m  pulumi:pulumi:Stack  Depo.AccountService-depo.dev  [1m[0m[0m         [0m  All projects are up-to-date for restore.[K

[2A     [4m[38;5;12mType[0m                 [4m[38;5;12mName[0m                          [4m[38;5;12mPlan[0m     [4m[38;5;12mInfo[0m[K
 [1m[0m  [0m  pulumi:pulumi:Stack  Depo.AccountService-depo.dev  [1m[0m[0m         [0m  All projects are up-to-date for restore.[K

[2A     [4m[38;5;12mType[0m                 [4m[38;5;12mName[0m                          [4m[38;5;12mPlan[0m     [4m[38;5;12mInfo[0m[K
 [1m[0m  [0m  pulumi:pulumi:Stack  Depo.AccountService-depo.dev  [1m[0m[0m         [0mBuild succeeded.[K

[2A     [4m[38;5;12mType[0m                 [4m[38;5;12mName[0m                          [4m[38;5;12mPlan[0m     [4m[38;5;12mInfo[0m[K
 [1m[0m  [0m  pulumi:pulumi:Stack  Depo.AccountService-depo.dev  [1m[0m[0m         [0m'dotnet build -nologo .' completed successfully[0m[K

[2A     [4m[38;5;12mType[0m                 [4m[38;5;12mName[0m                          [4m[38;5;12mPlan[0m     [4m[38;5;12mInfo[0m[K
 [1m[0m  [0m  pulumi:pulumi:Stack  Depo.AccountService-depo.dev  [1m[0m[0m         [0m'dotnet build -nologo .' completed successfully[0m[K

[2A     [4m[38;5;12mType[0m                 [4m[38;5;12mName[0m                          [4m[38;5;12mPlan[0m     [4m[38;5;12mInfo[0m[K
 [1m[0m  [0m  pulumi:pulumi:Stack  Depo.AccountService-depo.dev  [1m[0m[0m         [0m'dotnet build -nologo .' completed successfully[0m[K

[2A     [4m[38;5;12mType[0m                 [4m[38;5;12mName[0m                          [4m[38;5;12mPlan[0m     [4m[38;5;12mInfo[0m[K
 [1m[0m  [0m  pulumi:pulumi:Stack  Depo.AccountService-depo.dev  [1m[0m[0m         [0m'dotnet build -nologo .' completed successfully[0m[K

[2A     [4m[38;5;12mType[0m                 [4m[38;5;12mName[0m                          [4m[38;5;12mPlan[0m       [4m[38;5;12mInfo[0m[K
 [1m[38;5;2m+ [0m  pulumi:pulumi:Stack  Depo.AccountService-depo.dev  [1m[38;5;2mcreate[0m[1m[38;5;2m.[0m    [0m'dotnet build -nologo .' completed successfully[0m[K

[2A     [4m[38;5;12mType[0m                 [4m[38;5;12mName[0m                          [4m[38;5;12mPlan[0m       [4m[38;5;12mInfo[0m[K
 [1m[38;5;2m+ [0m  pulumi:pulumi:Stack  Depo.AccountService-depo.dev  [1m[38;5;2mcreate[0m[1m[38;5;2m..[0m   [0m'dotnet build -nologo .' completed successfully[0m[K

[2A     [4m[38;5;12mType[0m                 [4m[38;5;12mName[0m                          [4m[38;5;12mPlan[0m       [4m[38;5;12mInfo[0m[K
 [1m[38;5;2m+ [0m  pulumi:pulumi:Stack  Depo.AccountService-depo.dev  [1m[38;5;2mcreate[0m[1m[38;5;2m...[0m  [0m'dotnet build -nologo .' completed successfully[0m[K

[2A     [4m[38;5;12mType[0m                                     [4m[38;5;12mName[0m                          [4m[38;5;12mPlan[0m       [4m[38;5;12mInfo[0m[K
 [1m[38;5;2m+ [0m  pulumi:pulumi:Stack                      Depo.AccountService-depo.dev  [1m[38;5;2mcreate[0m[1m[38;5;2m...[0m  [0m'dotnet build -nologo .' completed successfully[0m[K
 [38;5;2m+ [0m  └─ azure-native:resources:ResourceGroup  depo-acntsrv-euw-dev          [38;5;2mcreate[0m     [K

[3A     [4m[38;5;12mType[0m                                                 [4m[38;5;12mName[0m                          [4m[38;5;12mPlan[0m       [4m[38;5;12mInfo[0m[K
 [1m[38;5;2m+ [0m  pulumi:pulumi:Stack                                  Depo.AccountService-depo.dev  [1m[38;5;2mcreate[0m[1m[38;5;2m...[0m  [0m'dotnet build -nologo .' completed successfully[0m[K
 [38;5;2m+ [0m  ├─ azure-native:resources:ResourceGroup              depo-acntsrv-euw-dev          [38;5;2mcreate[0m     [K
 [38;5;2m+ [0m  └─ azure-native:authorization:ManagementLockByScope  depo-acntsrv-euw-dev-lck      [38;5;2mcreate[0m     [K

[4A     [4m[38;5;12mType[0m                                                 [4m[38;5;12mName[0m                          [4m[38;5;12mPlan[0m       [4m[38;5;12mInfo[0m[K
 [1m[38;5;2m+ [0m  pulumi:pulumi:Stack                                  Depo.AccountService-depo.dev  [1m[38;5;2mcreate[0m[1m[38;5;2m...[0m  [0m'dotnet build -nologo .' completed successfully[0m[K
 [38;5;2m+ [0m  ├─ azure-native:resources:ResourceGroup              depo-acntsrv-euw-dev          [38;5;2mcreate[0m     [K
 [38;5;2m+ [0m  └─ azure-native:authorization:ManagementLockByScope  depo-acntsrv-euw-dev-lck      [38;5;2mcreate[0m     [K

[4A     [4m[38;5;12mType[0m                                                 [4m[38;5;12mName[0m                          [4m[38;5;12mPlan[0m       [K
 [38;5;2m+ [0m  pulumi:pulumi:Stack                                  Depo.AccountService-depo.dev  [38;5;2mcreate[0m     [K
 [38;5;2m+ [0m  ├─ azure-native:resources:ResourceGroup              depo-acntsrv-euw-dev          [38;5;2mcreate[0m     [K
 [38;5;2m+ [0m  └─ azure-native:authorization:ManagementLockByScope  depo-acntsrv-euw-dev-lck      [38;5;2mcreate[0m     [K
[K
[38;5;13m[1mResources:[0m
    [38;5;2m+ 3 to create[0m


Command exit status: 0
Script done on Thu Oct  3 18:19:28 2024
f
try
script preview.log pulumi preview --color never
s
withtout colors:
Copy code
Script started on Thu Oct  3 18:20:22 2024
Command: pulumi preview --color never
Previewing update (depo.dev):

     Type                 Name                          Plan     Info[K
     pulumi:pulumi:Stack  Depo.AccountService-depo.dev           running 'dotnet build -nologo .'[K

[2A     Type                 Name                          Plan     Info[K
     pulumi:pulumi:Stack  Depo.AccountService-depo.dev             Determining projects to restore...[K

[2A     Type                 Name                          Plan     Info[K
     pulumi:pulumi:Stack  Depo.AccountService-depo.dev             All projects are up-to-date for restore.[K

[2A     Type                 Name                          Plan     Info[K
     pulumi:pulumi:Stack  Depo.AccountService-depo.dev             Deposits.AccountService.Iac -> /Users/jakub.dropia/src/AccountService/iac/bin/Debug/net8.0/Deposits.AccountService.Iac.dll[K

[2A     Type                 Name                          Plan     Info[K
     pulumi:pulumi:Stack  Depo.AccountService-depo.dev           Build succeeded.[K

[2A     Type                 Name                          Plan     Info[K
     pulumi:pulumi:Stack  Depo.AccountService-depo.dev           'dotnet build -nologo .' completed successfully[K

[2A     Type                 Name                          Plan     Info[K
     pulumi:pulumi:Stack  Depo.AccountService-depo.dev           'dotnet build -nologo .' completed successfully[K

[2A     Type                 Name                          Plan     Info[K
     pulumi:pulumi:Stack  Depo.AccountService-depo.dev           'dotnet build -nologo .' completed successfully[K

[2A     Type                 Name                          Plan     Info[K
     pulumi:pulumi:Stack  Depo.AccountService-depo.dev           'dotnet build -nologo .' completed successfully[K

[2A     Type                 Name                          Plan       Info[K
 +   pulumi:pulumi:Stack  Depo.AccountService-depo.dev  create...  'dotnet build -nologo .' completed successfully[K

[2A     Type                 Name                          Plan       Info[K
 +   pulumi:pulumi:Stack  Depo.AccountService-depo.dev  create     'dotnet build -nologo .' completed successfully[K

[2A     Type                 Name                          Plan       Info[K
 +   pulumi:pulumi:Stack  Depo.AccountService-depo.dev  create.    'dotnet build -nologo .' completed successfully[K

[2A     Type                                     Name                          Plan       Info[K
 +   pulumi:pulumi:Stack                      Depo.AccountService-depo.dev  create.    'dotnet build -nologo .' completed successfully[K
 +   └─ azure-native:resources:ResourceGroup  depo-acntsrv-euw-dev          create     [K

[3A     Type                                                 Name                          Plan       Info[K
 +   pulumi:pulumi:Stack                                  Depo.AccountService-depo.dev  create.    'dotnet build -nologo .' completed successfully[K
 +   ├─ azure-native:resources:ResourceGroup              depo-acntsrv-euw-dev          create     [K
 +   └─ azure-native:authorization:ManagementLockByScope  depo-acntsrv-euw-dev-lck      create     [K

[4A     Type                                                 Name                          Plan       [K
 +   pulumi:pulumi:Stack                                  Depo.AccountService-depo.dev  create     [K
 +   ├─ azure-native:resources:ResourceGroup              depo-acntsrv-euw-dev          create     [K
 +   └─ azure-native:authorization:ManagementLockByScope  depo-acntsrv-euw-dev-lck      create     [K
[K
Resources:
    + 3 to create


Command exit status: 0
Script done on Thu Oct  3 18:20:29 2024
f
ah, yeah, because it's a "replay"...
s
yep
and it is just a stack with 3 resources
with something more complex get really messy 😄
f
for sure for sure... hm
s
What I am trying to achieve is to get some nice, overview output which I could include in PR as a comment (from executing preview)
I could output this to json and build something on my own (some parser and formatter) - but ... it will take time 😄
f
s
yep
but I am on Azure Devops, and can't manage Pulumi Task to work with Azure Backend (Storage Account) - and not sure what output it will give me actually
so wanted to quickly do something on my own