mirror of
https://github.com/opentffoundation/opentf.git
synced 2025-12-19 17:59:05 -05:00
This continues our work to follow the dependency inversion style for the "package fetcher" component of the module installer. Mimicking the existing pattern for providers, package main is now responsible for instantiating the PackageFetcher and providing it to the "command" package as a field of command.Meta. We could potentially go further here and follow dependency inversion style for _all_ of the special clients needed by the various go-getter getters, but our primary concern for now is preparing to add a new "getter" for installation from an OCI Distribution repository, and so we'll leave the other already-working code unchanged to reduce the risk of this initial work. Future commits will actually wire in the implementation details for OCI Repository access. This commit focuses only on plumbing the necessary objects through the API layers. Signed-off-by: Martin Atkins <mart@degeneration.co.uk>