tfautomv

Generate Terraform moved blocks automatically for painless refactoring

APACHE-2.0 License

Stars
701
Committers
5
tfautomv - v0.6.2 Latest Release

Published by busser 8 months ago

🐛 Bugfix: respect --terraform-bin flag in output

As reported by @p1gmale0n and @strowi in issue #70, tfautomv would ignore the --terraform-bin flag when generating <something> state mv commands. Instead of using the user-provided executable in these commands, it would always use terraform. This is now fixed.

tfautomv - v0.6.1

Published by busser 8 months ago

🐛 Bugfix: always append a new line to generated moved blocks

As reported by @untcha in issue #81, when tfautomv wrote moved blocks to a file it didn't finish with a new-line character. When running tfautomv multiple times, generating blocks each time, the resulting code was invalid. This is now fixed.

tfautomv - v0.6.0

Published by busser 9 months ago

🔀 Cross-module moves

Move resources across modules and use tfautomv to generate the necessary state mv commands:

tfautomv workdir-A workdir-B workdir-C | sh

More details here: https://github.com/busser/tfautomv#finding-moves-across-multiple-directories

⏭️ New feature: skip the init and refresh steps

Save some time by skipping the init and refresh phases when computing Terraform's plan:

tfautomv --skip-init --skip-refresh
# or, for short
tfautomv -sS

More details here: https://github.com/busser/tfautomv#skipping-the-init-and-refresh-steps

🔊 Granular verbosity

Inspect tfautomv's analysis with any level of detail:

tfautomv -v
tfautomv -vv
tfautomv -vvv

This replaces the previous -show-analysis flag.

More details here: https://github.com/busser/tfautomv#understanding-why-a-resource-was-not-moved

🧠 Core engine rewrite

The internal logic engine has been entirely rewritten. It can now be imported by other tools and has much better tests.

📚 Documentation moved to README

The project's documentation, previously found at https://tfautomv.dev, is now in the repository's README. The website now redirects to the repository.

tfautomv - v0.5.4

Published by busser 12 months ago

Changelog

🤖 Add end-to-end test with Terraform Cloud backend
🐛 Fix data race in end-to-end tests
⬆️ Update various dependencies

tfautomv - v0.5.3

Published by busser about 1 year ago

Changelog

🔨 Get install.sh script to work on x86_64 architectures (#56)
📚 Improve README significantly (#49)
🔨 Test Terraform v1.4 and v1.5 in CI (#48)
⬆️ Update various dependencies

tfautomv - v0.5.2

Published by busser over 1 year ago

Changelog

⬆️ Update dependencies
♻️ Transfer repository
📚 Add Thanks section to README

tfautomv - v0.5.1

Published by busser over 1 year ago

Changelog

  • a7a1493 Merge pull request #40 from padok-team/arthur/03-07-update_dependencies
  • 60c84c4 bump version to v0.5.1
  • 2cbc2e2 chore(deps): update autero1/action-terragrunt action to v1.2.0
  • e50f50e feat: add install script
  • 55bc0a8 test latest terraform versions
  • 2704bd1 update dependencies
tfautomv - v0.5.0

Published by busser almost 2 years ago

Changelog

This release includes the new prefix effect for the -ignore flag, a new
-terraform-bin flag, and the ability to install tfautomv on Arch Linux.

New prefix effect

With the prefix effect, users can use the -ignore flag to make tfautomv
ignore the beginning of a value when comparing two attributes. See
Usage / Ignore certain differences for
more details.

New -terraform-bin flag

Users can now use any Terraform binary or wrapper by setting the
-terraform-bin flag. Useful when working with Terragrunt, for example.
See Usage / Use a specific Terraform binary
for more information.

Install on Arch Linux

Users who work on Arch Linux can now install tfautomv from the Arch User
Repository (AUR). See Getting started / Installation
for instructions.

tfautomv - v0.4.1

Published by busser almost 2 years ago

Changelog

  • bbb53aa Merge pull request #26 from padok-team/ci/matrix-status-check
  • 643a10c Update installation.md
  • 4130b8b chore: bump version to v0.4.1
  • 7b8090b chore: update .gitignore for test with 'tf state mv'
  • ce892f5 ci(test): add tf version from 0.13 to 1.0
  • a8d9166 ci: add wrapper job
  • e2cc646 feat(goreleaser): push AUR package
  • 1eff558 fix: run tests on pull requests from forks
  • 138b21f fix: specify AUR key
  • 6a4b048 test(e2e): test with output=commands format
tfautomv - v0.4.1-rc1

Published by busser almost 2 years ago

Changelog

  • bbb53aa Merge pull request #26 from padok-team/ci/matrix-status-check
  • 643a10c Update installation.md
  • 9aad54a chore: bump version to v0.4.1
  • 7b8090b chore: update .gitignore for test with 'tf state mv'
  • ce892f5 ci(test): add tf version from 0.13 to 1.0
  • a8d9166 ci: add wrapper job
  • 1d13044 feat(goreleaser): push AUR package
  • 1eff558 fix: run tests on pull requests from forks
  • 6a4b048 test(e2e): test with output=commands format
tfautomv - v0.4.0

Published by busser about 2 years ago

Changelog

This release includes the new tfautomv.dev website, new features, a few fixes, and improvements to our automated tests.

Website

Our documentation has moved to a website: tfautomv.dev. The README was becoming a bit cramped and we wanted to make our documentation easy to navigate. All existing documentation has been moved to the website, with the following additions:

  • A landing page explaining why we built tfautomv;
  • A guided, hands-on tutorial to get started with tfautomv;
  • A dedicated page for each of tfautomv's features.

Features

  • The new -ignore flag allows users to specify rules that makes tfautomv less strict when comparing two resources with each other.
  • The new -no-color flag disables tfautomv's text formatting entirely.

Fixes

  • The -output=commands flag correctly escapes quotes in the commands. They can now be copy-pasted or piped into a shell as they are.

Tests

  • End-to-end tests now test the tfautomv binary, not Go packages.
  • CI/CD now runs end-to-end tests for Terraform 1.3, in addition to 1.1 and 1.2.
  • The test suite includes tests that reproduce tfautomv's known limitations. These tests are skipped be default.
tfautomv - v0.3.1

Published by busser about 2 years ago

Changelog

  • 867e6d9 Update CODEOWNERS
  • 73c9bce chore(deps): update module go to 1.19
  • bcb256f chore(gitignore): added .envrc in .gitignore
  • 0dc46cb chore(gosum): cleaned up
  • 2fe1d5f chore: add busser to codeowners
  • 59e7ee3 chore: bump to v0.3.1
  • e212617 feat(brew): added brew to goreleaser
  • 7544306 fix(deps): update module github.com/google/go-cmp to v0.5.9
tfautomv - v0.3.0

Published by busser about 2 years ago

Changelog

b4e7923 Create LICENSE
03ef151 Merge pull request #1 from padok-team/feat/ci
fae8c06 chore(deps): add renovate.json
0c98a39 chore: bump to v0.3.0
cac9650 ci: build and test
1c2c3ca feat: add -dry-run flag
ce61092 feat: allow printing state mv commands
33cee11 fix(deps): update module github.com/google/go-cmp to v0.5.8
2fa00ca refactor: add tests
e057455 refactor: remove unnecessary requirements

tfautomv - v0.2.0

Published by busser over 2 years ago

Changelog

09d6088 feat: add -show-analysis flag
02d66a7 refactor: ignore release artifacts
2b41fa5 refactor: ignore test artifacts
ee7e031 release: v0.2.0

tfautomv - v0.1.0

Published by busser over 2 years ago

Changelog

9406b9d feat: build an MVP
e1d7354 fix: comment out failing test