terraform icon indicating copy to clipboard operation
terraform copied to clipboard

backend/kubernetes: Remove legacy helper/schema dependency

Open apparentlymart opened this issue 10 months ago • 1 comments

As with most of our remote state backends, this one was depending on just a tiny slice of the (enormous and now-poorly-understood) legacy SDK.

In an effort to eliminate the legacy SDK snapshot from this codebase, this replaces it with functionality from our new "backendbase" package, which aims to provide just a narrow set of utilities to minimize the churn caused by removing the legacy SDK and thus reduce the risk of this change.

This is currently using the "SDK-like" utilities, which emulate some of the questionable-but-convenient assumptions the legacy SDK makes, such as the idea that empty string and null are equivalent. Hopefully in future we can wean this backend even further off of these older assumptions, but the priority for now is to eliminate the legacy SDK without significantly disturbing the shape of the existing working code.

In the long run we're still planning to move all of the state storage backends out to provider plugins, but the legacy SDK is quite a liability because few people know how to maintain it while hopefully this interim backendbase package is easier to maintain in the meantime (if needed) due to its relative simplicity.

I don't have any test environment for this backend, so I've only tested this through its unit tests. I'd appreciate if a backend maintainer could, along with reviewing this code, also run the acceptance test suite in case there are regressions that the unit tests aren't able to catch. Thanks!

apparentlymart avatar Apr 12 '24 20:04 apparentlymart