The kubectl API is not necessarily defined in stone at this point, so moving toward using the internal go bindings for kubernetes interaction is a plus. I've built a test client to interact using purely Go bindings, and the only thing that hasn't been neat and clean / easy to use has been running exec against a container, as it requires a direct HTTP API call (though even these are encapsulated a bit).
The kubectl API is not necessarily defined in stone at this point, so moving toward using the internal go bindings for kubernetes interaction is a plus. I've built a test client to interact using purely Go bindings, and the only thing that hasn't been neat and clean / easy to use has been running exec against a container, as it requires a direct HTTP API call (though even these are encapsulated a bit).