- how to destroy cloud infrastructure previously deployed for project applications (possibly into multiple environments)
This command lets you destroy cloud infrastructure previously deployed within a project application.
As its first argument, the
destroy command receives the path to the project application folder. You also need to specify the environment into which the cloud infrastructure was previously deployed, which is specified via the
The following destroy commands destroy cloud infrastructure deployed for four project applications, all previously deployed into the
To fully destroy your project, you can also run the command without specifying the project application folder:
Note that, upon doing this, the command will ask for a confirmation of the environment you wish to destroy, via the
If you run into an error while running the
webiny destroy command, to get additional information and logs about it, you can append the
--debug argument. For example:
This can significantly help in debugging underlying deployment (Pulumi) errors, since without it, in some cases the returned error report doesn’t contain enough useful information. We’ve also seen cases in which the report would actually be misleading and even incorrect, making the debugging process much harder for the user.
How Do I Destroy Cloud Infrastructure Resources Deployed Into the
prodEnvironment? I'm Receiving a Warning About Protected Cloud Infrastructure Resources.
protectoption marks a resource as protected. A protected resource cannot be deleted directly. Instead, you must first set
protect: falseand run
pulumi up. Then you can delete the resource by removing the line of code or by running
pulumi destroy. The default is to inherit this value from the parent resource, and
falsefor resources without a parent.
So, in order to destroy all cloud infrastructure resources deployed into the
prod environment, we need to first pass
protect: false upon calling the
createCoreApp function in
Once that has been destroyed, you can proceed with destroying the rest of the project applications, which do not contain any protected cloud infrastructure resources.
Upon Destroying My Webiny Project, I've Received a "PreconditionFailed" Error Message. What Can I Do?
On multiple occasions, we’ve seen users receive the following error upon destroying their Webiny project:
As we can see, the error is related to deleting an Amazon Cloudfront distribution that’s deployed as part of the Website project application.
As mentioned in this GitHub issue, this error can happen because of the fact that many operations within AWS silently mutate Cloudfront distributions’ ETAG. This causes the subsequent update (delete) attempts to fail.
Ultimately, this issue can be resolved by refreshing your Pulumi state files, by running the following command:
We’re aware of this fact, and this is mainly because of the Amazon ElasticSearch Service. While other cloud infrastructure resources get destroyed reasonably fast, this service can take anywhere from 15 to 30 minutes to destroy itself. In rare cases, we’ve even seen the service still present in user’s account for days.
Unfortunately, this is a well-known issue for quite some time, and until the present, there haven’t been any positive improvements.