2014-09-30 00:15:00 +00:00
/ *
2015-05-01 16:19:44 +00:00
Copyright 2014 The Kubernetes Authors All rights reserved .
2014-09-30 00:15:00 +00:00
Licensed under the Apache License , Version 2.0 ( the "License" ) ;
you may not use this file except in compliance with the License .
You may obtain a copy of the License at
http : //www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing , software
distributed under the License is distributed on an "AS IS" BASIS ,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND , either express or implied .
See the License for the specific language governing permissions and
limitations under the License .
* /
package client
2015-03-19 01:11:39 +00:00
import (
"time"
)
2014-09-30 00:15:00 +00:00
// FlagSet abstracts the flag interface for compatibility with both Golang "flag"
// and cobra pflags (Posix style).
type FlagSet interface {
StringVar ( p * string , name , value , usage string )
2014-10-02 14:25:09 +00:00
BoolVar ( p * bool , name string , value bool , usage string )
2014-10-10 22:19:23 +00:00
UintVar ( p * uint , name string , value uint , usage string )
2015-03-19 01:11:39 +00:00
DurationVar ( p * time . Duration , name string , value time . Duration , usage string )
2015-04-09 17:12:52 +00:00
Float32Var ( p * float32 , name string , value float32 , usage string )
IntVar ( p * int , name string , value int , usage string )
2014-09-30 00:15:00 +00:00
}
// BindClientConfigFlags registers a standard set of CLI flags for connecting to a Kubernetes API server.
2014-11-17 18:29:45 +00:00
// TODO this method is superceded by pkg/client/clientcmd/client_builder.go
2014-09-30 00:15:00 +00:00
func BindClientConfigFlags ( flags FlagSet , config * Config ) {
flags . StringVar ( & config . Host , "master" , config . Host , "The address of the Kubernetes API server" )
flags . StringVar ( & config . Version , "api_version" , config . Version , "The API version to use when talking to the server" )
2014-10-02 14:25:09 +00:00
flags . BoolVar ( & config . Insecure , "insecure_skip_tls_verify" , config . Insecure , "If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure." )
2014-10-09 17:57:15 +00:00
flags . StringVar ( & config . CertFile , "client_certificate" , config . CertFile , "Path to a client key file for TLS." )
flags . StringVar ( & config . KeyFile , "client_key" , config . KeyFile , "Path to a client key file for TLS." )
2014-10-10 22:19:23 +00:00
flags . StringVar ( & config . CAFile , "certificate_authority" , config . CAFile , "Path to a cert. file for the certificate authority." )
2015-04-09 17:12:52 +00:00
flags . Float32Var ( & config . QPS , "max_outgoing_qps" , config . QPS , "Maximum number of queries per second that could be issued by this client." )
flags . IntVar ( & config . Burst , "max_outgoing_burst" , config . Burst , "Maximum throttled burst" )
2014-10-10 22:19:23 +00:00
}
func BindKubeletClientConfigFlags ( flags FlagSet , config * KubeletConfig ) {
flags . BoolVar ( & config . EnableHttps , "kubelet_https" , config . EnableHttps , "Use https for kubelet connections" )
flags . UintVar ( & config . Port , "kubelet_port" , config . Port , "Kubelet port" )
2015-03-19 01:11:39 +00:00
flags . DurationVar ( & config . HTTPTimeout , "kubelet_timeout" , config . HTTPTimeout , "Timeout for kubelet operations" )
2014-10-10 22:19:23 +00:00
flags . StringVar ( & config . CertFile , "kubelet_client_certificate" , config . CertFile , "Path to a client key file for TLS." )
flags . StringVar ( & config . KeyFile , "kubelet_client_key" , config . KeyFile , "Path to a client key file for TLS." )
flags . StringVar ( & config . CAFile , "kubelet_certificate_authority" , config . CAFile , "Path to a cert. file for the certificate authority." )
2014-09-30 00:15:00 +00:00
}