i will try to explain what iam doing 🙂
1. Creating new app with the golang automation api (
https://www.pulumi.com/registry/packages/digitalocean/api-docs/app/#example-usage) including a lot of env app variables and health check configuration.
I am assigning the app configuration to a pulumi.RunFunc variable and executing it later with Up. Before iam doing newstackinlinesource and setconfig. After the creation i am storing the cloud ressourc id in a postgres db for accessing later.
This all is working as expected and i am getting a helathy app including a state in pulumi dashboard.
2. For Update i am using the lookup function (
https://www.pulumi.com/registry/packages/digitalocean/api-docs/app/#look-up). The Lookup pulumi.RunFunc is configured like the new app i created in step 1 plus the stored cloud ressource id to address my already created app.
Instead of using the newstackinlinesource iam using the selectinlinesource in this function. Rest is the same as in creation of the app.
Unfortunately the diff on the Up function shows an change for example for the image tag which should be deployed but pulumi does not deploy it.
Every time iam doing a change for example in my envs or something else pulumi is not updating my deployed app. Pulumi up is showing the change if i add the diff opt parameter
httpPort : 3000
~ image : {
registryType: "DOCR"
repository : "examplerepo"
~ tag : "0.0.12" => "0.0.10"
}
but the app is not updated and deployed new.
Iam not using preview and update in one update.