code: func (cfg *Config) Complete() CompletedConfig {
  	c := completedConfig{
  		cfg.GenericConfig.Complete(),
  		&cfg.ExtraConfig,
  	}
  
  	// the kube aggregator wires its own discovery mechanism
  	// TODO eventually collapse this by extracting all of the discovery out
  	c.GenericConfig.EnableDiscovery = false
  	version := version.Get()
  	c.GenericConfig.Version = &version
  
  	return CompletedConfig{&c}
  }
docs: // Complete fills in any fields not set that are required to have valid data. It's mutating the receiver.