atlantis
atlantis copied to clipboard
Support `atlantis destroy` subcommand
Wondering if a command atlantis destroy -d <dir>
will be useful.
It will:
- User creates empty MR
- User comments
atlantis destroy -d <dir>
- Atlantis generate destroy plan for
<dir>
and show it on the MR - User comments
atlantis apply
- Atlantis destroys
- Atlantis makes a commit to the MR with
<dir>
deleted and merges the MR
Number 6, might be a little uncomfortable for some people.
I will say, the removal part of atlantis, is the most cumbersome part of our workflow.
We have things, that can only run from atlantis, so we endup having to create a BS pull request, something like adding a comment to a .tf file, then doing the destroy, then deleting the folders, pushing again, and finally merging.
@jseiser That has been what my team and I have been doing too.
Having this as an available option would be fairly concerning.
If this was to be implemented I think you would also surely need to implement the ability to blacklist commands on the server side for people who did not want to expose this. It should probably also be defaulted to the blacklist and only available if you explicitly allow it.
I think it would be more user friendly creating the PR with the deletion of the directory. Atlantis could then detect it and destroy the project using the directory from the target branch?
I like @Symbianx 's suggestion and it seems if implemented as per that suggestion would address the concern @nwsparks has?
That does seem like a good workflow since you're gonna want to delete the directory anyway. Might be a bit tricky to implement though.
That would be a lovely workflow. We currently plan destroy and apply outside of atlantis, then make the PR.
I think it would be more user friendly creating the PR with the deletion of the directory. Atlantis could then detect it and destroy the project using the directory from the target branch?
We at our company are currently also struggling with this problem and came to the same conclusion that it would be best for Atlantis to detect deleted folders and run a ... plan -destroy
per deleted folder. That would allow mixing changes, additions and deletions in the same pull request.
Would you be open for a contribution to implement the destroy workflow? If so we would draft a suggestion.
This is a related issue here https://github.com/runatlantis/atlantis/issues/193
And this is the workaround is here https://github.com/runatlantis/atlantis/issues/193#issuecomment-730614386
tldr here are the options
- Use an
enabled = true
input var or local, set everything to use it, then set it toenabled = false
in a PR to do a destroy, then delete the terraform. - Put in a PR (such as a no-op RR), use
atlantis plan -- -destroy
, get approval, thenatlantis apply
in order to destroy
I do not believe this will be supported via atlantis destroy
. Please see the above workarounds to see if it works better for you. We should probably document this on the website.
Closing for now unless the workarounds do not work for people.
I wonder if this issue can be reopened. Workaround does not work when terragrunt with custom workflows, multi-providers and required checks are in place (
Having workflow like below to destroy resources is too complicated
Project is community driven at this point so some of you will have to create a PR to get this feature.
Do we have some high-level design/acceptance criteria for this issue? I want to take a stab at implementing this.