miketheprogrammer/go-thrust

Move autobootstrap out of spawn.Run() and create an overridable interface instead.

Closed this issue · 3 comments

No need to have bootstrap run from spawn, especially with the possible security issues and the iffyness of it in the go community.

Even though this breaks the pledge of Thrust, I think that the Go community as a whole will appreciate the seperation.

I propose you add a locating/provisioning validation and correction step before spawn.Run(), and remove the boolean flag. The first step of run should be the validation/provisioning step, which has a default implemention of an interface (something named like ThrustProvisioner) that works exactly like it does now.

This provides the developer with a way to plug in an alternate provisioner easily with something like spawn.SetProvisioner(myProvisioner), without taking away the simplicity of the current model.

Mission Accepted !!!

👍