1
0
mirror of https://github.com/rancher/rke.git synced 2025-09-05 00:40:10 +00:00

Vendor Update

This commit is contained in:
galal-hussein
2017-11-14 20:11:02 +02:00
parent 944f1562cd
commit 75448eb572
46 changed files with 188 additions and 940 deletions

View File

@@ -14,12 +14,10 @@ const (
ClusterConditionProvisioned = "Provisioned"
// ClusterConditionUpdating Cluster is being updating (upgrading, scaling up)
ClusterConditionUpdating = "Updating"
// ClusterConditionSufficientDisk true when all cluster nodes have sufficient disk
ClusterConditionSufficientDisk = "SufficientDisk"
// ClusterConditionSufficientMemory true when all cluster nodes have sufficient memory
ClusterConditionSufficientMemory = "SufficientMemory"
// ClusterConditionNoDiskPressure true when all cluster nodes have no disk pressure
// ClusterConditionNoDiskPressure true when all cluster nodes have sufficient disk
ClusterConditionNoDiskPressure = "NoDiskPressure"
// ClusterConditionNoMemoryPressure true when all cluster nodes have sufficient memory
ClusterConditionNoMemoryPressure = "NoMemoryPressure"
// More conditions can be added if unredlying controllers request it
)
@@ -37,9 +35,9 @@ type Cluster struct {
}
type ClusterSpec struct {
GKEConfig *GKEConfig `json:"gkeConfig,omitempty"`
AKSConfig *AKSConfig `json:"aksConfig,omitempty"`
RKEConfig *RKEConfig `json:"rkeConfig,omitempty"`
GoogleKubernetesEngineConfig *GoogleKubernetesEngineConfig `json:"googleKubernetesEngineConfig,omitempty"`
AzureKubernetesServiceConfig *AzureKubernetesServiceConfig `json:"azureKubernetesServiceConfig,omitempty"`
RancherKubernetesEngineConfig *RancherKubernetesEngineConfig `json:"rancherKubernetesEngineConfig,omitempty"`
}
type ClusterStatus struct {
@@ -54,6 +52,7 @@ type ClusterStatus struct {
CACert string `json:"caCert,omitempty"`
Capacity v1.ResourceList `json:"capacity,omitempty"`
Allocatable v1.ResourceList `json:"allocatable,omitempty"`
AppliedSpec ClusterSpec `json:"clusterSpec,omitempty"`
}
type ClusterComponentStatus struct {
@@ -74,7 +73,7 @@ type ClusterCondition struct {
Reason string `json:"reason,omitempty"`
}
type GKEConfig struct {
type GoogleKubernetesEngineConfig struct {
// ProjectID is the ID of your project to use when creating a cluster
ProjectID string `json:"projectId,omitempty"`
// The zone to launch the cluster
@@ -83,14 +82,16 @@ type GKEConfig struct {
ClusterIpv4Cidr string `json:"clusterIpv4Cidr,omitempty"`
// An optional description of this cluster
Description string `json:"description,omitempty"`
// The number of nodes to create in this cluster
InitialNodeCount int64 `json:"initialNodeCount,omitempty"`
// The number of nodes in this cluster
NodeCount int64 `json:"nodeCount,omitempty"`
// Size of the disk attached to each node
DiskSizeGb int64 `json:"diskSizeGb,omitempty"`
// The name of a Google Compute Engine
MachineType string `json:"machineType,omitempty"`
// the initial kubernetes version
InitialClusterVersion string `json:"initialClusterVersion,omitempty"`
// Node kubernetes version
NodeVersion string `json:"nodeVersion,omitempty"`
// the master kubernetes version
MasterVersion string `json:"masterVersion,omitempty"`
// The map of Kubernetes labels (key/value pairs) to be applied
// to each node.
Labels map[string]string `json:"labels,omitempty"`
@@ -98,112 +99,114 @@ type GKEConfig struct {
CredentialPath string `json:"credentialPath,omitempty"`
// Enable alpha feature
EnableAlphaFeature bool `json:"enableAlphaFeature,omitempty"`
// NodePool id
NodePoolID string `json:"nodePoolId,omitempty"`
// Update Config
UpdateConfig gkeUpdateConfig `json:"updateConfig,omitempty"`
}
type gkeUpdateConfig struct {
// the number of node
NodeCount int64 `json:"nodeCount,omitempty"`
// Master kubernetes version
MasterVersion string `json:"masterVersion,omitempty"`
// Node kubernetes version
NodeVersion string `json:"nodeVersion,omitempty"`
}
type AKSConfig struct {
type AzureKubernetesServiceConfig struct {
//TBD
}
type RKEConfig struct {
type RancherKubernetesEngineConfig struct {
// Kubernetes nodes
Hosts []RKEConfigHost `yaml:"hosts"`
Hosts []RKEConfigHost `yaml:"hosts" json:"hosts,omitempty"`
// Kubernetes components
Services RKEConfigServices `yaml:"services"`
// Network plugin used in the kubernetes cluster (flannel, calico)
NetworkPlugin string `yaml:"network_plugin"`
// Authentication type used in the cluster (default: x509)
AuthType string `yaml:"auth_type"`
Services RKEConfigServices `yaml:"services" json:"services,omitempty"`
// Network configuration used in the kubernetes cluster (flannel, calico)
Network NetworkConfig `yaml:"network" json:"network,omitempty"`
// Authentication configuration used in the cluster (default: x509)
Authentication AuthConfig `yaml:"auth" json:"auth,omitempty"`
}
type RKEConfigHost struct {
// SSH IP address of the host
IP string `yaml:"ip"`
IP string `yaml:"ip" json:"ip,omitempty"`
// Advertised address that will be used for components communication
AdvertiseAddress string `yaml:"advertise_address"`
AdvertiseAddress string `yaml:"advertise_address" json:"advertiseAddress,omitempty"`
// Host role in kubernetes cluster (controlplane, worker, or etcd)
Role []string `yaml:"role"`
Role []string `yaml:"role" json:"role,omitempty"`
// Hostname of the host
Hostname string `yaml:"hostname"`
AdvertisedHostname string `yaml:"advertised_hostname" json:"advertisedHostname,omitempty"`
// SSH usesr that will be used by RKE
User string `yaml:"user"`
User string `yaml:"user" json:"user,omitempty"`
// Docker socket on the host that will be used in tunneling
DockerSocket string `yaml:"docker_socket"`
DockerSocket string `yaml:"docker_socket" json:"dockerSocket,omitempty"`
}
type RKEConfigServices struct {
// Etcd Service
Etcd ETCDService `yaml:"etcd"`
Etcd ETCDService `yaml:"etcd" json:"etcd,omitempty"`
// KubeAPI Service
KubeAPI KubeAPIService `yaml:"kube-api"`
KubeAPI KubeAPIService `yaml:"kube-api" json:"kube-api,omitempty"`
// KubeController Service
KubeController KubeControllerService `yaml:"kube-controller"`
KubeController KubeControllerService `yaml:"kube-controller" json:"kube-controller,omitempty"`
// Scheduler Service
Scheduler SchedulerService `yaml:"scheduler"`
Scheduler SchedulerService `yaml:"scheduler" json:"scheduler,omitempty"`
// Kubelet Service
Kubelet KubeletService `yaml:"kubelet"`
Kubelet KubeletService `yaml:"kubelet" json:"kubelet,omitempty"`
// KubeProxy Service
Kubeproxy KubeproxyService `yaml:"kubeproxy"`
Kubeproxy KubeproxyService `yaml:"kubeproxy" json:"kubeproxy,omitempty"`
}
type ETCDService struct {
// Base service properties
baseService `yaml:",inline"`
BaseService `yaml:",inline" json:",inline"`
}
type KubeAPIService struct {
// Base service properties
baseService `yaml:",inline"`
BaseService `yaml:",inline" json:",inline"`
// Virtual IP range that will be used by Kubernetes services
ServiceClusterIPRange string `yaml:"service_cluster_ip_range"`
ServiceClusterIPRange string `yaml:"service_cluster_ip_range" json:"serviceClusterIpRange,omitempty"`
}
type KubeControllerService struct {
// Base service properties
baseService `yaml:",inline"`
BaseService `yaml:",inline" json:",inline"`
// CIDR Range for Pods in cluster
ClusterCIDR string `yaml:"cluster_cidr"`
ClusterCIDR string `yaml:"cluster_cidr" json:"clusterCidr,omitempty"`
// Virtual IP range that will be used by Kubernetes services
ServiceClusterIPRange string `yaml:"service_cluster_ip_range"`
ServiceClusterIPRange string `yaml:"service_cluster_ip_range" json:"serviceClusterIpRange,omitempty"`
}
type KubeletService struct {
// Base service properties
baseService `yaml:",inline"`
BaseService `yaml:",inline" json:",inline"`
// Domain of the cluster (default: "cluster.local")
ClusterDomain string `yaml:"cluster_domain"`
ClusterDomain string `yaml:"cluster_domain" json:"clusterDomain,omitempty"`
// The image whose network/ipc namespaces containers in each pod will use
InfraContainerImage string `yaml:"infra_container_image"`
InfraContainerImage string `yaml:"infra_container_image" json:"infraContainerImage,omitempty"`
// Cluster DNS service ip
ClusterDNSServer string `yaml:"cluster_dns_server"`
ClusterDNSServer string `yaml:"cluster_dns_server" json:"clusterDnsServer,omitempty"`
}
type KubeproxyService struct {
// Base service properties
baseService `yaml:",inline"`
BaseService `yaml:",inline" json:",inline"`
}
type SchedulerService struct {
// Base service properties
baseService `yaml:",inline"`
BaseService `yaml:",inline" json:",inline"`
}
type baseService struct {
type BaseService struct {
// Docker image of the service
Image string `yaml:"image"`
Image string `yaml:"image" json:"image,omitempty"`
// Extra arguments that are added to the services
ExtraArgs map[string]string `yaml:"extra_args" json:"extraArgs,omitempty"`
}
type NetworkConfig struct {
// Network Plugin That will be used in kubernetes cluster
Plugin string `yaml:"plugin" json:"plugin,omitempty"`
// Plugin options to configure network properties
Options map[string]string `yaml:"options" json:"options,omitempty"`
}
type AuthConfig struct {
// Authentication strategy that will be used in kubernetes cluster
Strategy string `yaml:"strategy" json:"strategy,omitempty"`
// Authentication options
Options map[string]string `yaml:"options" json:"options,omitempty"`
}
type ClusterNode struct {

View File

@@ -15,11 +15,11 @@ import (
var (
ClusterGroupVersionKind = schema.GroupVersionKind{
Version: "v1",
Group: "io.cattle.cluster",
Group: "cluster.cattle.io",
Kind: "Cluster",
}
ClusterResource = metav1.APIResource{
Name: "",
Name: "clusters",
SingularName: "cluster",
Namespaced: false,
Kind: ClusterGroupVersionKind.Kind,
@@ -27,9 +27,9 @@ var (
)
type ClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Items []Cluster
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Cluster
}
type ClusterHandlerFunc func(key string, obj *Cluster) error

View File

@@ -15,11 +15,11 @@ import (
var (
ClusterNodeGroupVersionKind = schema.GroupVersionKind{
Version: "v1",
Group: "io.cattle.cluster",
Group: "cluster.cattle.io",
Kind: "ClusterNode",
}
ClusterNodeResource = metav1.APIResource{
Name: "",
Name: "clusternodes",
SingularName: "clusternode",
Namespaced: false,
Kind: ClusterNodeGroupVersionKind.Kind,
@@ -27,9 +27,9 @@ var (
)
type ClusterNodeList struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Items []ClusterNode
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterNode
}
type ClusterNodeHandlerFunc func(key string, obj *ClusterNode) error

View File

@@ -6,17 +6,63 @@ import (
)
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AKSConfig) DeepCopyInto(out *AKSConfig) {
func (in *AuthConfig) DeepCopyInto(out *AuthConfig) {
*out = *in
if in.Options != nil {
in, out := &in.Options, &out.Options
*out = make(map[string]string, len(*in))
for key, val := range *in {
(*out)[key] = val
}
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthConfig.
func (in *AuthConfig) DeepCopy() *AuthConfig {
if in == nil {
return nil
}
out := new(AuthConfig)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AzureKubernetesServiceConfig) DeepCopyInto(out *AzureKubernetesServiceConfig) {
*out = *in
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AKSConfig.
func (in *AKSConfig) DeepCopy() *AKSConfig {
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureKubernetesServiceConfig.
func (in *AzureKubernetesServiceConfig) DeepCopy() *AzureKubernetesServiceConfig {
if in == nil {
return nil
}
out := new(AKSConfig)
out := new(AzureKubernetesServiceConfig)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BaseService) DeepCopyInto(out *BaseService) {
*out = *in
if in.ExtraArgs != nil {
in, out := &in.ExtraArgs, &out.ExtraArgs
*out = make(map[string]string, len(*in))
for key, val := range *in {
(*out)[key] = val
}
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseService.
func (in *BaseService) DeepCopy() *BaseService {
if in == nil {
return nil
}
out := new(BaseService)
in.DeepCopyInto(out)
return out
}
@@ -99,7 +145,7 @@ func (in *ClusterCondition) DeepCopy() *ClusterCondition {
func (in *ClusterList) DeepCopyInto(out *ClusterList) {
*out = *in
out.TypeMeta = in.TypeMeta
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Cluster, len(*in))
@@ -159,7 +205,7 @@ func (in *ClusterNode) DeepCopyObject() runtime.Object {
func (in *ClusterNodeList) DeepCopyInto(out *ClusterNodeList) {
*out = *in
out.TypeMeta = in.TypeMeta
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]ClusterNode, len(*in))
@@ -192,30 +238,30 @@ func (in *ClusterNodeList) DeepCopyObject() runtime.Object {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec) {
*out = *in
if in.GKEConfig != nil {
in, out := &in.GKEConfig, &out.GKEConfig
if in.GoogleKubernetesEngineConfig != nil {
in, out := &in.GoogleKubernetesEngineConfig, &out.GoogleKubernetesEngineConfig
if *in == nil {
*out = nil
} else {
*out = new(GKEConfig)
*out = new(GoogleKubernetesEngineConfig)
(*in).DeepCopyInto(*out)
}
}
if in.AKSConfig != nil {
in, out := &in.AKSConfig, &out.AKSConfig
if in.AzureKubernetesServiceConfig != nil {
in, out := &in.AzureKubernetesServiceConfig, &out.AzureKubernetesServiceConfig
if *in == nil {
*out = nil
} else {
*out = new(AKSConfig)
*out = new(AzureKubernetesServiceConfig)
**out = **in
}
}
if in.RKEConfig != nil {
in, out := &in.RKEConfig, &out.RKEConfig
if in.RancherKubernetesEngineConfig != nil {
in, out := &in.RancherKubernetesEngineConfig, &out.RancherKubernetesEngineConfig
if *in == nil {
*out = nil
} else {
*out = new(RKEConfig)
*out = new(RancherKubernetesEngineConfig)
(*in).DeepCopyInto(*out)
}
}
@@ -261,6 +307,7 @@ func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus) {
(*out)[key] = val.DeepCopy()
}
}
in.AppliedSpec.DeepCopyInto(&out.AppliedSpec)
return
}
@@ -277,7 +324,7 @@ func (in *ClusterStatus) DeepCopy() *ClusterStatus {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ETCDService) DeepCopyInto(out *ETCDService) {
*out = *in
out.baseService = in.baseService
in.BaseService.DeepCopyInto(&out.BaseService)
return
}
@@ -292,7 +339,7 @@ func (in *ETCDService) DeepCopy() *ETCDService {
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GKEConfig) DeepCopyInto(out *GKEConfig) {
func (in *GoogleKubernetesEngineConfig) DeepCopyInto(out *GoogleKubernetesEngineConfig) {
*out = *in
if in.Labels != nil {
in, out := &in.Labels, &out.Labels
@@ -301,16 +348,15 @@ func (in *GKEConfig) DeepCopyInto(out *GKEConfig) {
(*out)[key] = val
}
}
out.UpdateConfig = in.UpdateConfig
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GKEConfig.
func (in *GKEConfig) DeepCopy() *GKEConfig {
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GoogleKubernetesEngineConfig.
func (in *GoogleKubernetesEngineConfig) DeepCopy() *GoogleKubernetesEngineConfig {
if in == nil {
return nil
}
out := new(GKEConfig)
out := new(GoogleKubernetesEngineConfig)
in.DeepCopyInto(out)
return out
}
@@ -318,7 +364,7 @@ func (in *GKEConfig) DeepCopy() *GKEConfig {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *KubeAPIService) DeepCopyInto(out *KubeAPIService) {
*out = *in
out.baseService = in.baseService
in.BaseService.DeepCopyInto(&out.BaseService)
return
}
@@ -335,7 +381,7 @@ func (in *KubeAPIService) DeepCopy() *KubeAPIService {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *KubeControllerService) DeepCopyInto(out *KubeControllerService) {
*out = *in
out.baseService = in.baseService
in.BaseService.DeepCopyInto(&out.BaseService)
return
}
@@ -352,7 +398,7 @@ func (in *KubeControllerService) DeepCopy() *KubeControllerService {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *KubeletService) DeepCopyInto(out *KubeletService) {
*out = *in
out.baseService = in.baseService
in.BaseService.DeepCopyInto(&out.BaseService)
return
}
@@ -369,7 +415,7 @@ func (in *KubeletService) DeepCopy() *KubeletService {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *KubeproxyService) DeepCopyInto(out *KubeproxyService) {
*out = *in
out.baseService = in.baseService
in.BaseService.DeepCopyInto(&out.BaseService)
return
}
@@ -384,25 +430,24 @@ func (in *KubeproxyService) DeepCopy() *KubeproxyService {
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RKEConfig) DeepCopyInto(out *RKEConfig) {
func (in *NetworkConfig) DeepCopyInto(out *NetworkConfig) {
*out = *in
if in.Hosts != nil {
in, out := &in.Hosts, &out.Hosts
*out = make([]RKEConfigHost, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
if in.Options != nil {
in, out := &in.Options, &out.Options
*out = make(map[string]string, len(*in))
for key, val := range *in {
(*out)[key] = val
}
}
out.Services = in.Services
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RKEConfig.
func (in *RKEConfig) DeepCopy() *RKEConfig {
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkConfig.
func (in *NetworkConfig) DeepCopy() *NetworkConfig {
if in == nil {
return nil
}
out := new(RKEConfig)
out := new(NetworkConfig)
in.DeepCopyInto(out)
return out
}
@@ -431,12 +476,12 @@ func (in *RKEConfigHost) DeepCopy() *RKEConfigHost {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RKEConfigServices) DeepCopyInto(out *RKEConfigServices) {
*out = *in
out.Etcd = in.Etcd
out.KubeAPI = in.KubeAPI
out.KubeController = in.KubeController
out.Scheduler = in.Scheduler
out.Kubelet = in.Kubelet
out.Kubeproxy = in.Kubeproxy
in.Etcd.DeepCopyInto(&out.Etcd)
in.KubeAPI.DeepCopyInto(&out.KubeAPI)
in.KubeController.DeepCopyInto(&out.KubeController)
in.Scheduler.DeepCopyInto(&out.Scheduler)
in.Kubelet.DeepCopyInto(&out.Kubelet)
in.Kubeproxy.DeepCopyInto(&out.Kubeproxy)
return
}
@@ -450,10 +495,36 @@ func (in *RKEConfigServices) DeepCopy() *RKEConfigServices {
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RancherKubernetesEngineConfig) DeepCopyInto(out *RancherKubernetesEngineConfig) {
*out = *in
if in.Hosts != nil {
in, out := &in.Hosts, &out.Hosts
*out = make([]RKEConfigHost, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
in.Services.DeepCopyInto(&out.Services)
in.Network.DeepCopyInto(&out.Network)
in.Authentication.DeepCopyInto(&out.Authentication)
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RancherKubernetesEngineConfig.
func (in *RancherKubernetesEngineConfig) DeepCopy() *RancherKubernetesEngineConfig {
if in == nil {
return nil
}
out := new(RancherKubernetesEngineConfig)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SchedulerService) DeepCopyInto(out *SchedulerService) {
*out = *in
out.baseService = in.baseService
in.BaseService.DeepCopyInto(&out.BaseService)
return
}

View File

@@ -1,8 +0,0 @@
package client
const (
AKSConfigType = "aksConfig"
)
type AKSConfig struct {
}

View File

@@ -1,12 +0,0 @@
package client
const (
AttachedVolumeType = "attachedVolume"
AttachedVolumeFieldDevicePath = "devicePath"
AttachedVolumeFieldName = "name"
)
type AttachedVolume struct {
DevicePath string `json:"devicePath,omitempty"`
Name string `json:"name,omitempty"`
}

View File

@@ -1,28 +0,0 @@
package client
import (
"github.com/rancher/norman/clientbase"
)
type Client struct {
clientbase.APIBaseClient
Cluster ClusterOperations
ClusterNode ClusterNodeOperations
}
func NewClient(opts *clientbase.ClientOpts) (*Client, error) {
baseClient, err := clientbase.NewAPIClient(opts)
if err != nil {
return nil, err
}
client := &Client{
APIBaseClient: baseClient,
}
client.Cluster = newClusterClient(client)
client.ClusterNode = newClusterNodeClient(client)
return client, nil
}

View File

@@ -1,99 +0,0 @@
package client
import (
"github.com/rancher/norman/types"
)
const (
ClusterType = "cluster"
ClusterFieldAKSConfig = "aksConfig"
ClusterFieldAPIVersion = "apiVersion"
ClusterFieldAnnotations = "annotations"
ClusterFieldCreated = "created"
ClusterFieldGKEConfig = "gkeConfig"
ClusterFieldKind = "kind"
ClusterFieldLabels = "labels"
ClusterFieldName = "name"
ClusterFieldNamespace = "namespace"
ClusterFieldRKEConfig = "rkeConfig"
ClusterFieldRemoved = "removed"
ClusterFieldUuid = "uuid"
)
type Cluster struct {
types.Resource
AKSConfig *AKSConfig `json:"aksConfig,omitempty"`
APIVersion string `json:"apiVersion,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
Created string `json:"created,omitempty"`
GKEConfig *GKEConfig `json:"gkeConfig,omitempty"`
Kind string `json:"kind,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
RKEConfig *RKEConfig `json:"rkeConfig,omitempty"`
Removed string `json:"removed,omitempty"`
Uuid string `json:"uuid,omitempty"`
}
type ClusterCollection struct {
types.Collection
Data []Cluster `json:"data,omitempty"`
client *ClusterClient
}
type ClusterClient struct {
apiClient *Client
}
type ClusterOperations interface {
List(opts *types.ListOpts) (*ClusterCollection, error)
Create(opts *Cluster) (*Cluster, error)
Update(existing *Cluster, updates interface{}) (*Cluster, error)
ByID(id string) (*Cluster, error)
Delete(container *Cluster) error
}
func newClusterClient(apiClient *Client) *ClusterClient {
return &ClusterClient{
apiClient: apiClient,
}
}
func (c *ClusterClient) Create(container *Cluster) (*Cluster, error) {
resp := &Cluster{}
err := c.apiClient.Ops.DoCreate(ClusterType, container, resp)
return resp, err
}
func (c *ClusterClient) Update(existing *Cluster, updates interface{}) (*Cluster, error) {
resp := &Cluster{}
err := c.apiClient.Ops.DoUpdate(ClusterType, &existing.Resource, updates, resp)
return resp, err
}
func (c *ClusterClient) List(opts *types.ListOpts) (*ClusterCollection, error) {
resp := &ClusterCollection{}
err := c.apiClient.Ops.DoList(ClusterType, opts, resp)
resp.client = c
return resp, err
}
func (cc *ClusterCollection) Next() (*ClusterCollection, error) {
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
resp := &ClusterCollection{}
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
resp.client = cc.client
return resp, err
}
return nil, nil
}
func (c *ClusterClient) ByID(id string) (*Cluster, error) {
resp := &Cluster{}
err := c.apiClient.Ops.DoByID(ClusterType, id, resp)
return resp, err
}
func (c *ClusterClient) Delete(container *Cluster) error {
return c.apiClient.Ops.DoResourceDelete(ClusterType, &container.Resource)
}

View File

@@ -1,12 +0,0 @@
package client
const (
ClusterComponentStatusType = "clusterComponentStatus"
ClusterComponentStatusFieldConditions = "conditions"
ClusterComponentStatusFieldName = "name"
)
type ClusterComponentStatus struct {
Conditions []ComponentCondition `json:"conditions,omitempty"`
Name string `json:"name,omitempty"`
}

View File

@@ -1,18 +0,0 @@
package client
const (
ClusterConditionType = "clusterCondition"
ClusterConditionFieldLastTransitionTime = "lastTransitionTime"
ClusterConditionFieldLastUpdateTime = "lastUpdateTime"
ClusterConditionFieldReason = "reason"
ClusterConditionFieldStatus = "status"
ClusterConditionFieldType = "type"
)
type ClusterCondition struct {
LastTransitionTime string `json:"lastTransitionTime,omitempty"`
LastUpdateTime string `json:"lastUpdateTime,omitempty"`
Reason string `json:"reason,omitempty"`
Status string `json:"status,omitempty"`
Type string `json:"type,omitempty"`
}

View File

@@ -1,105 +0,0 @@
package client
import (
"github.com/rancher/norman/types"
)
const (
ClusterNodeType = "clusterNode"
ClusterNodeFieldAPIVersion = "apiVersion"
ClusterNodeFieldAnnotations = "annotations"
ClusterNodeFieldConfigSource = "configSource"
ClusterNodeFieldCreated = "created"
ClusterNodeFieldExternalID = "externalID"
ClusterNodeFieldKind = "kind"
ClusterNodeFieldLabels = "labels"
ClusterNodeFieldName = "name"
ClusterNodeFieldNamespace = "namespace"
ClusterNodeFieldPodCIDR = "podCIDR"
ClusterNodeFieldProviderID = "providerID"
ClusterNodeFieldRemoved = "removed"
ClusterNodeFieldTaints = "taints"
ClusterNodeFieldUnschedulable = "unschedulable"
ClusterNodeFieldUuid = "uuid"
)
type ClusterNode struct {
types.Resource
APIVersion string `json:"apiVersion,omitempty"`
Annotations map[string]string `json:"annotations,omitempty"`
ConfigSource *NodeConfigSource `json:"configSource,omitempty"`
Created string `json:"created,omitempty"`
ExternalID string `json:"externalID,omitempty"`
Kind string `json:"kind,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
PodCIDR string `json:"podCIDR,omitempty"`
ProviderID string `json:"providerID,omitempty"`
Removed string `json:"removed,omitempty"`
Taints []Taint `json:"taints,omitempty"`
Unschedulable bool `json:"unschedulable,omitempty"`
Uuid string `json:"uuid,omitempty"`
}
type ClusterNodeCollection struct {
types.Collection
Data []ClusterNode `json:"data,omitempty"`
client *ClusterNodeClient
}
type ClusterNodeClient struct {
apiClient *Client
}
type ClusterNodeOperations interface {
List(opts *types.ListOpts) (*ClusterNodeCollection, error)
Create(opts *ClusterNode) (*ClusterNode, error)
Update(existing *ClusterNode, updates interface{}) (*ClusterNode, error)
ByID(id string) (*ClusterNode, error)
Delete(container *ClusterNode) error
}
func newClusterNodeClient(apiClient *Client) *ClusterNodeClient {
return &ClusterNodeClient{
apiClient: apiClient,
}
}
func (c *ClusterNodeClient) Create(container *ClusterNode) (*ClusterNode, error) {
resp := &ClusterNode{}
err := c.apiClient.Ops.DoCreate(ClusterNodeType, container, resp)
return resp, err
}
func (c *ClusterNodeClient) Update(existing *ClusterNode, updates interface{}) (*ClusterNode, error) {
resp := &ClusterNode{}
err := c.apiClient.Ops.DoUpdate(ClusterNodeType, &existing.Resource, updates, resp)
return resp, err
}
func (c *ClusterNodeClient) List(opts *types.ListOpts) (*ClusterNodeCollection, error) {
resp := &ClusterNodeCollection{}
err := c.apiClient.Ops.DoList(ClusterNodeType, opts, resp)
resp.client = c
return resp, err
}
func (cc *ClusterNodeCollection) Next() (*ClusterNodeCollection, error) {
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
resp := &ClusterNodeCollection{}
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
resp.client = cc.client
return resp, err
}
return nil, nil
}
func (c *ClusterNodeClient) ByID(id string) (*ClusterNode, error) {
resp := &ClusterNode{}
err := c.apiClient.Ops.DoByID(ClusterNodeType, id, resp)
return resp, err
}
func (c *ClusterNodeClient) Delete(container *ClusterNode) error {
return c.apiClient.Ops.DoResourceDelete(ClusterNodeType, &container.Resource)
}

View File

@@ -1,14 +0,0 @@
package client
const (
ClusterSpecType = "clusterSpec"
ClusterSpecFieldAKSConfig = "aksConfig"
ClusterSpecFieldGKEConfig = "gkeConfig"
ClusterSpecFieldRKEConfig = "rkeConfig"
)
type ClusterSpec struct {
AKSConfig *AKSConfig `json:"aksConfig,omitempty"`
GKEConfig *GKEConfig `json:"gkeConfig,omitempty"`
RKEConfig *RKEConfig `json:"rkeConfig,omitempty"`
}

View File

@@ -1,22 +0,0 @@
package client
const (
ClusterStatusType = "clusterStatus"
ClusterStatusFieldAPIEndpoint = "apiEndpoint"
ClusterStatusFieldAllocatable = "allocatable"
ClusterStatusFieldCACert = "caCert"
ClusterStatusFieldCapacity = "capacity"
ClusterStatusFieldComponentStatuses = "componentStatuses"
ClusterStatusFieldConditions = "conditions"
ClusterStatusFieldServiceAccountToken = "serviceAccountToken"
)
type ClusterStatus struct {
APIEndpoint string `json:"apiEndpoint,omitempty"`
Allocatable map[string]string `json:"allocatable,omitempty"`
CACert string `json:"caCert,omitempty"`
Capacity map[string]string `json:"capacity,omitempty"`
ComponentStatuses []ClusterComponentStatus `json:"componentStatuses,omitempty"`
Conditions []ClusterCondition `json:"conditions,omitempty"`
ServiceAccountToken string `json:"serviceAccountToken,omitempty"`
}

View File

@@ -1,16 +0,0 @@
package client
const (
ComponentConditionType = "componentCondition"
ComponentConditionFieldError = "error"
ComponentConditionFieldMessage = "message"
ComponentConditionFieldStatus = "status"
ComponentConditionFieldType = "type"
)
type ComponentCondition struct {
Error string `json:"error,omitempty"`
Message string `json:"message,omitempty"`
Status string `json:"status,omitempty"`
Type string `json:"type,omitempty"`
}

View File

@@ -1,12 +0,0 @@
package client
const (
ContainerImageType = "containerImage"
ContainerImageFieldNames = "names"
ContainerImageFieldSizeBytes = "sizeBytes"
)
type ContainerImage struct {
Names []string `json:"names,omitempty"`
SizeBytes int64 `json:"sizeBytes,omitempty"`
}

View File

@@ -1,10 +0,0 @@
package client
const (
DaemonEndpointType = "daemonEndpoint"
DaemonEndpointFieldPort = "port"
)
type DaemonEndpoint struct {
Port int64 `json:"port,omitempty"`
}

View File

@@ -1,8 +0,0 @@
package client
const (
ETCDServiceType = "etcdService"
)
type ETCDService struct {
}

View File

@@ -1,34 +0,0 @@
package client
const (
GKEConfigType = "gkeConfig"
GKEConfigFieldClusterIpv4Cidr = "clusterIpv4Cidr"
GKEConfigFieldCredentialPath = "credentialPath"
GKEConfigFieldDescription = "description"
GKEConfigFieldDiskSizeGb = "diskSizeGb"
GKEConfigFieldEnableAlphaFeature = "enableAlphaFeature"
GKEConfigFieldInitialClusterVersion = "initialClusterVersion"
GKEConfigFieldInitialNodeCount = "initialNodeCount"
GKEConfigFieldLabels = "labels"
GKEConfigFieldMachineType = "machineType"
GKEConfigFieldNodePoolID = "nodePoolID"
GKEConfigFieldProjectID = "projectID"
GKEConfigFieldUpdateConfig = "updateConfig"
GKEConfigFieldZone = "zone"
)
type GKEConfig struct {
ClusterIpv4Cidr string `json:"clusterIpv4Cidr,omitempty"`
CredentialPath string `json:"credentialPath,omitempty"`
Description string `json:"description,omitempty"`
DiskSizeGb int64 `json:"diskSizeGb,omitempty"`
EnableAlphaFeature bool `json:"enableAlphaFeature,omitempty"`
InitialClusterVersion string `json:"initialClusterVersion,omitempty"`
InitialNodeCount int64 `json:"initialNodeCount,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
MachineType string `json:"machineType,omitempty"`
NodePoolID string `json:"nodePoolID,omitempty"`
ProjectID string `json:"projectID,omitempty"`
UpdateConfig gkeUpdateConfig `json:"updateConfig,omitempty"`
Zone string `json:"zone,omitempty"`
}

View File

@@ -1,14 +0,0 @@
package client
const (
gkeUpdateConfigType = "gkeUpdateConfig"
gkeUpdateConfigFieldMasterVersion = "masterVersion"
gkeUpdateConfigFieldNodeCount = "nodeCount"
gkeUpdateConfigFieldNodeVersion = "nodeVersion"
)
type gkeUpdateConfig struct {
MasterVersion string `json:"masterVersion,omitempty"`
NodeCount int64 `json:"nodeCount,omitempty"`
NodeVersion string `json:"nodeVersion,omitempty"`
}

View File

@@ -1,10 +0,0 @@
package client
const (
InitializerType = "initializer"
InitializerFieldName = "name"
)
type Initializer struct {
Name string `json:"name,omitempty"`
}

View File

@@ -1,12 +0,0 @@
package client
const (
InitializersType = "initializers"
InitializersFieldPending = "pending"
InitializersFieldResult = "result"
)
type Initializers struct {
Pending []Initializer `json:"pending,omitempty"`
Result *Status `json:"result,omitempty"`
}

View File

@@ -1,10 +0,0 @@
package client
const (
KubeAPIServiceType = "kubeAPIService"
KubeAPIServiceFieldServiceClusterIPRange = "serviceClusterIPRange"
)
type KubeAPIService struct {
ServiceClusterIPRange string `json:"serviceClusterIPRange,omitempty"`
}

View File

@@ -1,12 +0,0 @@
package client
const (
KubeControllerServiceType = "kubeControllerService"
KubeControllerServiceFieldClusterCIDR = "clusterCIDR"
KubeControllerServiceFieldServiceClusterIPRange = "serviceClusterIPRange"
)
type KubeControllerService struct {
ClusterCIDR string `json:"clusterCIDR,omitempty"`
ServiceClusterIPRange string `json:"serviceClusterIPRange,omitempty"`
}

View File

@@ -1,14 +0,0 @@
package client
const (
KubeletServiceType = "kubeletService"
KubeletServiceFieldClusterDNSServer = "clusterDNSServer"
KubeletServiceFieldClusterDomain = "clusterDomain"
KubeletServiceFieldInfraContainerImage = "infraContainerImage"
)
type KubeletService struct {
ClusterDNSServer string `json:"clusterDNSServer,omitempty"`
ClusterDomain string `json:"clusterDomain,omitempty"`
InfraContainerImage string `json:"infraContainerImage,omitempty"`
}

View File

@@ -1,8 +0,0 @@
package client
const (
KubeproxyServiceType = "kubeproxyService"
)
type KubeproxyService struct {
}

View File

@@ -1,14 +0,0 @@
package client
const (
ListMetaType = "listMeta"
ListMetaFieldContinue = "continue"
ListMetaFieldResourceVersion = "resourceVersion"
ListMetaFieldSelfLink = "selfLink"
)
type ListMeta struct {
Continue string `json:"continue,omitempty"`
ResourceVersion string `json:"resourceVersion,omitempty"`
SelfLink string `json:"selfLink,omitempty"`
}

View File

@@ -1,12 +0,0 @@
package client
const (
NodeAddressType = "nodeAddress"
NodeAddressFieldAddress = "address"
NodeAddressFieldType = "type"
)
type NodeAddress struct {
Address string `json:"address,omitempty"`
Type string `json:"type,omitempty"`
}

View File

@@ -1,20 +0,0 @@
package client
const (
NodeConditionType = "nodeCondition"
NodeConditionFieldLastHeartbeatTime = "lastHeartbeatTime"
NodeConditionFieldLastTransitionTime = "lastTransitionTime"
NodeConditionFieldMessage = "message"
NodeConditionFieldReason = "reason"
NodeConditionFieldStatus = "status"
NodeConditionFieldType = "type"
)
type NodeCondition struct {
LastHeartbeatTime string `json:"lastHeartbeatTime,omitempty"`
LastTransitionTime string `json:"lastTransitionTime,omitempty"`
Message string `json:"message,omitempty"`
Reason string `json:"reason,omitempty"`
Status string `json:"status,omitempty"`
Type string `json:"type,omitempty"`
}

View File

@@ -1,14 +0,0 @@
package client
const (
NodeConfigSourceType = "nodeConfigSource"
NodeConfigSourceFieldAPIVersion = "apiVersion"
NodeConfigSourceFieldConfigMapRef = "configMapRef"
NodeConfigSourceFieldKind = "kind"
)
type NodeConfigSource struct {
APIVersion string `json:"apiVersion,omitempty"`
ConfigMapRef *ObjectReference `json:"configMapRef,omitempty"`
Kind string `json:"kind,omitempty"`
}

View File

@@ -1,10 +0,0 @@
package client
const (
NodeDaemonEndpointsType = "nodeDaemonEndpoints"
NodeDaemonEndpointsFieldKubeletEndpoint = "kubeletEndpoint"
)
type NodeDaemonEndpoints struct {
KubeletEndpoint DaemonEndpoint `json:"kubeletEndpoint,omitempty"`
}

View File

@@ -1,20 +0,0 @@
package client
const (
NodeSpecType = "nodeSpec"
NodeSpecFieldConfigSource = "configSource"
NodeSpecFieldExternalID = "externalID"
NodeSpecFieldPodCIDR = "podCIDR"
NodeSpecFieldProviderID = "providerID"
NodeSpecFieldTaints = "taints"
NodeSpecFieldUnschedulable = "unschedulable"
)
type NodeSpec struct {
ConfigSource *NodeConfigSource `json:"configSource,omitempty"`
ExternalID string `json:"externalID,omitempty"`
PodCIDR string `json:"podCIDR,omitempty"`
ProviderID string `json:"providerID,omitempty"`
Taints []Taint `json:"taints,omitempty"`
Unschedulable bool `json:"unschedulable,omitempty"`
}

View File

@@ -1,28 +0,0 @@
package client
const (
NodeStatusType = "nodeStatus"
NodeStatusFieldAddresses = "addresses"
NodeStatusFieldAllocatable = "allocatable"
NodeStatusFieldCapacity = "capacity"
NodeStatusFieldConditions = "conditions"
NodeStatusFieldDaemonEndpoints = "daemonEndpoints"
NodeStatusFieldImages = "images"
NodeStatusFieldNodeInfo = "nodeInfo"
NodeStatusFieldPhase = "phase"
NodeStatusFieldVolumesAttached = "volumesAttached"
NodeStatusFieldVolumesInUse = "volumesInUse"
)
type NodeStatus struct {
Addresses []NodeAddress `json:"addresses,omitempty"`
Allocatable map[string]string `json:"allocatable,omitempty"`
Capacity map[string]string `json:"capacity,omitempty"`
Conditions []NodeCondition `json:"conditions,omitempty"`
DaemonEndpoints NodeDaemonEndpoints `json:"daemonEndpoints,omitempty"`
Images []ContainerImage `json:"images,omitempty"`
NodeInfo NodeSystemInfo `json:"nodeInfo,omitempty"`
Phase string `json:"phase,omitempty"`
VolumesAttached []AttachedVolume `json:"volumesAttached,omitempty"`
VolumesInUse []string `json:"volumesInUse,omitempty"`
}

View File

@@ -1,28 +0,0 @@
package client
const (
NodeSystemInfoType = "nodeSystemInfo"
NodeSystemInfoFieldArchitecture = "architecture"
NodeSystemInfoFieldBootID = "bootID"
NodeSystemInfoFieldContainerRuntimeVersion = "containerRuntimeVersion"
NodeSystemInfoFieldKernelVersion = "kernelVersion"
NodeSystemInfoFieldKubeProxyVersion = "kubeProxyVersion"
NodeSystemInfoFieldKubeletVersion = "kubeletVersion"
NodeSystemInfoFieldMachineID = "machineID"
NodeSystemInfoFieldOSImage = "osImage"
NodeSystemInfoFieldOperatingSystem = "operatingSystem"
NodeSystemInfoFieldSystemUUID = "systemUUID"
)
type NodeSystemInfo struct {
Architecture string `json:"architecture,omitempty"`
BootID string `json:"bootID,omitempty"`
ContainerRuntimeVersion string `json:"containerRuntimeVersion,omitempty"`
KernelVersion string `json:"kernelVersion,omitempty"`
KubeProxyVersion string `json:"kubeProxyVersion,omitempty"`
KubeletVersion string `json:"kubeletVersion,omitempty"`
MachineID string `json:"machineID,omitempty"`
OSImage string `json:"osImage,omitempty"`
OperatingSystem string `json:"operatingSystem,omitempty"`
SystemUUID string `json:"systemUUID,omitempty"`
}

View File

@@ -1,22 +0,0 @@
package client
const (
ObjectMetaType = "objectMeta"
ObjectMetaFieldAnnotations = "annotations"
ObjectMetaFieldCreated = "created"
ObjectMetaFieldLabels = "labels"
ObjectMetaFieldName = "name"
ObjectMetaFieldNamespace = "namespace"
ObjectMetaFieldRemoved = "removed"
ObjectMetaFieldUuid = "uuid"
)
type ObjectMeta struct {
Annotations map[string]string `json:"annotations,omitempty"`
Created string `json:"created,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
Removed string `json:"removed,omitempty"`
Uuid string `json:"uuid,omitempty"`
}

View File

@@ -1,22 +0,0 @@
package client
const (
ObjectReferenceType = "objectReference"
ObjectReferenceFieldAPIVersion = "apiVersion"
ObjectReferenceFieldFieldPath = "fieldPath"
ObjectReferenceFieldKind = "kind"
ObjectReferenceFieldName = "name"
ObjectReferenceFieldNamespace = "namespace"
ObjectReferenceFieldResourceVersion = "resourceVersion"
ObjectReferenceFieldUID = "uid"
)
type ObjectReference struct {
APIVersion string `json:"apiVersion,omitempty"`
FieldPath string `json:"fieldPath,omitempty"`
Kind string `json:"kind,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
ResourceVersion string `json:"resourceVersion,omitempty"`
UID string `json:"uid,omitempty"`
}

View File

@@ -1,20 +0,0 @@
package client
const (
OwnerReferenceType = "ownerReference"
OwnerReferenceFieldAPIVersion = "apiVersion"
OwnerReferenceFieldBlockOwnerDeletion = "blockOwnerDeletion"
OwnerReferenceFieldController = "controller"
OwnerReferenceFieldKind = "kind"
OwnerReferenceFieldName = "name"
OwnerReferenceFieldUID = "uid"
)
type OwnerReference struct {
APIVersion string `json:"apiVersion,omitempty"`
BlockOwnerDeletion *bool `json:"blockOwnerDeletion,omitempty"`
Controller *bool `json:"controller,omitempty"`
Kind string `json:"kind,omitempty"`
Name string `json:"name,omitempty"`
UID string `json:"uid,omitempty"`
}

View File

@@ -1,16 +0,0 @@
package client
const (
RKEConfigType = "rkeConfig"
RKEConfigFieldAuthType = "authType"
RKEConfigFieldHosts = "hosts"
RKEConfigFieldNetworkPlugin = "networkPlugin"
RKEConfigFieldServices = "services"
)
type RKEConfig struct {
AuthType string `json:"authType,omitempty"`
Hosts []RKEConfigHost `json:"hosts,omitempty"`
NetworkPlugin string `json:"networkPlugin,omitempty"`
Services RKEConfigServices `json:"services,omitempty"`
}

View File

@@ -1,20 +0,0 @@
package client
const (
RKEConfigHostType = "rkeConfigHost"
RKEConfigHostFieldAdvertiseAddress = "advertiseAddress"
RKEConfigHostFieldDockerSocket = "dockerSocket"
RKEConfigHostFieldHostname = "hostname"
RKEConfigHostFieldIP = "ip"
RKEConfigHostFieldRole = "role"
RKEConfigHostFieldUser = "user"
)
type RKEConfigHost struct {
AdvertiseAddress string `json:"advertiseAddress,omitempty"`
DockerSocket string `json:"dockerSocket,omitempty"`
Hostname string `json:"hostname,omitempty"`
IP string `json:"ip,omitempty"`
Role []string `json:"role,omitempty"`
User string `json:"user,omitempty"`
}

View File

@@ -1,20 +0,0 @@
package client
const (
RKEConfigServicesType = "rkeConfigServices"
RKEConfigServicesFieldEtcd = "etcd"
RKEConfigServicesFieldKubeAPI = "kubeAPI"
RKEConfigServicesFieldKubeController = "kubeController"
RKEConfigServicesFieldKubelet = "kubelet"
RKEConfigServicesFieldKubeproxy = "kubeproxy"
RKEConfigServicesFieldScheduler = "scheduler"
)
type RKEConfigServices struct {
Etcd ETCDService `json:"etcd,omitempty"`
KubeAPI KubeAPIService `json:"kubeAPI,omitempty"`
KubeController KubeControllerService `json:"kubeController,omitempty"`
Kubelet KubeletService `json:"kubelet,omitempty"`
Kubeproxy KubeproxyService `json:"kubeproxy,omitempty"`
Scheduler SchedulerService `json:"scheduler,omitempty"`
}

View File

@@ -1,8 +0,0 @@
package client
const (
SchedulerServiceType = "schedulerService"
)
type SchedulerService struct {
}

View File

@@ -1,24 +0,0 @@
package client
const (
StatusType = "status"
StatusFieldAPIVersion = "apiVersion"
StatusFieldCode = "code"
StatusFieldDetails = "details"
StatusFieldKind = "kind"
StatusFieldListMeta = "listMeta"
StatusFieldMessage = "message"
StatusFieldReason = "reason"
StatusFieldStatus = "status"
)
type Status struct {
APIVersion string `json:"apiVersion,omitempty"`
Code int64 `json:"code,omitempty"`
Details *StatusDetails `json:"details,omitempty"`
Kind string `json:"kind,omitempty"`
ListMeta ListMeta `json:"listMeta,omitempty"`
Message string `json:"message,omitempty"`
Reason string `json:"reason,omitempty"`
Status string `json:"status,omitempty"`
}

View File

@@ -1,14 +0,0 @@
package client
const (
StatusCauseType = "statusCause"
StatusCauseFieldField = "field"
StatusCauseFieldMessage = "message"
StatusCauseFieldType = "type"
)
type StatusCause struct {
Field string `json:"field,omitempty"`
Message string `json:"message,omitempty"`
Type string `json:"type,omitempty"`
}

View File

@@ -1,20 +0,0 @@
package client
const (
StatusDetailsType = "statusDetails"
StatusDetailsFieldCauses = "causes"
StatusDetailsFieldGroup = "group"
StatusDetailsFieldKind = "kind"
StatusDetailsFieldName = "name"
StatusDetailsFieldRetryAfterSeconds = "retryAfterSeconds"
StatusDetailsFieldUID = "uid"
)
type StatusDetails struct {
Causes []StatusCause `json:"causes,omitempty"`
Group string `json:"group,omitempty"`
Kind string `json:"kind,omitempty"`
Name string `json:"name,omitempty"`
RetryAfterSeconds int64 `json:"retryAfterSeconds,omitempty"`
UID string `json:"uid,omitempty"`
}

View File

@@ -1,16 +0,0 @@
package client
const (
TaintType = "taint"
TaintFieldEffect = "effect"
TaintFieldKey = "key"
TaintFieldTimeAdded = "timeAdded"
TaintFieldValue = "value"
)
type Taint struct {
Effect string `json:"effect,omitempty"`
Key string `json:"key,omitempty"`
TimeAdded string `json:"timeAdded,omitempty"`
Value string `json:"value,omitempty"`
}

View File

@@ -3,4 +3,4 @@ github.com/rancher/types
k8s.io/kubernetes v1.8.3 transitive=true,staging=true
bitbucket.org/ww/goautoneg a547fc61f48d567d5b4ec6f8aee5573d8efce11d https://github.com/rancher/goautoneg.git
github.com/rancher/norman 068b9eb94326e2c566c5eed7636163b1b407c4c0
github.com/rancher/norman cad01ba487d6c071911c619babc45ae80c252229