Road to v0.0.5 #40
VoyTechnology
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
If you are a watcher of the repository you might have seen that there have been a few pull requests lately which change the API of the package. While this package doesn't receive that many updates because I would say its relatively stable, I would live to give it at least some love to make it a touch more modern and follow the best practices developed in the Go community that have emerged since this repository was created, which is a while now, with a few ownership changes etc.
My vision for v0.0.5 is to support easier testability of the code for the consumer by creating a series of interfaces which will cover the functionality of this package. It will not be adding any new features, but rather just change how consumers interact with this package. This will allow easier testing, especially useful for probably the biggest consumer of this package which is the terra-farm/terraform-provider-virtualbox.
My goal is to release v0.0.5 with the new API, marking the old ones as deprecated, then proceeding to remove the deprecated functions in v0.0.6, and continuing the development with the new API afterwards.
This is not a very hard task, my bigger limitation is my limited time, so contibutions are welcome. For now I am concentrating on
Machine
struct (and its methods) andMachineManager
interface which will replace it. Its possible that v0.0.5 will only include partial migration as doing the whole package would be very time consuming. While I don't know what I will tackle next (either storage or networking), the compatibility table might look something like thisBeta Was this translation helpful? Give feedback.
All reactions