Documentation
¶
Overview ¶
+groupName=kops
Index ¶
- Constants
- Variables
- func ParseRawYaml(data []byte, dest interface{}) error
- func PerformAssignmentsInstanceGroups(groups []*InstanceGroup) error
- func RecommendedKubernetesVersion(c *Channel, kopsVersionString string) *semver.Version
- func Resource(resource string) schema.GroupResource
- func ToRawYaml(obj interface{}) ([]byte, error)
- type AccessSpec
- type AddonSpec
- type AlwaysAllowAuthorizationSpec
- type AmazonVPCNetworkingSpec
- type ApiIngressStatus
- type Assets
- type AuthenticationSpec
- type AuthorizationSpec
- type AwsAuthenticationSpec
- type BastionSpec
- type CNINetworkingSpec
- type CalicoNetworkingSpec
- type CanalNetworkingSpec
- type Channel
- type ChannelImageSpec
- type ChannelSpec
- type CiliumNetworkingSpec
- type ClassicNetworkingSpec
- type CloudConfiguration
- type CloudControllerManagerConfig
- type CloudProviderID
- type Cluster
- type ClusterList
- type ClusterSpec
- type ClusterStatus
- type ClusterSubnetSpec
- type DNSAccessSpec
- type DNSSpec
- type DNSType
- type DockerConfig
- type EgressProxySpec
- type EtcdBackupSpec
- type EtcdClusterSpec
- type EtcdClusterStatus
- type EtcdManagerSpec
- type EtcdMemberSpec
- type EtcdMemberStatus
- type ExecContainerAction
- type ExternalDNSConfig
- type ExternalNetworkingSpec
- type FileAssetSpec
- type FlannelNetworkingSpec
- type HTTPProxy
- type HookSpec
- type IAMProfileSpec
- type IAMSpec
- type InstanceGroup
- func (g *InstanceGroup) AddInstanceGroupNodeLabel()
- func (in *InstanceGroup) DeepCopy() *InstanceGroup
- func (in *InstanceGroup) DeepCopyInto(out *InstanceGroup)
- func (in *InstanceGroup) DeepCopyObject() runtime.Object
- func (obj *InstanceGroup) GetObjectKind() schema.ObjectKind
- func (g *InstanceGroup) IsBastion() bool
- func (g *InstanceGroup) IsMaster() bool
- type InstanceGroupList
- type InstanceGroupRole
- type InstanceGroupSpec
- type Keyset
- type KeysetItem
- type KeysetList
- type KeysetSpec
- type KeysetType
- type KopeioAuthenticationSpec
- type KopeioNetworkingSpec
- type KopsVersionSpec
- type KubeAPIServerConfig
- type KubeControllerManagerConfig
- type KubeDNSConfig
- type KubeProxyConfig
- type KubeSchedulerConfig
- type KubeletConfigSpec
- type KubenetNetworkingSpec
- type KubernetesVersionSpec
- func (in *KubernetesVersionSpec) DeepCopy() *KubernetesVersionSpec
- func (in *KubernetesVersionSpec) DeepCopyInto(out *KubernetesVersionSpec)
- func (v *KubernetesVersionSpec) FindRecommendedUpgrade(version semver.Version) (*semver.Version, error)
- func (v *KubernetesVersionSpec) IsUpgradeRequired(version semver.Version) (bool, error)
- type KuberouterNetworkingSpec
- type LeaderElectionConfiguration
- type LoadBalancer
- type LoadBalancerAccessSpec
- type LoadBalancerType
- type NetworkingSpec
- type NodeAuthorizationSpec
- type NodeAuthorizerSpec
- type NoopStatusStore
- type RBACAuthorizationSpec
- type RomanaNetworkingSpec
- type SSHCredential
- type SSHCredentialList
- type SSHCredentialSpec
- type StatusStore
- type SubnetType
- type TargetSpec
- type TerraformSpec
- type TopologySpec
- type UserData
- type WeaveNetworkingSpec
Constants ¶
const (
TopologyPublic = "public"
TopologyPrivate = "private"
)
const AlphaChannel = "alpha"
const AnnotationNameManagement = "kops.kubernetes.io/management"
AnnotationNameManagement is the annotation that indicates that a cluster is under external or non-standard management
const AnnotationValueManagementImported = "imported"
AnnotationValueManagementImported is the annotation value that indicates a cluster was imported, typically as part of an upgrade
const CiliumDefaultVersion = "v1.0-stable"
const DefaultChannel = "stable"
const GroupName = "kops"
GroupName is the group name use in this package
const LabelClusterName = "kops.k8s.io/cluster"
const NodeLabelInstanceGroup = "kops.k8s.io/instancegroup"
NodeLabelInstanceGroup is a node label set to the name of the instance group
const TaintNoScheduleMaster15 = "dedicated=master:NoSchedule"
Deprecated - use the new labels & taints node-role.kubernetes.io/master and node-role.kubernetes.io/node
const UpdatePolicyExternal = "external"
UpdatePolicyExternal is a value for ClusterSpec.UpdatePolicy indicating that upgrades are done externally, and we should disable automatic upgrades
Variables ¶
var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
AddToScheme = SchemeBuilder.AddToScheme
)
var AllInstanceGroupRoles = []InstanceGroupRole{
InstanceGroupRoleNode,
InstanceGroupRoleMaster,
InstanceGroupRoleBastion,
}
var DefaultChannelBase = "https://raw.githubusercontent.com/kubernetes/kops/master/channels/"
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
SchemeGroupVersion is the group version used to register these objects
Functions ¶
func ParseRawYaml ¶
func ParseRawYaml(data []byte, dest interface{}) error
ParseRawYaml parses an object just using yaml, without the full api machinery Deprecated: prefer using the API machinery
func PerformAssignmentsInstanceGroups ¶
func PerformAssignmentsInstanceGroups(groups []*InstanceGroup) error
PerformAssignmentsInstanceGroups populates InstanceGroups with default values
func RecommendedKubernetesVersion ¶
func RecommendedKubernetesVersion(c *Channel, kopsVersionString string) *semver.Version
RecommendedKubernetesVersion returns the recommended kubernetes version for a version of kops It is used by default when creating a new cluster, for example
Types ¶
type AccessSpec ¶
type AccessSpec struct {
// DNS will be used to provide config on kube-apiserver elb dns
DNS *DNSAccessSpec `json:"dns,omitempty"`
// LoadBalancer is the configuration for the kube-apiserver ELB
LoadBalancer *LoadBalancerAccessSpec `json:"loadBalancer,omitempty"`
}
AccessSpec provides configuration details related to kubeapi dns and ELB access
func (*AccessSpec) DeepCopy ¶
func (in *AccessSpec) DeepCopy() *AccessSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessSpec.
func (*AccessSpec) DeepCopyInto ¶
func (in *AccessSpec) DeepCopyInto(out *AccessSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AddonSpec ¶
type AddonSpec struct {
// Manifest is a path to the manifest that defines the addon
Manifest string `json:"manifest,omitempty"`
}
AddonSpec defines an addon that we want to install in the cluster
func (*AddonSpec) DeepCopy ¶
func (in *AddonSpec) DeepCopy() *AddonSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonSpec.
func (*AddonSpec) DeepCopyInto ¶
func (in *AddonSpec) DeepCopyInto(out *AddonSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AlwaysAllowAuthorizationSpec ¶
type AlwaysAllowAuthorizationSpec struct {
}
func (*AlwaysAllowAuthorizationSpec) DeepCopy ¶
func (in *AlwaysAllowAuthorizationSpec) DeepCopy() *AlwaysAllowAuthorizationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlwaysAllowAuthorizationSpec.
func (*AlwaysAllowAuthorizationSpec) DeepCopyInto ¶
func (in *AlwaysAllowAuthorizationSpec) DeepCopyInto(out *AlwaysAllowAuthorizationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AmazonVPCNetworkingSpec ¶
type AmazonVPCNetworkingSpec struct {
// The container image name to use, which by default is:
// 602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon-k8s-cni:1.0.0
ImageName string `json:"imageName,omitempty"`
}
AmazonVPCNetworkingSpec declares that we want Amazon VPC CNI networking
func (*AmazonVPCNetworkingSpec) DeepCopy ¶
func (in *AmazonVPCNetworkingSpec) DeepCopy() *AmazonVPCNetworkingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AmazonVPCNetworkingSpec.
func (*AmazonVPCNetworkingSpec) DeepCopyInto ¶
func (in *AmazonVPCNetworkingSpec) DeepCopyInto(out *AmazonVPCNetworkingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApiIngressStatus ¶
type ApiIngressStatus struct {
// IP is set for load-balancer ingress points that are IP based
// (typically GCE or OpenStack load-balancers)
// +optional
IP string `json:"ip,omitempty" protobuf:"bytes,1,opt,name=ip"`
// Hostname is set for load-balancer ingress points that are DNS based
// (typically AWS load-balancers)
// +optional
Hostname string `json:"hostname,omitempty" protobuf:"bytes,2,opt,name=hostname"`
}
ApiIngressStatus represents the status of an ingress point: traffic intended for the service should be sent to an ingress point.
func (*ApiIngressStatus) DeepCopy ¶
func (in *ApiIngressStatus) DeepCopy() *ApiIngressStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApiIngressStatus.
func (*ApiIngressStatus) DeepCopyInto ¶
func (in *ApiIngressStatus) DeepCopyInto(out *ApiIngressStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Assets ¶
type Assets struct {
// ContainerRegistry is a url for to a docker registry
ContainerRegistry *string `json:"containerRegistry,omitempty"`
// FileRepository is the url for a private file serving repository
FileRepository *string `json:"fileRepository,omitempty"`
// ContainerProxy is a url for a pull-through proxy of a docker registry
ContainerProxy *string `json:"containerProxy,omitempty"`
}
Assets defines the privately hosted assets
func (*Assets) DeepCopy ¶
func (in *Assets) DeepCopy() *Assets
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Assets.
func (*Assets) DeepCopyInto ¶
func (in *Assets) DeepCopyInto(out *Assets)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuthenticationSpec ¶
type AuthenticationSpec struct {
Kopeio *KopeioAuthenticationSpec `json:"kopeio,omitempty"`
Aws *AwsAuthenticationSpec `json:"aws,omitempty"`
}
func (*AuthenticationSpec) DeepCopy ¶
func (in *AuthenticationSpec) DeepCopy() *AuthenticationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthenticationSpec.
func (*AuthenticationSpec) DeepCopyInto ¶
func (in *AuthenticationSpec) DeepCopyInto(out *AuthenticationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuthorizationSpec ¶
type AuthorizationSpec struct {
AlwaysAllow *AlwaysAllowAuthorizationSpec `json:"alwaysAllow,omitempty"`
RBAC *RBACAuthorizationSpec `json:"rbac,omitempty"`
}
func (*AuthorizationSpec) DeepCopy ¶
func (in *AuthorizationSpec) DeepCopy() *AuthorizationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthorizationSpec.
func (*AuthorizationSpec) DeepCopyInto ¶
func (in *AuthorizationSpec) DeepCopyInto(out *AuthorizationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AwsAuthenticationSpec ¶
type AwsAuthenticationSpec struct {
}
func (*AwsAuthenticationSpec) DeepCopy ¶
func (in *AwsAuthenticationSpec) DeepCopy() *AwsAuthenticationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AwsAuthenticationSpec.
func (*AwsAuthenticationSpec) DeepCopyInto ¶
func (in *AwsAuthenticationSpec) DeepCopyInto(out *AwsAuthenticationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BastionSpec ¶
type BastionSpec struct {
BastionPublicName string `json:"bastionPublicName,omitempty"`
// IdleTimeoutSeconds is the bastion's Loadbalancer idle timeout
IdleTimeoutSeconds *int64 `json:"idleTimeoutSeconds,omitempty"`
}
func (*BastionSpec) DeepCopy ¶
func (in *BastionSpec) DeepCopy() *BastionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BastionSpec.
func (*BastionSpec) DeepCopyInto ¶
func (in *BastionSpec) DeepCopyInto(out *BastionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CNINetworkingSpec ¶
type CNINetworkingSpec struct {
UsesSecondaryIP bool `json:"usesSecondaryIP,omitempty"`
}
CNINetworkingSpec is the specification for networking that is implemented by a Daemonset Networking is not managed by kops - we can create options here that directly configure e.g. weave but this is useful for arbitrary network modes or for modes that don't need additional configuration.
func (*CNINetworkingSpec) DeepCopy ¶
func (in *CNINetworkingSpec) DeepCopy() *CNINetworkingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNINetworkingSpec.
func (*CNINetworkingSpec) DeepCopyInto ¶
func (in *CNINetworkingSpec) DeepCopyInto(out *CNINetworkingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CalicoNetworkingSpec ¶
type CalicoNetworkingSpec struct {
CrossSubnet bool `json:"crossSubnet,omitempty"` // Enables Calico's cross-subnet mode when set to true
// LogSeverityScreen lets us set the desired log level. (Default: info)
LogSeverityScreen string `json:"logSeverityScreen,omitempty"`
// MTU to be set in the cni-network-config for calico.
MTU *int32 `json:"mtu,omitempty"`
// PrometheusMetricsEnabled can be set to enable the experimental Prometheus
// metrics server (default: false)
PrometheusMetricsEnabled bool `json:"prometheusMetricsEnabled,omitempty"`
// PrometheusMetricsPort is the TCP port that the experimental Prometheus
// metrics server should bind to (default: 9091)
PrometheusMetricsPort int32 `json:"prometheusMetricsPort,omitempty"`
// PrometheusGoMetricsEnabled enables Prometheus Go runtime metrics collection
PrometheusGoMetricsEnabled bool `json:"prometheusGoMetricsEnabled,omitempty"`
// PrometheusProcessMetricsEnabled enables Prometheus process metrics collection
PrometheusProcessMetricsEnabled bool `json:"prometheusProcessMetricsEnabled,omitempty"`
}
CalicoNetworkingSpec declares that we want Calico networking
func (*CalicoNetworkingSpec) DeepCopy ¶
func (in *CalicoNetworkingSpec) DeepCopy() *CalicoNetworkingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CalicoNetworkingSpec.
func (*CalicoNetworkingSpec) DeepCopyInto ¶
func (in *CalicoNetworkingSpec) DeepCopyInto(out *CalicoNetworkingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CanalNetworkingSpec ¶
type CanalNetworkingSpec struct {
// ChainInsertMode controls whether Felix inserts rules to the top of iptables chains, or
// appends to the bottom. Leaving the default option is safest to prevent accidentally
// breaking connectivity. Default: 'insert' (other options: 'append')
ChainInsertMode string `json:"chainInsertMode,omitempty"`
// DefaultEndpointToHostAction allows users to configure the default behaviour
// for traffic between pod to host after calico rules have been processed.
// Default: ACCEPT (other options: DROP, RETURN)
DefaultEndpointToHostAction string `json:"defaultEndpointToHostAction,omitempty"`
// LogSeveritySys the severity to set for logs which are sent to syslog
// Default: INFO (other options: DEBUG, WARNING, ERROR, CRITICAL, NONE)
LogSeveritySys string `json:"logSeveritySys,omitempty"`
// PrometheusGoMetricsEnabled enables Prometheus Go runtime metrics collection
PrometheusGoMetricsEnabled bool `json:"prometheusGoMetricsEnabled,omitempty"`
// PrometheusMetricsEnabled can be set to enable the experimental Prometheus
// metrics server (default: false)
PrometheusMetricsEnabled bool `json:"prometheusMetricsEnabled,omitempty"`
// PrometheusMetricsPort is the TCP port that the experimental Prometheus
// metrics server should bind to (default: 9091)
PrometheusMetricsPort int32 `json:"prometheusMetricsPort,omitempty"`
// PrometheusProcessMetricsEnabled enables Prometheus process metrics collection
PrometheusProcessMetricsEnabled bool `json:"prometheusProcessMetricsEnabled,omitempty"`
}
CanalNetworkingSpec declares that we want Canal networking
func (*CanalNetworkingSpec) DeepCopy ¶
func (in *CanalNetworkingSpec) DeepCopy() *CanalNetworkingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CanalNetworkingSpec.
func (*CanalNetworkingSpec) DeepCopyInto ¶
func (in *CanalNetworkingSpec) DeepCopyInto(out *CanalNetworkingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Channel ¶
type Channel struct {
v1.TypeMeta `json:",inline"`
ObjectMeta metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ChannelSpec `json:"spec,omitempty"`
}
func LoadChannel ¶
func LoadChannel(location string) (*Channel, error)
LoadChannel loads a Channel object from the specified VFS location
func ParseChannel ¶
func ParseChannel(channelBytes []byte) (*Channel, error)
ParseChannel parses a Channel object
func (*Channel) DeepCopy ¶
func (in *Channel) DeepCopy() *Channel
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Channel.
func (*Channel) DeepCopyInto ¶
func (in *Channel) DeepCopyInto(out *Channel)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChannelImageSpec ¶
type ChannelImageSpec struct {
Labels map[string]string `json:"labels,omitempty"`
ProviderID string `json:"providerID,omitempty"`
Name string `json:"name,omitempty"`
KubernetesVersion string `json:"kubernetesVersion,omitempty"`
}
func (*ChannelImageSpec) DeepCopy ¶
func (in *ChannelImageSpec) DeepCopy() *ChannelImageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChannelImageSpec.
func (*ChannelImageSpec) DeepCopyInto ¶
func (in *ChannelImageSpec) DeepCopyInto(out *ChannelImageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChannelSpec ¶
type ChannelSpec struct {
Images []*ChannelImageSpec `json:"images,omitempty"`
Cluster *ClusterSpec `json:"cluster,omitempty"`
// KopsVersions allows us to recommend/require kops versions
KopsVersions []KopsVersionSpec `json:"kopsVersions,omitempty"`
// KubernetesVersions allows us to recommend/requires kubernetes versions
KubernetesVersions []KubernetesVersionSpec `json:"kubernetesVersions,omitempty"`
}
func (*ChannelSpec) DeepCopy ¶
func (in *ChannelSpec) DeepCopy() *ChannelSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChannelSpec.
func (*ChannelSpec) DeepCopyInto ¶
func (in *ChannelSpec) DeepCopyInto(out *ChannelSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CiliumNetworkingSpec ¶
type CiliumNetworkingSpec struct {
Version string `json:"version,omitempty"`
AccessLog string `json:"accessLog,omitempty"`
AgentLabels []string `json:"agentLabels,omitempty"`
AllowLocalhost string `json:"allowLocalhost,omitempty"`
AutoIpv6NodeRoutes bool `json:"autoIpv6NodeRoutes,omitempty"`
BPFRoot string `json:"bpfRoot,omitempty"`
ContainerRuntime []string `json:"containerRuntime,omitempty"`
ContainerRuntimeEndpoint map[string]string `json:"containerRuntimeEndpoint,omitempty"`
Debug bool `json:"debug,omitempty"`
DebugVerbose []string `json:"debugVerbose,omitempty"`
Device string `json:"device,omitempty"`
DisableConntrack bool `json:"disableConntrack,omitempty"`
DisableIpv4 bool `json:"disableIpv4,omitempty"`
DisableK8sServices bool `json:"disableK8sServices,omitempty"`
EnablePolicy string `json:"enablePolicy,omitempty"`
EnableTracing bool `json:"enableTracing,omitempty"`
EnvoyLog string `json:"envoyLog,omitempty"`
Ipv4ClusterCIDRMaskSize int `json:"ipv4ClusterCidrMaskSize,omitempty"`
Ipv4Node string `json:"ipv4Node,omitempty"`
Ipv4Range string `json:"ipv4Range,omitempty"`
Ipv4ServiceRange string `json:"ipv4ServiceRange,omitempty"`
Ipv6ClusterAllocCidr string `json:"ipv6ClusterAllocCidr,omitempty"`
Ipv6Node string `json:"ipv6Node,omitempty"`
Ipv6Range string `json:"ipv6Range,omitempty"`
Ipv6ServiceRange string `json:"ipv6ServiceRange,omitempty"`
K8sAPIServer string `json:"k8sApiServer,omitempty"`
K8sKubeconfigPath string `json:"k8sKubeconfigPath,omitempty"`
KeepBPFTemplates bool `json:"keepBpfTemplates,omitempty"`
KeepConfig bool `json:"keepConfig,omitempty"`
LabelPrefixFile string `json:"labelPrefixFile,omitempty"`
Labels []string `json:"labels,omitempty"`
LB string `json:"lb,omitempty"`
LibDir string `json:"libDir,omitempty"`
LogDrivers []string `json:"logDriver,omitempty"`
LogOpt map[string]string `json:"logOpt,omitempty"`
Logstash bool `json:"logstash,omitempty"`
LogstashAgent string `json:"logstashAgent,omitempty"`
LogstashProbeTimer uint32 `json:"logstashProbeTimer,omitempty"`
DisableMasquerade bool `json:"disableMasquerade,omitempty"`
Nat46Range string `json:"nat46Range,omitempty"`
Pprof bool `json:"pprof,omitempty"`
PrefilterDevice string `json:"prefilterDevice,omitempty"`
PrometheusServeAddr string `json:"prometheusServeAddr,omitempty"`
Restore bool `json:"restore,omitempty"`
SingleClusterRoute bool `json:"singleClusterRoute,omitempty"`
SocketPath string `json:"socketPath,omitempty"`
StateDir string `json:"stateDir,omitempty"`
TracePayloadLen int `json:"tracePayloadlen,omitempty"`
Tunnel string `json:"tunnel,omitempty"`
}
CiliumNetworkingSpec declares that we want Cilium networking
func (*CiliumNetworkingSpec) DeepCopy ¶
func (in *CiliumNetworkingSpec) DeepCopy() *CiliumNetworkingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CiliumNetworkingSpec.
func (*CiliumNetworkingSpec) DeepCopyInto ¶
func (in *CiliumNetworkingSpec) DeepCopyInto(out *CiliumNetworkingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClassicNetworkingSpec ¶
type ClassicNetworkingSpec struct {
}
ClassicNetworkingSpec is the specification of classic networking mode, integrated into kubernetes
func (*ClassicNetworkingSpec) DeepCopy ¶
func (in *ClassicNetworkingSpec) DeepCopy() *ClassicNetworkingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClassicNetworkingSpec.
func (*ClassicNetworkingSpec) DeepCopyInto ¶
func (in *ClassicNetworkingSpec) DeepCopyInto(out *ClassicNetworkingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudConfiguration ¶
type CloudConfiguration struct {
// GCE cloud-config options
Multizone *bool `json:"multizone,omitempty"`
NodeTags *string `json:"nodeTags,omitempty"`
NodeInstancePrefix *string `json:"nodeInstancePrefix,omitempty"`
// AWS cloud-config options
DisableSecurityGroupIngress *bool `json:"disableSecurityGroupIngress,omitempty"`
ElbSecurityGroup *string `json:"elbSecurityGroup,omitempty"`
// vSphere cloud-config specs
VSphereUsername *string `json:"vSphereUsername,omitempty"`
VSpherePassword *string `json:"vSpherePassword,omitempty"`
VSphereServer *string `json:"vSphereServer,omitempty"`
VSphereDatacenter *string `json:"vSphereDatacenter,omitempty"`
VSphereResourcePool *string `json:"vSphereResourcePool,omitempty"`
VSphereDatastore *string `json:"vSphereDatastore,omitempty"`
VSphereCoreDNSServer *string `json:"vSphereCoreDNSServer,omitempty"`
}
CloudConfiguration defines the cloud provider configuration
func (*CloudConfiguration) DeepCopy ¶
func (in *CloudConfiguration) DeepCopy() *CloudConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudConfiguration.
func (*CloudConfiguration) DeepCopyInto ¶
func (in *CloudConfiguration) DeepCopyInto(out *CloudConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudControllerManagerConfig ¶
type CloudControllerManagerConfig struct {
// Master is the url for the kube api master.
Master string `json:"master,omitempty" flag:"master"`
// LogLevel is the verbosity of the logs.
LogLevel int32 `json:"logLevel,omitempty" flag:"v" flag-empty:"0"`
// Image is the OCI image of the cloud controller manager.
Image string `json:"image,omitempty"`
// CloudProvider is the provider for cloud services.
CloudProvider string `json:"cloudProvider,omitempty" flag:"cloud-provider"`
// ClusterName is the instance prefix for the cluster.
ClusterName string `json:"clusterName,omitempty" flag:"cluster-name"`
// ClusterCIDR is CIDR Range for Pods in cluster.
ClusterCIDR string `json:"clusterCIDR,omitempty" flag:"cluster-cidr"`
// AllocateNodeCIDRs enables CIDRs for Pods to be allocated and, if
// ConfigureCloudRoutes is true, to be set on the cloud provider.
AllocateNodeCIDRs *bool `json:"allocateNodeCIDRs,omitempty" flag:"allocate-node-cidrs"`
// ConfigureCloudRoutes enables CIDRs allocated with to be configured on the cloud provider.
ConfigureCloudRoutes *bool `json:"configureCloudRoutes,omitempty" flag:"configure-cloud-routes"`
// CIDRAllocatorType specifies the type of CIDR allocator to use.
CIDRAllocatorType *string `json:"cidrAllocatorType,omitempty" flag:"cidr-allocator-type"`
// LeaderElection defines the configuration of leader election client.
LeaderElection *LeaderElectionConfiguration `json:"leaderElection,omitempty"`
// UseServiceAccountCredentials controls whether we use individual service account credentials for each controller.
UseServiceAccountCredentials *bool `json:"useServiceAccountCredentials,omitempty" flag:"use-service-account-credentials"`
}
CloudControllerManagerConfig is the configuration of the cloud controller
func (*CloudControllerManagerConfig) DeepCopy ¶
func (in *CloudControllerManagerConfig) DeepCopy() *CloudControllerManagerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudControllerManagerConfig.
func (*CloudControllerManagerConfig) DeepCopyInto ¶
func (in *CloudControllerManagerConfig) DeepCopyInto(out *CloudControllerManagerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudProviderID ¶
type CloudProviderID string
const CloudProviderALI CloudProviderID = "alicloud"
const CloudProviderAWS CloudProviderID = "aws"
const CloudProviderBareMetal CloudProviderID = "baremetal"
const CloudProviderDO CloudProviderID = "digitalocean"
const CloudProviderGCE CloudProviderID = "gce"
const CloudProviderOpenstack CloudProviderID = "openstack"
const CloudProviderVSphere CloudProviderID = "vsphere"
type Cluster ¶
type Cluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterSpec `json:"spec,omitempty"`
}
Cluster is a specific cluster wrapper
func (*Cluster) DeepCopy ¶
func (in *Cluster) DeepCopy() *Cluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
func (in *Cluster) DeepCopyInto(out *Cluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
func (in *Cluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Cluster) FillDefaults ¶
func (c *Cluster) FillDefaults() error
FillDefaults populates default values. This is different from PerformAssignments, because these values are changeable, and thus we don't need to store them (i.e. we don't need to 'lock them')
func (*Cluster) GetObjectKind ¶
func (obj *Cluster) GetObjectKind() schema.ObjectKind
type ClusterList ¶
type ClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Cluster `json:"items"`
}
ClusterList is a list of clusters
func (*ClusterList) DeepCopy ¶
func (in *ClusterList) DeepCopy() *ClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList.
func (*ClusterList) DeepCopyInto ¶
func (in *ClusterList) DeepCopyInto(out *ClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterList) DeepCopyObject ¶
func (in *ClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterSpec ¶
type ClusterSpec struct {
// The Channel we are following
Channel string `json:"channel,omitempty"`
// Additional addons that should be installed on the cluster
Addons []AddonSpec `json:"addons,omitempty"`
// ConfigBase is the path where we store configuration for the cluster
// This might be different than the location where the cluster spec itself is stored,
// both because this must be accessible to the cluster,
// and because it might be on a different cloud or storage system (etcd vs S3)
ConfigBase string `json:"configBase,omitempty"`
// The CloudProvider to use (aws or gce)
CloudProvider string `json:"cloudProvider,omitempty"`
// The version of kubernetes to install (optional, and can be a "spec" like stable)
KubernetesVersion string `json:"kubernetesVersion,omitempty"`
// Configuration of subnets we are targeting
Subnets []ClusterSubnetSpec `json:"subnets,omitempty"`
// Project is the cloud project we should use, required on GCE
Project string `json:"project,omitempty"`
// MasterPublicName is the external DNS name for the master nodes
MasterPublicName string `json:"masterPublicName,omitempty"`
// MasterInternalName is the internal DNS name for the master nodes
MasterInternalName string `json:"masterInternalName,omitempty"`
// NetworkCIDR is the CIDR used for the AWS VPC / GCE Network, or otherwise allocated to k8s
// This is a real CIDR, not the internal k8s network
// On AWS, it maps to the VPC CIDR. It is not required on GCE.
NetworkCIDR string `json:"networkCIDR,omitempty"`
// AdditionalNetworkCIDRs is a list of additional CIDR used for the AWS VPC
// or otherwise allocated to k8s. This is a real CIDR, not the internal k8s network
// On AWS, it maps to any additional CIDRs added to a VPC.
AdditionalNetworkCIDRs []string `json:"additionalNetworkCIDRs,omitempty"`
// NetworkID is an identifier of a network, if we want to reuse/share an existing network (e.g. an AWS VPC)
NetworkID string `json:"networkID,omitempty"`
// Topology defines the type of network topology to use on the cluster - default public
// This is heavily weighted towards AWS for the time being, but should also be agnostic enough
// to port out to GCE later if needed
Topology *TopologySpec `json:"topology,omitempty"`
// SecretStore is the VFS path to where secrets are stored
SecretStore string `json:"secretStore,omitempty"`
// KeyStore is the VFS path to where SSL keys and certificates are stored
KeyStore string `json:"keyStore,omitempty"`
// ConfigStore is the VFS path to where the configuration (Cluster, InstanceGroups etc) is stored
ConfigStore string `json:"configStore,omitempty"`
// DNSZone is the DNS zone we should use when configuring DNS
// This is because some clouds let us define a managed zone foo.bar, and then have
// kubernetes.dev.foo.bar, without needing to define dev.foo.bar as a hosted zone.
// DNSZone will probably be a suffix of the MasterPublicName and MasterInternalName
// Note that DNSZone can either by the host name of the zone (containing dots),
// or can be an identifier for the zone.
DNSZone string `json:"dnsZone,omitempty"`
// AdditionalSANs adds additional Subject Alternate Names to apiserver cert that kops generates
AdditionalSANs []string `json:"additionalSans,omitempty"`
// ClusterDNSDomain is the suffix we use for internal DNS names (normally cluster.local)
ClusterDNSDomain string `json:"clusterDNSDomain,omitempty"`
// ServiceClusterIPRange is the CIDR, from the internal network, where we allocate IPs for services
ServiceClusterIPRange string `json:"serviceClusterIPRange,omitempty"`
// NonMasqueradeCIDR is the CIDR for the internal k8s network (on which pods & services live)
// It cannot overlap ServiceClusterIPRange
NonMasqueradeCIDR string `json:"nonMasqueradeCIDR,omitempty"`
// SSHAccess is a list of the CIDRs that can access SSH.
SSHAccess []string `json:"sshAccess,omitempty"`
// NodePortAccess is a list of the CIDRs that can access the node ports range (30000-32767).
NodePortAccess []string `json:"nodePortAccess,omitempty"`
// HTTPProxy defines connection information to support use of a private cluster behind an forward HTTP Proxy
EgressProxy *EgressProxySpec `json:"egressProxy,omitempty"`
// SSHKeyName specifies a preexisting SSH key to use
SSHKeyName string `json:"sshKeyName,omitempty"`
// KubernetesAPIAccess is a list of the CIDRs that can access the Kubernetes API endpoint (master HTTPS)
KubernetesAPIAccess []string `json:"kubernetesApiAccess,omitempty"`
// IsolatesMasters determines whether we should lock down masters so that they are not on the pod network.
// true is the kube-up behaviour, but it is very surprising: it means that daemonsets only work on the master
// if they have hostNetwork=true.
// false is now the default, and it will:
// * give the master a normal PodCIDR
// * run kube-proxy on the master
// * enable debugging handlers on the master, so kubectl logs works
IsolateMasters *bool `json:"isolateMasters,omitempty"`
// UpdatePolicy determines the policy for applying upgrades automatically.
// Valid values:
// 'external' do not apply updates automatically - they are applied manually or by an external system
// missing: default policy (currently OS security upgrades that do not require a reboot)
UpdatePolicy *string `json:"updatePolicy,omitempty"`
// Additional policies to add for roles
AdditionalPolicies *map[string]string `json:"additionalPolicies,omitempty"`
// A collection of files assets for deployed cluster wide
FileAssets []FileAssetSpec `json:"fileAssets,omitempty"`
// EtcdClusters stores the configuration for each cluster
EtcdClusters []*EtcdClusterSpec `json:"etcdClusters,omitempty"`
// Component configurations
Docker *DockerConfig `json:"docker,omitempty"`
KubeDNS *KubeDNSConfig `json:"kubeDNS,omitempty"`
KubeAPIServer *KubeAPIServerConfig `json:"kubeAPIServer,omitempty"`
KubeControllerManager *KubeControllerManagerConfig `json:"kubeControllerManager,omitempty"`
ExternalCloudControllerManager *CloudControllerManagerConfig `json:"cloudControllerManager,omitempty"`
KubeScheduler *KubeSchedulerConfig `json:"kubeScheduler,omitempty"`
KubeProxy *KubeProxyConfig `json:"kubeProxy,omitempty"`
Kubelet *KubeletConfigSpec `json:"kubelet,omitempty"`
MasterKubelet *KubeletConfigSpec `json:"masterKubelet,omitempty"`
CloudConfig *CloudConfiguration `json:"cloudConfig,omitempty"`
ExternalDNS *ExternalDNSConfig `json:"externalDns,omitempty"`
// Networking configuration
Networking *NetworkingSpec `json:"networking,omitempty"`
// API field controls how the API is exposed outside the cluster
API *AccessSpec `json:"api,omitempty"`
// Authentication field controls how the cluster is configured for authentication
Authentication *AuthenticationSpec `json:"authentication,omitempty"`
// Authorization field controls how the cluster is configured for authorization
Authorization *AuthorizationSpec `json:"authorization,omitempty"`
// NodeAuthorization defined the custom node authorization configuration
NodeAuthorization *NodeAuthorizationSpec `json:"nodeAuthorization,omitempty"`
// Tags for AWS instance groups
CloudLabels map[string]string `json:"cloudLabels,omitempty"`
// Hooks for custom actions e.g. on first installation
Hooks []HookSpec `json:"hooks,omitempty"`
// Assets is alternative locations for files and containers; the API under construction, will remove this comment once this API is fully functional.
Assets *Assets `json:"assets,omitempty"`
// IAM field adds control over the IAM security policies applied to resources
IAM *IAMSpec `json:"iam,omitempty"`
// EncryptionConfig controls if encryption is enabled
EncryptionConfig *bool `json:"encryptionConfig,omitempty"`
// Target allows for us to nest extra config for targets such as terraform
Target *TargetSpec `json:"target,omitempty"`
}
ClusterSpec defines the configuration for a cluster
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStatus ¶
type ClusterStatus struct {
// EtcdClusters stores the status for each cluster
EtcdClusters []EtcdClusterStatus `json:"etcdClusters,omitempty"`
}
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSubnetSpec ¶
type ClusterSubnetSpec struct {
// Name is the name of the subnet
Name string `json:"name,omitempty"`
// CIDR is the network cidr of the subnet
CIDR string `json:"cidr,omitempty"`
// Zone is the zone the subnet is in, set for subnets that are zonally scoped
Zone string `json:"zone,omitempty"`
// Region is the region the subnet is in, set for subnets that are regionally scoped
Region string `json:"region,omitempty"`
// ProviderID is the cloud provider id for the objects associated with the zone (the subnet on AWS)
ProviderID string `json:"id,omitempty"`
// Egress defines the method of traffic egress for this subnet
Egress string `json:"egress,omitempty"`
// Type define which one if the internal types (public, utility, private) the network is
Type SubnetType `json:"type,omitempty"`
// PublicIP to attach to NatGateway
PublicIP string `json:"publicIP,omitempty"`
}
ClusterSubnetSpec defines a subnet
func (*ClusterSubnetSpec) DeepCopy ¶
func (in *ClusterSubnetSpec) DeepCopy() *ClusterSubnetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSubnetSpec.
func (*ClusterSubnetSpec) DeepCopyInto ¶
func (in *ClusterSubnetSpec) DeepCopyInto(out *ClusterSubnetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSAccessSpec ¶
type DNSAccessSpec struct {
}
func (*DNSAccessSpec) DeepCopy ¶
func (in *DNSAccessSpec) DeepCopy() *DNSAccessSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSAccessSpec.
func (*DNSAccessSpec) DeepCopyInto ¶
func (in *DNSAccessSpec) DeepCopyInto(out *DNSAccessSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSSpec ¶
type DNSSpec struct {
Type DNSType `json:"type,omitempty"`
}
func (*DNSSpec) DeepCopy ¶
func (in *DNSSpec) DeepCopy() *DNSSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSSpec.
func (*DNSSpec) DeepCopyInto ¶
func (in *DNSSpec) DeepCopyInto(out *DNSSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSType ¶
type DNSType string
const (
DNSTypePublic DNSType = "Public"
DNSTypePrivate DNSType = "Private"
)
type DockerConfig ¶
type DockerConfig struct {
// AuthorizationPlugins is a list of authorization plugins
AuthorizationPlugins []string `json:"authorizationPlugins,omitempty" flag:"authorization-plugin,repeat"`
// Bridge is the network interface containers should bind onto
Bridge *string `json:"bridge,omitempty" flag:"bridge"`
// BridgeIP is a specific IP address and netmask for the docker0 bridge, using standard CIDR notation
BridgeIP *string `json:"bridgeIP,omitempty" flag:"bip"`
// DataRoot is the root directory of persistent docker state (default "/var/lib/docker")
DataRoot *string `json:"dataRoot,omitempty" flag:"data-root"`
// DefaultUlimit is the ulimits for containers
DefaultUlimit []string `json:"defaultUlimit,omitempty" flag:"default-ulimit,repeat"`
// ExecRoot is the root directory for execution state files (default "/var/run/docker")
ExecRoot *string `json:"execRoot,omitempty" flag:"exec-root"`
// Hosts enables you to configure the endpoints the docker daemon listens on i.e tcp://0.0.0.0.2375 or unix:///var/run/docker.sock etc
Hosts []string `json:"hosts,omitempty" flag:"host,repeat"`
// IPMasq enables ip masquerading for containers
IPMasq *bool `json:"ipMasq,omitempty" flag:"ip-masq"`
// IPtables enables addition of iptables rules
IPTables *bool `json:"ipTables,omitempty" flag:"iptables"`
// InsecureRegistry enable insecure registry communication @question according to dockers this a list??
InsecureRegistry *string `json:"insecureRegistry,omitempty" flag:"insecure-registry"`
// LiveRestore enables live restore of docker when containers are still running
LiveRestore *bool `json:"liveRestore,omitempty" flag:"live-restore"`
// LogDriver is the default driver for container logs (default "json-file")
LogDriver *string `json:"logDriver,omitempty" flag:"log-driver"`
// LogLevel is the logging level ("debug", "info", "warn", "error", "fatal") (default "info")
LogLevel *string `json:"logLevel,omitempty" flag:"log-level"`
// Logopt is a series of options given to the log driver options for containers
LogOpt []string `json:"logOpt,omitempty" flag:"log-opt,repeat"`
// MTU is the containers network MTU
MTU *int32 `json:"mtu,omitempty" flag:"mtu"`
// RegistryMirrors is a referred list of docker registry mirror
RegistryMirrors []string `json:"registryMirrors,omitempty" flag:"registry-mirror,repeat"`
// Storage is the docker storage driver to use
Storage *string `json:"storage,omitempty" flag:"storage-driver"`
// StorageOpts is a series of options passed to the storage driver
StorageOpts []string `json:"storageOpts,omitempty" flag:"storage-opt,repeat"`
// UserNamespaceRemap sets the user namespace remapping option for the docker daemon
UserNamespaceRemap string `json:"userNamespaceRemap,omitempty" flag:"userns-remap"`
// Version is consumed by the nodeup and used to pick the docker version
Version *string `json:"version,omitempty"`
}
DockerConfig is the configuration for docker
func (*DockerConfig) DeepCopy ¶
func (in *DockerConfig) DeepCopy() *DockerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerConfig.
func (*DockerConfig) DeepCopyInto ¶
func (in *DockerConfig) DeepCopyInto(out *DockerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EgressProxySpec ¶
type EgressProxySpec struct {
HTTPProxy HTTPProxy `json:"httpProxy,omitempty"`
ProxyExcludes string `json:"excludes,omitempty"`
}
func (*EgressProxySpec) DeepCopy ¶
func (in *EgressProxySpec) DeepCopy() *EgressProxySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressProxySpec.
func (*EgressProxySpec) DeepCopyInto ¶
func (in *EgressProxySpec) DeepCopyInto(out *EgressProxySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdBackupSpec ¶
type EtcdBackupSpec struct {
// BackupStore is the VFS path where we will read/write backup data
BackupStore string `json:"backupStore,omitempty"`
// Image is the etcd backup manager image to use. Setting this will create a sidecar container in the etcd pod with the specified image.
Image string `json:"image,omitempty"`
}
EtcdBackupSpec describes how we want to do backups of etcd
func (*EtcdBackupSpec) DeepCopy ¶
func (in *EtcdBackupSpec) DeepCopy() *EtcdBackupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdBackupSpec.
func (*EtcdBackupSpec) DeepCopyInto ¶
func (in *EtcdBackupSpec) DeepCopyInto(out *EtcdBackupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdClusterSpec ¶
type EtcdClusterSpec struct {
// Name is the name of the etcd cluster (main, events etc)
Name string `json:"name,omitempty"`
// Members stores the configurations for each member of the cluster (including the data volume)
Members []*EtcdMemberSpec `json:"etcdMembers,omitempty"`
// EnableEtcdTLS indicates the etcd service should use TLS between peers and clients
EnableEtcdTLS bool `json:"enableEtcdTLS,omitempty"`
// EnableTLSAuth indicates client and peer TLS auth should be enforced
EnableTLSAuth bool `json:"enableTLSAuth,omitempty"`
// Version is the version of etcd to run i.e. 2.1.2, 3.0.17 etcd
Version string `json:"version,omitempty"`
// LeaderElectionTimeout is the time (in milliseconds) for an etcd leader election timeout
LeaderElectionTimeout *metav1.Duration `json:"leaderElectionTimeout,omitempty"`
// HeartbeatInterval is the time (in milliseconds) for an etcd heartbeat interval
HeartbeatInterval *metav1.Duration `json:"heartbeatInterval,omitempty"`
// Image is the etcd docker image to use. Setting this will ignore the Version specified.
Image string `json:"image,omitempty"`
// Backups describes how we do backups of etcd
Backups *EtcdBackupSpec `json:"backups,omitempty"`
// Manager describes the manager configuration
Manager *EtcdManagerSpec `json:"manager,omitempty"`
}
EtcdClusterSpec is the etcd cluster specification
func (*EtcdClusterSpec) DeepCopy ¶
func (in *EtcdClusterSpec) DeepCopy() *EtcdClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdClusterSpec.
func (*EtcdClusterSpec) DeepCopyInto ¶
func (in *EtcdClusterSpec) DeepCopyInto(out *EtcdClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdClusterStatus ¶
type EtcdClusterStatus struct {
// Name is the name of the etcd cluster (main, events etc)
Name string `json:"name,omitempty"`
// EtcdMember stores the configurations for each member of the cluster (including the data volume)
Members []*EtcdMemberStatus `json:"etcdMembers,omitempty"`
}
EtcdClusterStatus represents the status of etcd: because etcd only allows limited reconfiguration, we have to block changes once etcd has been initialized.
func (*EtcdClusterStatus) DeepCopy ¶
func (in *EtcdClusterStatus) DeepCopy() *EtcdClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdClusterStatus.
func (*EtcdClusterStatus) DeepCopyInto ¶
func (in *EtcdClusterStatus) DeepCopyInto(out *EtcdClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdManagerSpec ¶
type EtcdManagerSpec struct {
// Image is the etcd manager image to use.
Image string `json:"image,omitempty"`
}
EtcdManagerSpec describes how we configure the etcd manager
func (*EtcdManagerSpec) DeepCopy ¶
func (in *EtcdManagerSpec) DeepCopy() *EtcdManagerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdManagerSpec.
func (*EtcdManagerSpec) DeepCopyInto ¶
func (in *EtcdManagerSpec) DeepCopyInto(out *EtcdManagerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdMemberSpec ¶
type EtcdMemberSpec struct {
// Name is the name of the member within the etcd cluster
Name string `json:"name,omitempty"`
// InstanceGroup is the instanceGroup this volume is associated
InstanceGroup *string `json:"instanceGroup,omitempty"`
// VolumeType is the underlining cloud storage class
VolumeType *string `json:"volumeType,omitempty"`
// If volume type is io1, then we need to specify the number of Iops.
VolumeIops *int32 `json:"volumeIops,omitempty"`
// VolumeSize is the underlining cloud volume size
VolumeSize *int32 `json:"volumeSize,omitempty"`
// KmsKeyId is a AWS KMS ID used to encrypt the volume
KmsKeyId *string `json:"kmsKeyId,omitempty"`
// EncryptedVolume indicates you want to encrypt the volume
EncryptedVolume *bool `json:"encryptedVolume,omitempty"`
}
EtcdMemberSpec is a specification for a etcd member
func (*EtcdMemberSpec) DeepCopy ¶
func (in *EtcdMemberSpec) DeepCopy() *EtcdMemberSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdMemberSpec.
func (*EtcdMemberSpec) DeepCopyInto ¶
func (in *EtcdMemberSpec) DeepCopyInto(out *EtcdMemberSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdMemberStatus ¶
type EtcdMemberStatus struct {
// Name is the name of the member within the etcd cluster
Name string `json:"name,omitempty"`
// volumeId is the id of the cloud volume (e.g. the AWS volume id)
VolumeId string `json:"volumeId,omitempty"`
}
func (*EtcdMemberStatus) DeepCopy ¶
func (in *EtcdMemberStatus) DeepCopy() *EtcdMemberStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdMemberStatus.
func (*EtcdMemberStatus) DeepCopyInto ¶
func (in *EtcdMemberStatus) DeepCopyInto(out *EtcdMemberStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExecContainerAction ¶
type ExecContainerAction struct {
// Image is the docker image
Image string `json:"image,omitempty"`
// Command is the command supplied to the above image
Command []string `json:"command,omitempty"`
// Environment is a map of environment variables added to the hook
Environment map[string]string `json:"environment,omitempty"`
}
ExecContainerAction defines an hood action
func (*ExecContainerAction) DeepCopy ¶
func (in *ExecContainerAction) DeepCopy() *ExecContainerAction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecContainerAction.
func (*ExecContainerAction) DeepCopyInto ¶
func (in *ExecContainerAction) DeepCopyInto(out *ExecContainerAction)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalDNSConfig ¶
type ExternalDNSConfig struct {
// Disable indicates we do not wish to run the dns-controller addon
Disable bool `json:"disable,omitempty"`
// WatchIngress indicates you want the dns-controller to watch and create dns entries for ingress resources
WatchIngress *bool `json:"watchIngress,omitempty"`
// WatchNamespace is namespace to watch, defaults to all (use to control whom can creates dns entries)
WatchNamespace string `json:"watchNamespace,omitempty"`
}
ExternalDNSConfig are options of the dns-controller
func (*ExternalDNSConfig) DeepCopy ¶
func (in *ExternalDNSConfig) DeepCopy() *ExternalDNSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalDNSConfig.
func (*ExternalDNSConfig) DeepCopyInto ¶
func (in *ExternalDNSConfig) DeepCopyInto(out *ExternalDNSConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalNetworkingSpec ¶
type ExternalNetworkingSpec struct {
}
ExternalNetworkingSpec is the specification for networking that is implemented by a Daemonset It also uses kubenet
func (*ExternalNetworkingSpec) DeepCopy ¶
func (in *ExternalNetworkingSpec) DeepCopy() *ExternalNetworkingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalNetworkingSpec.
func (*ExternalNetworkingSpec) DeepCopyInto ¶
func (in *ExternalNetworkingSpec) DeepCopyInto(out *ExternalNetworkingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FileAssetSpec ¶
type FileAssetSpec struct {
// Name is a shortened reference to the asset
Name string `json:"name,omitempty"`
// Path is the location this file should reside
Path string `json:"path,omitempty"`
// Roles is a list of roles the file asset should be applied, defaults to all
Roles []InstanceGroupRole `json:"roles,omitempty"`
// Content is the contents of the file
Content string `json:"content,omitempty"`
// IsBase64 indicates the contents is base64 encoded
IsBase64 bool `json:"isBase64,omitempty"`
}
FileAssetSpec defines the structure for a file asset
func (*FileAssetSpec) DeepCopy ¶
func (in *FileAssetSpec) DeepCopy() *FileAssetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileAssetSpec.
func (*FileAssetSpec) DeepCopyInto ¶
func (in *FileAssetSpec) DeepCopyInto(out *FileAssetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlannelNetworkingSpec ¶
type FlannelNetworkingSpec struct {
// Backend is the backend overlay type we want to use (vxlan or udp)
Backend string `json:"backend,omitempty"`
}
FlannelNetworkingSpec declares that we want Flannel networking
func (*FlannelNetworkingSpec) DeepCopy ¶
func (in *FlannelNetworkingSpec) DeepCopy() *FlannelNetworkingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlannelNetworkingSpec.
func (*FlannelNetworkingSpec) DeepCopyInto ¶
func (in *FlannelNetworkingSpec) DeepCopyInto(out *FlannelNetworkingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPProxy ¶
type HTTPProxy struct {
Host string `json:"host,omitempty"`
Port int `json:"port,omitempty"`
}
func (*HTTPProxy) DeepCopy ¶
func (in *HTTPProxy) DeepCopy() *HTTPProxy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPProxy.
func (*HTTPProxy) DeepCopyInto ¶
func (in *HTTPProxy) DeepCopyInto(out *HTTPProxy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HookSpec ¶
type HookSpec struct {
// Name is an optional name for the hook, otherwise the name is kops-hook-<index>
Name string `json:"name,omitempty"`
// Disabled indicates if you want the unit switched off
Disabled bool `json:"disabled,omitempty"`
// Roles is an optional list of roles the hook should be rolled out to, defaults to all
Roles []InstanceGroupRole `json:"roles,omitempty"`
// Requires is a series of systemd units the action requires
Requires []string `json:"requires,omitempty"`
// Before is a series of systemd units which this hook must run before
Before []string `json:"before,omitempty"`
// ExecContainer is the image itself
ExecContainer *ExecContainerAction `json:"execContainer,omitempty"`
// Manifest is a raw systemd unit file
Manifest string `json:"manifest,omitempty"`
}
HookSpec is a definition hook
func (*HookSpec) DeepCopy ¶
func (in *HookSpec) DeepCopy() *HookSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HookSpec.
func (*HookSpec) DeepCopyInto ¶
func (in *HookSpec) DeepCopyInto(out *HookSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IAMProfileSpec ¶
type IAMProfileSpec struct {
// Profile is the AWS IAM Profile to attach to instances in this instance group.
// Specify the ARN for the IAM instance profile. (AWS only)
Profile *string `json:"profile,omitempty"`
}
IAMProfileSpec is the AWS IAM Profile to attach to instances in this instance group. Specify the ARN for the IAM instance profile (AWS only).
func (*IAMProfileSpec) DeepCopy ¶
func (in *IAMProfileSpec) DeepCopy() *IAMProfileSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IAMProfileSpec.
func (*IAMProfileSpec) DeepCopyInto ¶
func (in *IAMProfileSpec) DeepCopyInto(out *IAMProfileSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IAMSpec ¶
type IAMSpec struct {
Legacy bool `json:"legacy"`
AllowContainerRegistry bool `json:"allowContainerRegistry,omitempty"`
}
IAMSpec adds control over the IAM security policies applied to resources
func (*IAMSpec) DeepCopy ¶
func (in *IAMSpec) DeepCopy() *IAMSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IAMSpec.
func (*IAMSpec) DeepCopyInto ¶
func (in *IAMSpec) DeepCopyInto(out *IAMSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceGroup ¶
type InstanceGroup struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec InstanceGroupSpec `json:"spec,omitempty"`
}
InstanceGroup represents a group of instances (either nodes or masters) with the same configuration
func (*InstanceGroup) AddInstanceGroupNodeLabel ¶
func (g *InstanceGroup) AddInstanceGroupNodeLabel()
func (*InstanceGroup) DeepCopy ¶
func (in *InstanceGroup) DeepCopy() *InstanceGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroup.
func (*InstanceGroup) DeepCopyInto ¶
func (in *InstanceGroup) DeepCopyInto(out *InstanceGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InstanceGroup) DeepCopyObject ¶
func (in *InstanceGroup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*InstanceGroup) GetObjectKind ¶
func (obj *InstanceGroup) GetObjectKind() schema.ObjectKind
type InstanceGroupList ¶
type InstanceGroupList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []InstanceGroup `json:"items"`
}
func (*InstanceGroupList) DeepCopy ¶
func (in *InstanceGroupList) DeepCopy() *InstanceGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupList.
func (*InstanceGroupList) DeepCopyInto ¶
func (in *InstanceGroupList) DeepCopyInto(out *InstanceGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InstanceGroupList) DeepCopyObject ¶
func (in *InstanceGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InstanceGroupRole ¶
type InstanceGroupRole string
InstanceGroupRole describes the roles of the nodes in this InstanceGroup (master or nodes)
const (
InstanceGroupRoleMaster InstanceGroupRole = "Master"
InstanceGroupRoleNode InstanceGroupRole = "Node"
InstanceGroupRoleBastion InstanceGroupRole = "Bastion"
)
func ParseInstanceGroupRole ¶
func ParseInstanceGroupRole(input string, lenient bool) (InstanceGroupRole, bool)
ParseInstanceGroupRole converts a string to an InstanceGroupRole
type InstanceGroupSpec ¶
type InstanceGroupSpec struct {
// Type determines the role of instances in this group: masters or nodes
Role InstanceGroupRole `json:"role,omitempty"`
// Image is the instance instance (ami etc) we should use
Image string `json:"image,omitempty"`
// MinSize is the minimum size of the pool
MinSize *int32 `json:"minSize,omitempty"`
// MaxSize is the maximum size of the pool
MaxSize *int32 `json:"maxSize,omitempty"`
// MachineType is the instance class
MachineType string `json:"machineType,omitempty"`
// RootVolumeSize is the size of the EBS root volume to use, in GB
RootVolumeSize *int32 `json:"rootVolumeSize,omitempty"`
// RootVolumeType is the type of the EBS root volume to use (e.g. gp2)
RootVolumeType *string `json:"rootVolumeType,omitempty"`
// If volume type is io1, then we need to specify the number of Iops.
RootVolumeIops *int32 `json:"rootVolumeIops,omitempty"`
// RootVolumeOptimization enables EBS optimization for an instance
RootVolumeOptimization *bool `json:"rootVolumeOptimization,omitempty"`
// Subnets is the names of the Subnets (as specified in the Cluster) where machines in this instance group should be placed
Subnets []string `json:"subnets,omitempty"`
// Zones is the names of the Zones where machines in this instance group should be placed
// This is needed for regional subnets (e.g. GCE), to restrict placement to particular zones
Zones []string `json:"zones,omitempty"`
// Hooks is a list of hooks for this instanceGroup, note: these can override the cluster wide ones if required
Hooks []HookSpec `json:"hooks,omitempty"`
// MaxPrice indicates this is a spot-pricing group, with the specified value as our max-price bid
MaxPrice *string `json:"maxPrice,omitempty"`
// AssociatePublicIP is true if we want instances to have a public IP
AssociatePublicIP *bool `json:"associatePublicIp,omitempty"`
// AdditionalSecurityGroups attaches additional security groups (e.g. i-123456)
AdditionalSecurityGroups []string `json:"additionalSecurityGroups,omitempty"`
// CloudLabels indicates the labels for instances in this group, at the AWS level
CloudLabels map[string]string `json:"cloudLabels,omitempty"`
// NodeLabels indicates the kubernetes labels for nodes in this group
NodeLabels map[string]string `json:"nodeLabels,omitempty"`
// FileAssets is a collection of file assets for this instance group
FileAssets []FileAssetSpec `json:"fileAssets,omitempty"`
// Describes the tenancy of the instance group. Can be either default or dedicated.
// Currently only applies to AWS.
Tenancy string `json:"tenancy,omitempty"`
// Kubelet overrides kubelet config from the ClusterSpec
Kubelet *KubeletConfigSpec `json:"kubelet,omitempty"`
// Taints indicates the kubernetes taints for nodes in this group
Taints []string `json:"taints,omitempty"`
// AdditionalUserData is any additional user-data to be passed to the host
AdditionalUserData []UserData `json:"additionalUserData,omitempty"`
// SuspendProcesses disables the listed Scaling Policies
SuspendProcesses []string `json:"suspendProcesses,omitempty"`
// ExternalLoadBalancers define loadbalancers that should be attached to the instancegroup
ExternalLoadBalancers []LoadBalancer `json:"externalLoadBalancers,omitempty"`
// DetailedInstanceMonitoring defines if detailed-monitoring is enabled (AWS only)
DetailedInstanceMonitoring *bool `json:"detailedInstanceMonitoring,omitempty"`
// IAMProfileSpec defines the identity of the cloud group iam profile (AWS only).
IAM *IAMProfileSpec `json:"iam,omitempty"`
}
InstanceGroupSpec is the specification for a instanceGroup
func (*InstanceGroupSpec) DeepCopy ¶
func (in *InstanceGroupSpec) DeepCopy() *InstanceGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupSpec.
func (*InstanceGroupSpec) DeepCopyInto ¶
func (in *InstanceGroupSpec) DeepCopyInto(out *InstanceGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Keyset ¶
type Keyset struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KeysetSpec `json:"spec,omitempty"`
}
Keyset is a set of system keypairs, or other secret material. It is a set to support credential rotation etc.
func (*Keyset) DeepCopy ¶
func (in *Keyset) DeepCopy() *Keyset
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Keyset.
func (*Keyset) DeepCopyInto ¶
func (in *Keyset) DeepCopyInto(out *Keyset)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Keyset) DeepCopyObject ¶
func (in *Keyset) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Keyset) GetObjectKind ¶
func (obj *Keyset) GetObjectKind() schema.ObjectKind
type KeysetItem ¶
type KeysetItem struct {
// Id is the unique identifier for this key in the keyset
Id string `json:"id,omitempty"`
// PublicMaterial holds non-secret material (e.g. a certificate)
PublicMaterial []byte `json:"publicMaterial,omitempty"`
// PrivateMaterial holds secret material (e.g. a private key, or symmetric token)
PrivateMaterial []byte `json:"privateMaterial,omitempty"`
}
KeysetItem is an item (keypair or other secret material) in a Keyset
func (*KeysetItem) DeepCopy ¶
func (in *KeysetItem) DeepCopy() *KeysetItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeysetItem.
func (*KeysetItem) DeepCopyInto ¶
func (in *KeysetItem) DeepCopyInto(out *KeysetItem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeysetList ¶
type KeysetList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Keyset `json:"items"`
}
KeysetList is a list of Keysets
func (*KeysetList) DeepCopy ¶
func (in *KeysetList) DeepCopy() *KeysetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeysetList.
func (*KeysetList) DeepCopyInto ¶
func (in *KeysetList) DeepCopyInto(out *KeysetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeysetList) DeepCopyObject ¶
func (in *KeysetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KeysetSpec ¶
type KeysetSpec struct {
// Type is the type of the Keyset (PKI keypair, or secret token)
Type KeysetType `json:"type,omitempty"`
// Keys is the set of keys that make up the keyset
Keys []KeysetItem `json:"keys,omitempty"`
}
KeysetSpec is the spec for a Keyset
func (*KeysetSpec) DeepCopy ¶
func (in *KeysetSpec) DeepCopy() *KeysetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeysetSpec.
func (*KeysetSpec) DeepCopyInto ¶
func (in *KeysetSpec) DeepCopyInto(out *KeysetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeysetType ¶
type KeysetType string
KeysetType describes the type of keys in a KeySet
const (
SecretTypeKeypair KeysetType = "Keypair"
SecretTypeSecret KeysetType = "Secret"
)
type KopeioAuthenticationSpec ¶
type KopeioAuthenticationSpec struct {
}
func (*KopeioAuthenticationSpec) DeepCopy ¶
func (in *KopeioAuthenticationSpec) DeepCopy() *KopeioAuthenticationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KopeioAuthenticationSpec.
func (*KopeioAuthenticationSpec) DeepCopyInto ¶
func (in *KopeioAuthenticationSpec) DeepCopyInto(out *KopeioAuthenticationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KopeioNetworkingSpec ¶
type KopeioNetworkingSpec struct {
}
KopeioNetworkingSpec declares that we want Kopeio networking
func (*KopeioNetworkingSpec) DeepCopy ¶
func (in *KopeioNetworkingSpec) DeepCopy() *KopeioNetworkingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KopeioNetworkingSpec.
func (*KopeioNetworkingSpec) DeepCopyInto ¶
func (in *KopeioNetworkingSpec) DeepCopyInto(out *KopeioNetworkingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KopsVersionSpec ¶
type KopsVersionSpec struct {
Range string `json:"range,omitempty"`
// RecommendedVersion is the recommended version of kops to use for this Range of kops versions
RecommendedVersion string `json:"recommendedVersion,omitempty"`
// RequiredVersion is the required version of kops to use for this Range of kops versions, forcing an upgrade
RequiredVersion string `json:"requiredVersion,omitempty"`
// KubernetesVersion is the default version of kubernetes to use with this kops version e.g. for new clusters
KubernetesVersion string `json:"kubernetesVersion,omitempty"`
}
func FindKopsVersionSpec ¶
func FindKopsVersionSpec(versions []KopsVersionSpec, version semver.Version) *KopsVersionSpec
FindKopsVersionSpec returns a KopsVersionSpec for the current version
func (*KopsVersionSpec) DeepCopy ¶
func (in *KopsVersionSpec) DeepCopy() *KopsVersionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KopsVersionSpec.
func (*KopsVersionSpec) DeepCopyInto ¶
func (in *KopsVersionSpec) DeepCopyInto(out *KopsVersionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KopsVersionSpec) FindRecommendedUpgrade ¶
func (v *KopsVersionSpec) FindRecommendedUpgrade(version semver.Version) (*semver.Version, error)
FindRecommendedUpgrade returns a string with a new version, if the current version is out of date
func (*KopsVersionSpec) IsUpgradeRequired ¶
func (v *KopsVersionSpec) IsUpgradeRequired(version semver.Version) (bool, error)
IsUpgradeRequired returns true if the current version is not acceptable
type KubeAPIServerConfig ¶
type KubeAPIServerConfig struct {
// Image is the docker container used
Image string `json:"image,omitempty"`
// LogLevel is the logging level of the api
LogLevel int32 `json:"logLevel,omitempty" flag:"v" flag-empty:"0"`
// CloudProvider is the name of the cloudProvider we are using, aws, gce etcd
CloudProvider string `json:"cloudProvider,omitempty" flag:"cloud-provider"`
// SecurePort is the port the kube runs on
SecurePort int32 `json:"securePort,omitempty" flag:"secure-port"`
// InsecurePort is the port the insecure api runs
InsecurePort int32 `json:"insecurePort,omitempty" flag:"insecure-port"`
// Address is the binding address for the kube api: Deprecated - use insecure-bind-address and bind-address
Address string `json:"address,omitempty" flag:"address"`
// BindAddress is the binding address for the secure kubernetes API
BindAddress string `json:"bindAddress,omitempty" flag:"bind-address"`
// InsecureBindAddress is the binding address for the InsecurePort for the insecure kubernetes API
InsecureBindAddress string `json:"insecureBindAddress,omitempty" flag:"insecure-bind-address"`
// EnableBootstrapAuthToken enables 'bootstrap.kubernetes.io/token' in the 'kube-system' namespace to be used for TLS bootstrapping authentication
EnableBootstrapAuthToken *bool `json:"enableBootstrapTokenAuth,omitempty" flag:"enable-bootstrap-token-auth"`
// EnableAggregatorRouting enables aggregator routing requests to endpoints IP rather than cluster IP
EnableAggregatorRouting *bool `json:"enableAggregatorRouting,omitempty" flag:"enable-aggregator-routing"`
// Deprecated: AdmissionControl is a list of admission controllers to use
AdmissionControl []string `json:"admissionControl,omitempty" flag:"admission-control"`
// EnableAdmissionPlugins is a list of enabled admission plugins
EnableAdmissionPlugins []string `json:"enableAdmissionPlugins,omitempty" flag:"enable-admission-plugins"`
// DisableAdmissionPlugins is a list of disabled admission plugins
DisableAdmissionPlugins []string `json:"disableAdmissionPlugins,omitempty" flag:"disable-admission-plugins"`
// ServiceClusterIPRange is the service address range
ServiceClusterIPRange string `json:"serviceClusterIPRange,omitempty" flag:"service-cluster-ip-range"`
// Passed as --service-node-port-range to kube-apiserver. Expects 'startPort-endPort' format. Eg. 30000-33000
ServiceNodePortRange string `json:"serviceNodePortRange,omitempty" flag:"service-node-port-range"`
// EtcdServers is a list of the etcd service to connect
EtcdServers []string `json:"etcdServers,omitempty" flag:"etcd-servers"`
// EtcdServersOverrides is per-resource etcd servers overrides, comma separated. The individual override format: group/resource#servers, where servers are http://ip:port, semicolon separated
EtcdServersOverrides []string `json:"etcdServersOverrides,omitempty" flag:"etcd-servers-overrides"`
// EtcdCAFile is the path to a ca certificate
EtcdCAFile string `json:"etcdCaFile,omitempty" flag:"etcd-cafile"`
// EtcdCertFile is the path to a certificate
EtcdCertFile string `json:"etcdCertFile,omitempty" flag:"etcd-certfile"`
// EtcdKeyFile is the path to a private key
EtcdKeyFile string `json:"etcdKeyFile,omitempty" flag:"etcd-keyfile"`
// TODO: Remove unused BasicAuthFile
BasicAuthFile string `json:"basicAuthFile,omitempty" flag:"basic-auth-file"`
// TODO: Remove unused ClientCAFile
ClientCAFile string `json:"clientCAFile,omitempty" flag:"client-ca-file"`
// TODO: Remove unused TLSCertFile
TLSCertFile string `json:"tlsCertFile,omitempty" flag:"tls-cert-file"`
// TODO: Remove unused TLSPrivateKeyFile
TLSPrivateKeyFile string `json:"tlsPrivateKeyFile,omitempty" flag:"tls-private-key-file"`
// TODO: Remove unused TokenAuthFile
TokenAuthFile string `json:"tokenAuthFile,omitempty" flag:"token-auth-file"`
// AllowPrivileged indicates if we can run privileged containers
AllowPrivileged *bool `json:"allowPrivileged,omitempty" flag:"allow-privileged"`
// APIServerCount is the number of api servers
APIServerCount *int32 `json:"apiServerCount,omitempty" flag:"apiserver-count"`
// RuntimeConfig is a series of keys/values are parsed into the `--runtime-config` parameters
RuntimeConfig map[string]string `json:"runtimeConfig,omitempty" flag:"runtime-config"`
// KubeletClientCertificate is the path of a certificate for secure communication between api and kubelet
KubeletClientCertificate string `json:"kubeletClientCertificate,omitempty" flag:"kubelet-client-certificate"`
// KubeletClientKey is the path of a private to secure communication between api and kubelet
KubeletClientKey string `json:"kubeletClientKey,omitempty" flag:"kubelet-client-key"`
// AnonymousAuth indicates if anonymous authentication is permitted
AnonymousAuth *bool `json:"anonymousAuth,omitempty" flag:"anonymous-auth"`
// KubeletPreferredAddressTypes is a list of the preferred NodeAddressTypes to use for kubelet connections
KubeletPreferredAddressTypes []string `json:"kubeletPreferredAddressTypes,omitempty" flag:"kubelet-preferred-address-types"`
// StorageBackend is the backend storage
StorageBackend *string `json:"storageBackend,omitempty" flag:"storage-backend"`
// OIDCUsernameClaim is the OpenID claim to use as the user name.
// Note that claims other than the default ('sub') is not guaranteed to be
// unique and immutable.
OIDCUsernameClaim *string `json:"oidcUsernameClaim,omitempty" flag:"oidc-username-claim"`
// OIDCUsernamePrefix is the prefix prepended to username claims to prevent
// clashes with existing names (such as 'system:' users).
OIDCUsernamePrefix *string `json:"oidcUsernamePrefix,omitempty" flag:"oidc-username-prefix"`
// OIDCGroupsClaim if provided, the name of a custom OpenID Connect claim for
// specifying user groups.
// The claim value is expected to be a string or array of strings.
OIDCGroupsClaim *string `json:"oidcGroupsClaim,omitempty" flag:"oidc-groups-claim"`
// OIDCGroupsPrefix is the prefix prepended to group claims to prevent
// clashes with existing names (such as 'system:' groups)
OIDCGroupsPrefix *string `json:"oidcGroupsPrefix,omitempty" flag:"oidc-groups-prefix"`
// OIDCIssuerURL is the URL of the OpenID issuer, only HTTPS scheme will
// be accepted.
// If set, it will be used to verify the OIDC JSON Web Token (JWT).
OIDCIssuerURL *string `json:"oidcIssuerURL,omitempty" flag:"oidc-issuer-url"`
// OIDCClientID is the client ID for the OpenID Connect client, must be set
// if oidc-issuer-url is set.
OIDCClientID *string `json:"oidcClientID,omitempty" flag:"oidc-client-id"`
// OIDCCAFile if set, the OpenID server's certificate will be verified by one
// of the authorities in the oidc-ca-file
OIDCCAFile *string `json:"oidcCAFile,omitempty" flag:"oidc-ca-file"`
// The apiserver's client certificate used for outbound requests.
ProxyClientCertFile *string `json:"proxyClientCertFile,omitempty" flag:"proxy-client-cert-file"`
// The apiserver's client key used for outbound requests.
ProxyClientKeyFile *string `json:"proxyClientKeyFile,omitempty" flag:"proxy-client-key-file"`
// AuditLogFormat flag specifies the format type for audit log files.
AuditLogFormat *string `json:"auditLogFormat,omitempty" flag:"audit-log-format"`
// If set, all requests coming to the apiserver will be logged to this file.
AuditLogPath *string `json:"auditLogPath,omitempty" flag:"audit-log-path"`
// The maximum number of days to retain old audit log files based on the timestamp encoded in their filename.
AuditLogMaxAge *int32 `json:"auditLogMaxAge,omitempty" flag:"audit-log-maxage"`
// The maximum number of old audit log files to retain.
AuditLogMaxBackups *int32 `json:"auditLogMaxBackups,omitempty" flag:"audit-log-maxbackup"`
// The maximum size in megabytes of the audit log file before it gets rotated. Defaults to 100MB.
AuditLogMaxSize *int32 `json:"auditLogMaxSize,omitempty" flag:"audit-log-maxsize"`
// AuditPolicyFile is the full path to a advanced audit configuration file a.g. /srv/kubernetes/audit.conf
AuditPolicyFile string `json:"auditPolicyFile,omitempty" flag:"audit-policy-file"`
// File with webhook configuration for token authentication in kubeconfig format. The API server will query the remote service to determine authentication for bearer tokens.
AuthenticationTokenWebhookConfigFile *string `json:"authenticationTokenWebhookConfigFile,omitempty" flag:"authentication-token-webhook-config-file"`
// The duration to cache responses from the webhook token authenticator. Default is 2m. (default 2m0s)
AuthenticationTokenWebhookCacheTTL *metav1.Duration `json:"authenticationTokenWebhookCacheTtl,omitempty" flag:"authentication-token-webhook-cache-ttl"`
// AuthorizationMode is the authorization mode the kubeapi is running in
AuthorizationMode *string `json:"authorizationMode,omitempty" flag:"authorization-mode"`
// AuthorizationRBACSuperUser is the name of the superuser for default rbac
AuthorizationRBACSuperUser *string `json:"authorizationRbacSuperUser,omitempty" flag:"authorization-rbac-super-user"`
// ExperimentalEncryptionProviderConfig enables encryption at rest for secrets.
ExperimentalEncryptionProviderConfig *string `json:"experimentalEncryptionProviderConfig,omitempty" flag:"experimental-encryption-provider-config"`
// List of request headers to inspect for usernames. X-Remote-User is common.
RequestheaderUsernameHeaders []string `json:"requestheaderUsernameHeaders,omitempty" flag:"requestheader-username-headers"`
// List of request headers to inspect for groups. X-Remote-Group is suggested.
RequestheaderGroupHeaders []string `json:"requestheaderGroupHeaders,omitempty" flag:"requestheader-group-headers"`
// List of request header prefixes to inspect. X-Remote-Extra- is suggested.
RequestheaderExtraHeaderPrefixes []string `json:"requestheaderExtraHeaderPrefixes,omitempty" flag:"requestheader-extra-headers-prefix"`
// Root certificate bundle to use to verify client certificates on incoming requests before trusting usernames in headers specified by --requestheader-username-headers
RequestheaderClientCAFile string `json:"requestheaderClientCAFile,omitempty" flag:"requestheader-client-ca-file"`
// List of client certificate common names to allow to provide usernames in headers specified by --requestheader-username-headers. If empty, any client certificate validated by the authorities in --requestheader-client-ca-file is allowed.
RequestheaderAllowedNames []string `json:"requestheaderAllowedNames,omitempty" flag:"requestheader-allowed-names"`
// FeatureGates is set of key=value pairs that describe feature gates for alpha/experimental features.
FeatureGates map[string]string `json:"featureGates,omitempty" flag:"feature-gates"`
// MaxRequestsInflight The maximum number of non-mutating requests in flight at a given time.
MaxRequestsInflight int32 `json:"maxRequestsInflight,omitempty" flag:"max-requests-inflight" flag-empty:"0"`
// EtcdQuorumRead configures the etcd-quorum-read flag, which forces consistent reads from etcd
EtcdQuorumRead *bool `json:"etcdQuorumRead,omitempty" flag:"etcd-quorum-read"`
// MinRequestTimeout configures the minimum number of seconds a handler must keep a request open before timing it out.
// Currently only honored by the watch request handler
MinRequestTimeout *int32 `json:"minRequestTimeout,omitempty" flag:"min-request-timeout"`
}
KubeAPIServerConfig defines the configuration for the kube api
func (*KubeAPIServerConfig) DeepCopy ¶
func (in *KubeAPIServerConfig) DeepCopy() *KubeAPIServerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeAPIServerConfig.
func (*KubeAPIServerConfig) DeepCopyInto ¶
func (in *KubeAPIServerConfig) DeepCopyInto(out *KubeAPIServerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubeAPIServerConfig) HasAdmissionController ¶
func (c *KubeAPIServerConfig) HasAdmissionController(name string) bool
HasAdmissionController checks if a specific admission controller is enabled
type KubeControllerManagerConfig ¶
type KubeControllerManagerConfig struct {
// Master is the url for the kube api master
Master string `json:"master,omitempty" flag:"master"`
// LogLevel is the defined logLevel
LogLevel int32 `json:"logLevel,omitempty" flag:"v" flag-empty:"0"`
// ServiceAccountPrivateKeyFile the location for a certificate for service account signing
ServiceAccountPrivateKeyFile string `json:"serviceAccountPrivateKeyFile,omitempty" flag:"service-account-private-key-file"`
// Image is the docker image to use
Image string `json:"image,omitempty"`
// CloudProvider is the provider for cloud services.
CloudProvider string `json:"cloudProvider,omitempty" flag:"cloud-provider"`
// ClusterName is the instance prefix for the cluster.
ClusterName string `json:"clusterName,omitempty" flag:"cluster-name"`
// ClusterCIDR is CIDR Range for Pods in cluster.
ClusterCIDR string `json:"clusterCIDR,omitempty" flag:"cluster-cidr"`
// AllocateNodeCIDRs enables CIDRs for Pods to be allocated and, if ConfigureCloudRoutes is true, to be set on the cloud provider.
AllocateNodeCIDRs *bool `json:"allocateNodeCIDRs,omitempty" flag:"allocate-node-cidrs"`
// ConfigureCloudRoutes enables CIDRs allocated with to be configured on the cloud provider.
ConfigureCloudRoutes *bool `json:"configureCloudRoutes,omitempty" flag:"configure-cloud-routes"`
// CIDRAllocatorType specifies the type of CIDR allocator to use.
CIDRAllocatorType *string `json:"cidrAllocatorType,omitempty" flag:"cidr-allocator-type"`
// rootCAFile is the root certificate authority will be included in service account's token secret. This must be a valid PEM-encoded CA bundle.
RootCAFile string `json:"rootCAFile,omitempty" flag:"root-ca-file"`
// LeaderElection defines the configuration of leader election client.
LeaderElection *LeaderElectionConfiguration `json:"leaderElection,omitempty"`
// AttachDetachReconcileSyncPeriod is the amount of time the reconciler sync states loop
// wait between successive executions. Is set to 1 min by kops by default
AttachDetachReconcileSyncPeriod *metav1.Duration `json:"attachDetachReconcileSyncPeriod,omitempty" flag:"attach-detach-reconcile-sync-period"`
// TerminatedPodGCThreshold is the number of terminated pods that can exist
// before the terminated pod garbage collector starts deleting terminated pods.
// If <= 0, the terminated pod garbage collector is disabled.
TerminatedPodGCThreshold *int32 `json:"terminatedPodGCThreshold,omitempty" flag:"terminated-pod-gc-threshold"`
// NodeMonitorPeriod is the period for syncing NodeStatus in NodeController. (default 5s)
NodeMonitorPeriod *metav1.Duration `json:"nodeMonitorPeriod,omitempty" flag:"node-monitor-period"`
// NodeMonitorGracePeriod is the amount of time which we allow running Node to be unresponsive before marking it unhealthy. (default 40s)
// Must be N-1 times more than kubelet's nodeStatusUpdateFrequency, where N means number of retries allowed for kubelet to post node status.
NodeMonitorGracePeriod *metav1.Duration `json:"nodeMonitorGracePeriod,omitempty" flag:"node-monitor-grace-period"`
// PodEvictionTimeout is the grace period for deleting pods on failed nodes. (default 5m0s)
PodEvictionTimeout *metav1.Duration `json:"podEvictionTimeout,omitempty" flag:"pod-eviction-timeout"`
// UseServiceAccountCredentials controls whether we use individual service account credentials for each controller.
UseServiceAccountCredentials *bool `json:"useServiceAccountCredentials,omitempty" flag:"use-service-account-credentials"`
// HorizontalPodAutoscalerSyncPeriod is the amount of time between syncs
// During each period, the controller manager queries the resource utilization
// against the metrics specified in each HorizontalPodAutoscaler definition.
HorizontalPodAutoscalerSyncPeriod *metav1.Duration `json:"horizontalPodAutoscalerSyncPeriod,omitempty" flag:"horizontal-pod-autoscaler-sync-period"`
// HorizontalPodAutoscalerDownscaleDelay is a duration that specifies
// how long the autoscaler has to wait before another downscale
// operation can be performed after the current one has completed.
HorizontalPodAutoscalerDownscaleDelay *metav1.Duration `json:"horizontalPodAutoscalerDownscaleDelay,omitempty" flag:"horizontal-pod-autoscaler-downscale-delay"`
// HorizontalPodAutoscalerUpscaleDelay is a duration that specifies how
// long the autoscaler has to wait before another upscale operation can
// be performed after the current one has completed.
HorizontalPodAutoscalerUpscaleDelay *metav1.Duration `json:"horizontalPodAutoscalerUpscaleDelay,omitempty" flag:"horizontal-pod-autoscaler-upscale-delay"`
// HorizontalPodAutoscalerUseRestClients determines if the new-style clients
// should be used if support for custom metrics is enabled.
HorizontalPodAutoscalerUseRestClients *bool `json:"horizontalPodAutoscalerUseRestClients,omitempty" flag:"horizontal-pod-autoscaler-use-rest-clients"`
// FeatureGates is set of key=value pairs that describe feature gates for alpha/experimental features.
FeatureGates map[string]string `json:"featureGates,omitempty" flag:"feature-gates"`
}
KubeControllerManagerConfig is the configuration for the controller
func (*KubeControllerManagerConfig) DeepCopy ¶
func (in *KubeControllerManagerConfig) DeepCopy() *KubeControllerManagerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeControllerManagerConfig.
func (*KubeControllerManagerConfig) DeepCopyInto ¶
func (in *KubeControllerManagerConfig) DeepCopyInto(out *KubeControllerManagerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeDNSConfig ¶
type KubeDNSConfig struct {
// CacheMaxSize is the maximum entries to keep in dnsmaq
CacheMaxSize int `json:"cacheMaxSize,omitempty"`
// CacheMaxConcurrent is the maximum number of concurrent queries for dnsmasq
CacheMaxConcurrent int `json:"cacheMaxConcurrent,omitempty"`
// Domain is the dns domain
Domain string `json:"domain,omitempty"`
// Image is the name of the docker image to run - @deprecated as this is now in the addon
Image string `json:"image,omitempty"`
// Replicas is the number of pod replicas - @deprecated as this is now in the addon and controlled by autoscaler
Replicas int `json:"replicas,omitempty"`
// Provider indicates whether CoreDNS or kube-dns will be the default service discovery.
Provider string `json:"provider,omitempty"`
// ServerIP is the server ip
ServerIP string `json:"serverIP,omitempty"`
// StubDomains redirects a domains to another DNS service
StubDomains map[string][]string `json:"stubDomains,omitempty"`
// UpstreamNameservers sets the upstream nameservers for queries not on the cluster domain
UpstreamNameservers []string `json:"upstreamNameservers,omitempty"`
}
KubeDNSConfig defines the kube dns configuration
func (*KubeDNSConfig) DeepCopy ¶
func (in *KubeDNSConfig) DeepCopy() *KubeDNSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeDNSConfig.
func (*KubeDNSConfig) DeepCopyInto ¶
func (in *KubeDNSConfig) DeepCopyInto(out *KubeDNSConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeProxyConfig ¶
type KubeProxyConfig struct {
Image string `json:"image,omitempty"`
// TODO: Better type ?
// CPURequest, cpu request compute resource for kube proxy e.g. "20m"
CPURequest string `json:"cpuRequest,omitempty"`
// CPULimit, cpu limit compute resource for kube proxy e.g. "30m"
CPULimit string `json:"cpuLimit,omitempty"`
// MemoryRequest, memory request compute resource for kube proxy e.g. "30Mi"
MemoryRequest string `json:"memoryRequest,omitempty"`
// MemoryLimit, memory limit compute resource for kube proxy e.g. "30Mi"
MemoryLimit string `json:"memoryLimit,omitempty"`
// LogLevel is the logging level of the proxy
LogLevel int32 `json:"logLevel,omitempty" flag:"v"`
// ClusterCIDR is the CIDR range of the pods in the cluster
ClusterCIDR string `json:"clusterCIDR,omitempty" flag:"cluster-cidr"`
// HostnameOverride, if non-empty, will be used as the identity instead of the actual hostname.
HostnameOverride string `json:"hostnameOverride,omitempty" flag:"hostname-override"`
// BindAddress is IP address for the proxy server to serve on
BindAddress string `json:"bindAddress,omitempty" flag:"bind-address"`
// Master is the address of the Kubernetes API server (overrides any value in kubeconfig)
Master string `json:"master,omitempty" flag:"master"`
// Enabled allows enabling or disabling kube-proxy
Enabled *bool `json:"enabled,omitempty"`
// Which proxy mode to use: (userspace, iptables(default), ipvs)
ProxyMode string `json:"proxyMode,omitempty" flag:"proxy-mode"`
// FeatureGates is a series of key pairs used to switch on features for the proxy
FeatureGates map[string]string `json:"featureGates,omitempty" flag:"feature-gates"`
// Maximum number of NAT connections to track per CPU core (default: 131072)
ConntrackMaxPerCore *int32 `json:"conntrackMaxPerCore,omitempty" flag:"conntrack-max-per-core"`
// Minimum number of conntrack entries to allocate, regardless of conntrack-max-per-core
ConntrackMin *int32 `json:"conntrackMin,omitempty" flag:"conntrack-min"`
}
KubeProxyConfig defines the configuration for a proxy
func (*KubeProxyConfig) DeepCopy ¶
func (in *KubeProxyConfig) DeepCopy() *KubeProxyConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeProxyConfig.
func (*KubeProxyConfig) DeepCopyInto ¶
func (in *KubeProxyConfig) DeepCopyInto(out *KubeProxyConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeSchedulerConfig ¶
type KubeSchedulerConfig struct {
// Master is a url to the kube master
Master string `json:"master,omitempty" flag:"master"`
// LogLevel is the logging level
LogLevel int32 `json:"logLevel,omitempty" flag:"v"`
// Image is the docker image to use
Image string `json:"image,omitempty"`
// LeaderElection defines the configuration of leader election client.
LeaderElection *LeaderElectionConfiguration `json:"leaderElection,omitempty"`
// UsePolicyConfigMap enable setting the scheduler policy from a configmap
UsePolicyConfigMap *bool `json:"usePolicyConfigMap,omitempty"`
// FeatureGates is set of key=value pairs that describe feature gates for alpha/experimental features.
FeatureGates map[string]string `json:"featureGates,omitempty" flag:"feature-gates"`
}
KubeSchedulerConfig is the configuration for the kube-scheduler
func (*KubeSchedulerConfig) DeepCopy ¶
func (in *KubeSchedulerConfig) DeepCopy() *KubeSchedulerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeSchedulerConfig.
func (*KubeSchedulerConfig) DeepCopyInto ¶
func (in *KubeSchedulerConfig) DeepCopyInto(out *KubeSchedulerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeletConfigSpec ¶
type KubeletConfigSpec struct {
// APIServers is not used for clusters version 1.6 and later - flag removed
APIServers string `json:"apiServers,omitempty" flag:"api-servers"`
// AnonymousAuth permits you to control auth to the kubelet api
AnonymousAuth *bool `json:"anonymousAuth,omitempty" flag:"anonymous-auth"`
// AuthorizationMode is the authorization mode the kubelet is running in
AuthorizationMode string `json:"authorizationMode,omitempty" flag:"authorization-mode"`
// BootstrapKubeconfig is the path to a kubeconfig file that will be used to get client certificate for kubelet
BootstrapKubeconfig string `json:"bootstrapKubeconfig,omitempty" flag:"bootstrap-kubeconfig"`
// ClientCAFile is the path to a CA certificate
ClientCAFile string `json:"clientCaFile,omitempty" flag:"client-ca-file"`
// TODO: Remove unused TLSCertFile
TLSCertFile string `json:"tlsCertFile,omitempty" flag:"tls-cert-file"`
// TODO: Remove unused TLSPrivateKeyFile
TLSPrivateKeyFile string `json:"tlsPrivateKeyFile,omitempty" flag:"tls-private-key-file"`
// KubeconfigPath is the path of kubeconfig for the kubelet
KubeconfigPath string `json:"kubeconfigPath,omitempty" flag:"kubeconfig"`
// RequireKubeconfig indicates a kubeconfig is required
RequireKubeconfig *bool `json:"requireKubeconfig,omitempty" flag:"require-kubeconfig"`
// LogLevel is the logging level of the kubelet
LogLevel *int32 `json:"logLevel,omitempty" flag:"v" flag-empty:"0"`
// config is the path to the config file or directory of files
PodManifestPath string `json:"podManifestPath,omitempty" flag:"pod-manifest-path"`
// HostnameOverride is the hostname used to identify the kubelet instead of the actual hostname.
HostnameOverride string `json:"hostnameOverride,omitempty" flag:"hostname-override"`
// PodInfraContainerImage is the image whose network/ipc containers in each pod will use.
PodInfraContainerImage string `json:"podInfraContainerImage,omitempty" flag:"pod-infra-container-image"`
// SeccompProfileRoot is the directory path for seccomp profiles.
SeccompProfileRoot *string `json:"seccompProfileRoot,omitempty" flag:"seccomp-profile-root"`
// AllowPrivileged enables containers to request privileged mode (defaults to false)
AllowPrivileged *bool `json:"allowPrivileged,omitempty" flag:"allow-privileged"`
// EnableDebuggingHandlers enables server endpoints for log collection and local running of containers and commands
EnableDebuggingHandlers *bool `json:"enableDebuggingHandlers,omitempty" flag:"enable-debugging-handlers"`
// RegisterNode enables automatic registration with the apiserver.
RegisterNode *bool `json:"registerNode,omitempty" flag:"register-node"`
// NodeStatusUpdateFrequency Specifies how often kubelet posts node status to master (default 10s)
// must work with nodeMonitorGracePeriod in KubeControllerManagerConfig.
NodeStatusUpdateFrequency *metav1.Duration `json:"nodeStatusUpdateFrequency,omitempty" flag:"node-status-update-frequency"`
// ClusterDomain is the DNS domain for this cluster
ClusterDomain string `json:"clusterDomain,omitempty" flag:"cluster-domain"`
// ClusterDNS is the IP address for a cluster DNS server
ClusterDNS string `json:"clusterDNS,omitempty" flag:"cluster-dns"`
// NetworkPluginName is the name of the network plugin to be invoked for various events in kubelet/pod lifecycle
NetworkPluginName string `json:"networkPluginName,omitempty" flag:"network-plugin"`
// CloudProvider is the provider for cloud services.
CloudProvider string `json:"cloudProvider,omitempty" flag:"cloud-provider"`
// KubeletCgroups is the absolute name of cgroups to isolate the kubelet in.
KubeletCgroups string `json:"kubeletCgroups,omitempty" flag:"kubelet-cgroups"`
// Cgroups that container runtime is expected to be isolated in.
RuntimeCgroups string `json:"runtimeCgroups,omitempty" flag:"runtime-cgroups"`
// ReadOnlyPort is the port used by the kubelet api for read-only access (default 10255)
ReadOnlyPort *int32 `json:"readOnlyPort,omitempty" flag:"read-only-port"`
// SystemCgroups is absolute name of cgroups in which to place
// all non-kernel processes that are not already in a container. Empty
// for no container. Rolling back the flag requires a reboot.
SystemCgroups string `json:"systemCgroups,omitempty" flag:"system-cgroups"`
// cgroupRoot is the root cgroup to use for pods. This is handled by the container runtime on a best effort basis.
CgroupRoot string `json:"cgroupRoot,omitempty" flag:"cgroup-root"`
// configureCBR0 enables the kublet to configure cbr0 based on Node.Spec.PodCIDR.
ConfigureCBR0 *bool `json:"configureCbr0,omitempty" flag:"configure-cbr0"`
// How should the kubelet configure the container bridge for hairpin packets.
// Setting this flag allows endpoints in a Service to loadbalance back to
// themselves if they should try to access their own Service. Values:
// "promiscuous-bridge": make the container bridge promiscuous.
// "hairpin-veth": set the hairpin flag on container veth interfaces.
// "none": do nothing.
// Setting --configure-cbr0 to false implies that to achieve hairpin NAT
// one must set --hairpin-mode=veth-flag, because bridge assumes the
// existence of a container bridge named cbr0.
HairpinMode string `json:"hairpinMode,omitempty" flag:"hairpin-mode"`
// The node has babysitter process monitoring docker and kubelet. Removed as of 1.7
BabysitDaemons *bool `json:"babysitDaemons,omitempty" flag:"babysit-daemons"`
// MaxPods is the number of pods that can run on this Kubelet.
MaxPods *int32 `json:"maxPods,omitempty" flag:"max-pods"`
// NvidiaGPUs is the number of NVIDIA GPU devices on this node.
NvidiaGPUs int32 `json:"nvidiaGPUs,omitempty" flag:"experimental-nvidia-gpus" flag-empty:"0"`
// PodCIDR is the CIDR to use for pod IP addresses, only used in standalone mode.
// In cluster mode, this is obtained from the master.
PodCIDR string `json:"podCIDR,omitempty" flag:"pod-cidr"`
// ResolverConfig is the resolver configuration file used as the basis for the container DNS resolution configuration."), []
ResolverConfig *string `json:"resolvConf,omitempty" flag:"resolv-conf" flag-include-empty:"true"`
// ReconcileCIDR is Reconcile node CIDR with the CIDR specified by the
// API server. No-op if register-node or configure-cbr0 is false.
ReconcileCIDR *bool `json:"reconcileCIDR,omitempty" flag:"reconcile-cidr"`
// registerSchedulable tells the kubelet to register the node as schedulable. No-op if register-node is false.
RegisterSchedulable *bool `json:"registerSchedulable,omitempty" flag:"register-schedulable"`
//// SerializeImagePulls when enabled, tells the Kubelet to pull images one
//// at a time. We recommend *not* changing the default value on nodes that
//// run docker daemon with version < 1.9 or an Aufs storage backend.
//// Issue #10959 has more details.
SerializeImagePulls *bool `json:"serializeImagePulls,omitempty" flag:"serialize-image-pulls"`
// NodeLabels to add when registering the node in the cluster.
NodeLabels map[string]string `json:"nodeLabels,omitempty" flag:"node-labels"`
// NonMasqueradeCIDR configures masquerading: traffic to IPs outside this range will use IP masquerade.
NonMasqueradeCIDR string `json:"nonMasqueradeCIDR,omitempty" flag:"non-masquerade-cidr"`
// Enable gathering custom metrics.
EnableCustomMetrics *bool `json:"enableCustomMetrics,omitempty" flag:"enable-custom-metrics"`
// NetworkPluginMTU is the MTU to be passed to the network plugin,
// and overrides the default MTU for cases where it cannot be automatically
// computed (such as IPSEC).
NetworkPluginMTU *int32 `json:"networkPluginMTU,omitempty" flag:"network-plugin-mtu"`
// ImageGCHighThresholdPercent is the percent of disk usage after which
// image garbage collection is always run.
ImageGCHighThresholdPercent *int32 `json:"imageGCHighThresholdPercent,omitempty" flag:"image-gc-high-threshold"`
// ImageGCLowThresholdPercent is the percent of disk usage before which
// image garbage collection is never run. Lowest disk usage to garbage
// collect to.
ImageGCLowThresholdPercent *int32 `json:"imageGCLowThresholdPercent,omitempty" flag:"image-gc-low-threshold"`
// ImagePullProgressDeadline is the timeout for image pulls
// If no pulling progress is made before this deadline, the image pulling will be cancelled. (default 1m0s)
ImagePullProgressDeadline *metav1.Duration `json:"imagePullProgressDeadline,omitempty" flag:"image-pull-progress-deadline"`
// Comma-delimited list of hard eviction expressions. For example, 'memory.available<300Mi'.
EvictionHard *string `json:"evictionHard,omitempty" flag:"eviction-hard"`
// Comma-delimited list of soft eviction expressions. For example, 'memory.available<300Mi'.
EvictionSoft string `json:"evictionSoft,omitempty" flag:"eviction-soft"`
// Comma-delimited list of grace periods for each soft eviction signal. For example, 'memory.available=30s'.
EvictionSoftGracePeriod string `json:"evictionSoftGracePeriod,omitempty" flag:"eviction-soft-grace-period"`
// Duration for which the kubelet has to wait before transitioning out of an eviction pressure condition.
EvictionPressureTransitionPeriod *metav1.Duration `json:"evictionPressureTransitionPeriod,omitempty" flag:"eviction-pressure-transition-period" flag-empty:"0s"`
// Maximum allowed grace period (in seconds) to use when terminating pods in response to a soft eviction threshold being met.
EvictionMaxPodGracePeriod int32 `json:"evictionMaxPodGracePeriod,omitempty" flag:"eviction-max-pod-grace-period" flag-empty:"0"`
// Comma-delimited list of minimum reclaims (e.g. imagefs.available=2Gi) that describes the minimum amount of resource the kubelet will reclaim when performing a pod eviction if that resource is under pressure.
EvictionMinimumReclaim string `json:"evictionMinimumReclaim,omitempty" flag:"eviction-minimum-reclaim"`
// The full path of the directory in which to search for additional third party volume plugins
VolumePluginDirectory string `json:"volumePluginDirectory,omitempty" flag:"volume-plugin-dir"`
// Taints to add when registering a node in the cluster
Taints []string `json:"taints,omitempty" flag:"register-with-taints"`
// FeatureGates is set of key=value pairs that describe feature gates for alpha/experimental features.
FeatureGates map[string]string `json:"featureGates,omitempty" flag:"feature-gates"`
// Resource reservation for kubernetes system daemons like the kubelet, container runtime, node problem detector, etc.
KubeReserved map[string]string `json:"kubeReserved,omitempty" flag:"kube-reserved"`
// Control group for kube daemons.
KubeReservedCgroup string `json:"kubeReservedCgroup,omitempty" flag:"kube-reserved-cgroup"`
// Capture resource reservation for OS system daemons like sshd, udev, etc.
SystemReserved map[string]string `json:"systemReserved,omitempty" flag:"system-reserved"`
// Parent control group for OS system daemons.
SystemReservedCgroup string `json:"systemReservedCgroup,omitempty" flag:"system-reserved-cgroup"`
// Enforce Allocatable across pods whenever the overall usage across all pods exceeds Allocatable.
EnforceNodeAllocatable string `json:"enforceNodeAllocatable,omitempty" flag:"enforce-node-allocatable"`
// RuntimeRequestTimeout is timeout for runtime requests on - pull, logs, exec and attach
RuntimeRequestTimeout *metav1.Duration `json:"runtimeRequestTimeout,omitempty" flag:"runtime-request-timeout"`
// VolumeStatsAggPeriod is the interval for kubelet to calculate and cache the volume disk usage for all pods and volumes
VolumeStatsAggPeriod *metav1.Duration `json:"volumeStatsAggPeriod,omitempty" flag:"volume-stats-agg-period"`
// Tells the Kubelet to fail to start if swap is enabled on the node.
FailSwapOn *bool `json:"failSwapOn,omitempty" flag:"fail-swap-on"`
// ExperimentalAllowedUnsafeSysctls are passed to the kubelet config to whitelist allowable sysctls
ExperimentalAllowedUnsafeSysctls []string `json:"experimentalAllowedUnsafeSysctls,omitempty" flag:"experimental-allowed-unsafe-sysctls"`
// StreamingConnectionIdleTimeout is the maximum time a streaming connection can be idle before the connection is automatically closed
StreamingConnectionIdleTimeout *metav1.Duration `json:"streamingConnectionIdleTimeout,omitempty" flag:"streaming-connection-idle-timeout"`
// DockerDisableSharedPID uses a shared PID namespace for containers in a pod.
DockerDisableSharedPID *bool `json:"dockerDisableSharedPID,omitempty" flag:"docker-disable-shared-pid"`
// RootDir is the directory path for managing kubelet files (volume mounts,etc)
RootDir string `json:"rootDir,omitempty" flag:"root-dir"`
// AuthenticationTokenWebhook uses the TokenReview API to determine authentication for bearer tokens.
AuthenticationTokenWebhook *bool `json:"authenticationTokenWebhook,omitempty" flag:"authentication-token-webhook"`
// AuthenticationTokenWebhook sets the duration to cache responses from the webhook token authenticator. Default is 2m. (default 2m0s)
AuthenticationTokenWebhookCacheTTL *metav1.Duration `json:"authenticationTokenWebhookCacheTtl,omitempty" flag:"authentication-token-webhook-cache-ttl"`
}
KubeletConfigSpec defines the kubelet configuration
func (*KubeletConfigSpec) DeepCopy ¶
func (in *KubeletConfigSpec) DeepCopy() *KubeletConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfigSpec.
func (*KubeletConfigSpec) DeepCopyInto ¶
func (in *KubeletConfigSpec) DeepCopyInto(out *KubeletConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubenetNetworkingSpec ¶
type KubenetNetworkingSpec struct {
}
KubenetNetworkingSpec is the specification for kubenet networking, largely integrated but intended to replace classic
func (*KubenetNetworkingSpec) DeepCopy ¶
func (in *KubenetNetworkingSpec) DeepCopy() *KubenetNetworkingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubenetNetworkingSpec.
func (*KubenetNetworkingSpec) DeepCopyInto ¶
func (in *KubenetNetworkingSpec) DeepCopyInto(out *KubenetNetworkingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesVersionSpec ¶
type KubernetesVersionSpec struct {
Range string `json:"range,omitempty"`
RecommendedVersion string `json:"recommendedVersion,omitempty"`
RequiredVersion string `json:"requiredVersion,omitempty"`
}
func FindKubernetesVersionSpec ¶
func FindKubernetesVersionSpec(versions []KubernetesVersionSpec, version semver.Version) *KubernetesVersionSpec
FindKubernetesVersionSpec returns a KubernetesVersionSpec for the current version
func (*KubernetesVersionSpec) DeepCopy ¶
func (in *KubernetesVersionSpec) DeepCopy() *KubernetesVersionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesVersionSpec.
func (*KubernetesVersionSpec) DeepCopyInto ¶
func (in *KubernetesVersionSpec) DeepCopyInto(out *KubernetesVersionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubernetesVersionSpec) FindRecommendedUpgrade ¶
func (v *KubernetesVersionSpec) FindRecommendedUpgrade(version semver.Version) (*semver.Version, error)
FindRecommendedUpgrade returns a string with a new version, if the current version is out of date
func (*KubernetesVersionSpec) IsUpgradeRequired ¶
func (v *KubernetesVersionSpec) IsUpgradeRequired(version semver.Version) (bool, error)
IsUpgradeRequired returns true if the current version is not acceptable
type KuberouterNetworkingSpec ¶
type KuberouterNetworkingSpec struct {
}
KuberouterNetworkingSpec declares that we want Kube-router networking
func (*KuberouterNetworkingSpec) DeepCopy ¶
func (in *KuberouterNetworkingSpec) DeepCopy() *KuberouterNetworkingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KuberouterNetworkingSpec.
func (*KuberouterNetworkingSpec) DeepCopyInto ¶
func (in *KuberouterNetworkingSpec) DeepCopyInto(out *KuberouterNetworkingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LeaderElectionConfiguration ¶
type LeaderElectionConfiguration struct {
// leaderElect enables a leader election client to gain leadership
// before executing the main loop. Enable this when running replicated
// components for high availability.
LeaderElect *bool `json:"leaderElect,omitempty" flag:"leader-elect"`
}
LeaderElectionConfiguration defines the configuration of leader election clients for components that can run with leader election enabled.
func (*LeaderElectionConfiguration) DeepCopy ¶
func (in *LeaderElectionConfiguration) DeepCopy() *LeaderElectionConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaderElectionConfiguration.
func (*LeaderElectionConfiguration) DeepCopyInto ¶
func (in *LeaderElectionConfiguration) DeepCopyInto(out *LeaderElectionConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancer ¶
type LoadBalancer struct {
// LoadBalancerName to associate with this instance group (AWS ELB)
LoadBalancerName *string `json:"loadBalancerName,omitempty"`
// TargetGroupARN to associate with this instance group (AWS ALB/NLB)
TargetGroupARN *string `json:"targetGroupArn,omitempty"`
}
LoadBalancers defines a load balancer
func (*LoadBalancer) DeepCopy ¶
func (in *LoadBalancer) DeepCopy() *LoadBalancer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancer.
func (*LoadBalancer) DeepCopyInto ¶
func (in *LoadBalancer) DeepCopyInto(out *LoadBalancer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerAccessSpec ¶
type LoadBalancerAccessSpec struct {
Type LoadBalancerType `json:"type,omitempty"`
IdleTimeoutSeconds *int64 `json:"idleTimeoutSeconds,omitempty"`
AdditionalSecurityGroups []string `json:"additionalSecurityGroups,omitempty"`
UseForInternalApi bool `json:"useForInternalApi,omitempty"`
SSLCertificate string `json:"sslCertificate,omitempty"`
}
LoadBalancerAccessSpec provides configuration details related to API LoadBalancer and its access
func (*LoadBalancerAccessSpec) DeepCopy ¶
func (in *LoadBalancerAccessSpec) DeepCopy() *LoadBalancerAccessSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerAccessSpec.
func (*LoadBalancerAccessSpec) DeepCopyInto ¶
func (in *LoadBalancerAccessSpec) DeepCopyInto(out *LoadBalancerAccessSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerType ¶
type LoadBalancerType string
LoadBalancerType string describes LoadBalancer types (public, internal)
const (
LoadBalancerTypePublic LoadBalancerType = "Public"
LoadBalancerTypeInternal LoadBalancerType = "Internal"
)
type NetworkingSpec ¶
type NetworkingSpec struct {
Classic *ClassicNetworkingSpec `json:"classic,omitempty"`
Kubenet *KubenetNetworkingSpec `json:"kubenet,omitempty"`
External *ExternalNetworkingSpec `json:"external,omitempty"`
CNI *CNINetworkingSpec `json:"cni,omitempty"`
Kopeio *KopeioNetworkingSpec `json:"kopeio,omitempty"`
Weave *WeaveNetworkingSpec `json:"weave,omitempty"`
Flannel *FlannelNetworkingSpec `json:"flannel,omitempty"`
Calico *CalicoNetworkingSpec `json:"calico,omitempty"`
Canal *CanalNetworkingSpec `json:"canal,omitempty"`
Kuberouter *KuberouterNetworkingSpec `json:"kuberouter,omitempty"`
Romana *RomanaNetworkingSpec `json:"romana,omitempty"`
AmazonVPC *AmazonVPCNetworkingSpec `json:"amazonvpc,omitempty"`
Cilium *CiliumNetworkingSpec `json:"cilium,omitempty"`
}
NetworkingSpec allows selection and configuration of a networking plugin
func (*NetworkingSpec) DeepCopy ¶
func (in *NetworkingSpec) DeepCopy() *NetworkingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkingSpec.
func (*NetworkingSpec) DeepCopyInto ¶
func (in *NetworkingSpec) DeepCopyInto(out *NetworkingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeAuthorizationSpec ¶
type NodeAuthorizationSpec struct {
// NodeAuthorizer defined the configuration for the node authorizer
NodeAuthorizer *NodeAuthorizerSpec `json:"nodeAuthorizer,omitempty"`
}
NodeAuthorizationSpec is used to node authorization
func (*NodeAuthorizationSpec) DeepCopy ¶
func (in *NodeAuthorizationSpec) DeepCopy() *NodeAuthorizationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAuthorizationSpec.
func (*NodeAuthorizationSpec) DeepCopyInto ¶
func (in *NodeAuthorizationSpec) DeepCopyInto(out *NodeAuthorizationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeAuthorizerSpec ¶
type NodeAuthorizerSpec struct {
// Authorizer is the authorizer to use
Authorizer string `json:"authorizer,omitempty"`
// Features is a series of authorizer features to enable or disable
Features *[]string `json:"features,omitempty"`
// Image is the location of container
Image string `json:"image,omitempty"`
// NodeURL is the node authorization service url
NodeURL string `json:"nodeURL,omitempty"`
// Port is the port the service is running on the master
Port int `json:"port,omitempty"`
// Timeout the max time for authorization request
Timeout *metav1.Duration `json:"timeout,omitempty"`
// TokenTTL is the max ttl for an issued token
TokenTTL *metav1.Duration `json:"tokenTTL,omitempty"`
}
NodeAuthorizerSpec defines the configuration for a node authorizer
func (*NodeAuthorizerSpec) DeepCopy ¶
func (in *NodeAuthorizerSpec) DeepCopy() *NodeAuthorizerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAuthorizerSpec.
func (*NodeAuthorizerSpec) DeepCopyInto ¶
func (in *NodeAuthorizerSpec) DeepCopyInto(out *NodeAuthorizerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NoopStatusStore ¶
type NoopStatusStore struct {
}
NoopStatusStore is a stub implementation that returns empty status It is a temporary hackaround while we introduce status
func (*NoopStatusStore) DeepCopy ¶
func (in *NoopStatusStore) DeepCopy() *NoopStatusStore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NoopStatusStore.
func (*NoopStatusStore) DeepCopyInto ¶
func (in *NoopStatusStore) DeepCopyInto(out *NoopStatusStore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NoopStatusStore) FindClusterStatus ¶
func (s *NoopStatusStore) FindClusterStatus(cluster *Cluster) (*ClusterStatus, error)
FindClusterStatus discovers the status of the cluster, by inspecting the cloud objects
func (*NoopStatusStore) GetApiIngressStatus ¶
func (s *NoopStatusStore) GetApiIngressStatus(cluster *Cluster) ([]ApiIngressStatus, error)
type RBACAuthorizationSpec ¶
type RBACAuthorizationSpec struct {
}
func (*RBACAuthorizationSpec) DeepCopy ¶
func (in *RBACAuthorizationSpec) DeepCopy() *RBACAuthorizationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RBACAuthorizationSpec.
func (*RBACAuthorizationSpec) DeepCopyInto ¶
func (in *RBACAuthorizationSpec) DeepCopyInto(out *RBACAuthorizationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RomanaNetworkingSpec ¶
type RomanaNetworkingSpec struct {
// DaemonServiceIP is the Kubernetes Service IP for the romana-daemon pod
DaemonServiceIP string `json:"daemonServiceIP,omitempty"`
// EtcdServiceIP is the Kubernetes Service IP for the etcd backend used by Romana
EtcdServiceIP string `json:"etcdServiceIP,omitempty"`
}
RomanaNetworkingSpec declares that we want Romana networking
func (*RomanaNetworkingSpec) DeepCopy ¶
func (in *RomanaNetworkingSpec) DeepCopy() *RomanaNetworkingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RomanaNetworkingSpec.
func (*RomanaNetworkingSpec) DeepCopyInto ¶
func (in *RomanaNetworkingSpec) DeepCopyInto(out *RomanaNetworkingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSHCredential ¶
type SSHCredential struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec SSHCredentialSpec `json:"spec,omitempty"`
}
SSHCredential represents a set of kops secrets
func (*SSHCredential) DeepCopy ¶
func (in *SSHCredential) DeepCopy() *SSHCredential
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHCredential.
func (*SSHCredential) DeepCopyInto ¶
func (in *SSHCredential) DeepCopyInto(out *SSHCredential)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SSHCredential) DeepCopyObject ¶
func (in *SSHCredential) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*SSHCredential) GetObjectKind ¶
func (obj *SSHCredential) GetObjectKind() schema.ObjectKind
type SSHCredentialList ¶
type SSHCredentialList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []SSHCredential `json:"items"`
}
func (*SSHCredentialList) DeepCopy ¶
func (in *SSHCredentialList) DeepCopy() *SSHCredentialList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHCredentialList.
func (*SSHCredentialList) DeepCopyInto ¶
func (in *SSHCredentialList) DeepCopyInto(out *SSHCredentialList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SSHCredentialList) DeepCopyObject ¶
func (in *SSHCredentialList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SSHCredentialSpec ¶
type SSHCredentialSpec struct {
PublicKey string `json:"publicKey,omitempty"`
}
func (*SSHCredentialSpec) DeepCopy ¶
func (in *SSHCredentialSpec) DeepCopy() *SSHCredentialSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHCredentialSpec.
func (*SSHCredentialSpec) DeepCopyInto ¶
func (in *SSHCredentialSpec) DeepCopyInto(out *SSHCredentialSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatusStore ¶
type StatusStore interface {
// FindClusterStatus discovers the status of the cluster, by inspecting the cloud objects
FindClusterStatus(cluster *Cluster) (*ClusterStatus, error)
GetApiIngressStatus(cluster *Cluster) ([]ApiIngressStatus, error)
}
StatusStore abstracts the key status functions; and lets us introduce status gradually
type SubnetType ¶
type SubnetType string
SubnetType string describes subnet types (public, private, utility)
const (
// SubnetTypePublic means the subnet is public
SubnetTypePublic SubnetType = "Public"
// SubnetTypePrivate means the subnet has no public address or is natted
SubnetTypePrivate SubnetType = "Private"
// SubnetTypeUtility mean the subnet is used for utility services, such as the bastion
SubnetTypeUtility SubnetType = "Utility"
)
type TargetSpec ¶
type TargetSpec struct {
Terraform *TerraformSpec `json:"terraform,omitempty"`
}
TargetSpec allows for specifying target config in an extensible way
func (*TargetSpec) DeepCopy ¶
func (in *TargetSpec) DeepCopy() *TargetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetSpec.
func (*TargetSpec) DeepCopyInto ¶
func (in *TargetSpec) DeepCopyInto(out *TargetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerraformSpec ¶
type TerraformSpec struct {
// ProviderExtraConfig contains key/value pairs to add to the rendered terraform "provider" block
ProviderExtraConfig *map[string]string `json:"providerExtraConfig,omitempty"`
}
TerraformSpec allows us to specify terraform config in an extensible way
func (*TerraformSpec) DeepCopy ¶
func (in *TerraformSpec) DeepCopy() *TerraformSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerraformSpec.
func (*TerraformSpec) DeepCopyInto ¶
func (in *TerraformSpec) DeepCopyInto(out *TerraformSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TopologySpec ¶
type TopologySpec struct {
// The environment to launch the Kubernetes masters in public|private
Masters string `json:"masters,omitempty"`
// The environment to launch the Kubernetes nodes in public|private
Nodes string `json:"nodes,omitempty"`
// Bastion provide an external facing point of entry into a network
// containing private network instances. This host can provide a single
// point of fortification or audit and can be started and stopped to enable
// or disable inbound SSH communication from the Internet, some call bastion
// as the "jump server".
Bastion *BastionSpec `json:"bastion,omitempty"`
// DNS configures options relating to DNS, in particular whether we use a public or a private hosted zone
DNS *DNSSpec `json:"dns,omitempty"`
}
func (*TopologySpec) DeepCopy ¶
func (in *TopologySpec) DeepCopy() *TopologySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopologySpec.
func (*TopologySpec) DeepCopyInto ¶
func (in *TopologySpec) DeepCopyInto(out *TopologySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserData ¶
type UserData struct {
// Name is the name of the user-data
Name string `json:"name,omitempty"`
// Type is the type of user-data
Type string `json:"type,omitempty"`
// Content is the user-data content
Content string `json:"content,omitempty"`
}
UserData defines a user-data section
func (*UserData) DeepCopy ¶
func (in *UserData) DeepCopy() *UserData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserData.
func (*UserData) DeepCopyInto ¶
func (in *UserData) DeepCopyInto(out *UserData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WeaveNetworkingSpec ¶
type WeaveNetworkingSpec struct {
MTU *int32 `json:"mtu,omitempty"`
ConnLimit *int32 `json:"connLimit,omitempty"`
}
WeaveNetworkingSpec declares that we want Weave networking
func (*WeaveNetworkingSpec) DeepCopy ¶
func (in *WeaveNetworkingSpec) DeepCopy() *WeaveNetworkingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeaveNetworkingSpec.
func (*WeaveNetworkingSpec) DeepCopyInto ¶
func (in *WeaveNetworkingSpec) DeepCopyInto(out *WeaveNetworkingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files
¶
Directories
¶
Path | Synopsis |
---|---|
Package install installs the kops API group, making it available as an option to all of the API encoding/decoding machinery.
|
Package install installs the kops API group, making it available as an option to all of the API encoding/decoding machinery. |
+groupName=kops
|
+groupName=kops |
+groupName=kops
|
+groupName=kops |