in internal/kubectl.go [461:482]
func (c Kubectl) Version(out io.Writer) error {
v := versionInfo{
DiagnosticsVersion: about(),
}
client, err := c.factory.ToDiscoveryClient()
if err != nil {
return err
}
// mirroring kubectl behaviour to fetch fresh data from server
client.Invalidate()
serverVersion, err := client.ServerVersion()
if err != nil {
return err
}
v.ServerVersion = serverVersion
bytes, err := json.MarshalIndent(v, "", " ")
if err != nil {
return err
}
_, err = out.Write(bytes)
return err
}