forked from Azure/aks-engine
/
const.go
171 lines (148 loc) · 6.52 KB
/
const.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
package vlabs
const (
// APIVersion is the version of this API
APIVersion = "vlabs"
)
// the orchestrators supported by vlabs
const (
// DCOS is the string constant for DCOS orchestrator type and defaults to DCOS188
DCOS string = "DCOS"
// Swarm is the string constant for the Swarm orchestrator type
Swarm string = "Swarm"
// Kubernetes is the string constant for the Kubernetes orchestrator type
Kubernetes string = "Kubernetes"
// SwarmMode is the string constant for the Swarm Mode orchestrator type
SwarmMode string = "SwarmMode"
)
// the OSTypes supported by vlabs
const (
Windows OSType = "Windows"
Linux OSType = "Linux"
)
// the LinuxDistros supported by vlabs
const (
Ubuntu Distro = "ubuntu"
Ubuntu1804 Distro = "ubuntu-18.04"
RHEL Distro = "rhel"
CoreOS Distro = "coreos"
AKS1604Deprecated Distro = "aks" // deprecated AKS 16.04 distro. Equivalent to aks-ubuntu-16.04.
AKS1804Deprecated Distro = "aks-1804" // deprecated AKS 18.04 distro. Equivalent to aks-ubuntu-18.04.
AKSDockerEngine Distro = "aks-docker-engine" // deprecated docker-engine distro.
AKSUbuntu1604 Distro = "aks-ubuntu-16.04"
AKSUbuntu1804 Distro = "aks-ubuntu-18.04"
ACC1604 Distro = "acc-16.04"
)
// validation values
const (
// MinAgentCount are the minimum number of agents per agent pool
MinAgentCount = 1
// MaxAgentCount are the maximum number of agents per agent pool
MaxAgentCount = 100
// MinPort specifies the minimum tcp port to open
MinPort = 1
// MaxPort specifies the maximum tcp port to open
MaxPort = 65535
// MaxDisks specifies the maximum attached disks to add to the cluster
MaxDisks = 4
// MinDiskSizeGB specifies the minimum attached disk size
MinDiskSizeGB = 1
// MaxDiskSizeGB specifies the maximum attached disk size
MaxDiskSizeGB = 1023
// MinIPAddressCount specifies the minimum number of IP addresses per network interface
MinIPAddressCount = 1
// MaxIPAddressCount specifies the maximum number of IP addresses per network interface
MaxIPAddressCount = 256
)
// Availability profiles
const (
// AvailabilitySet means that the vms are in an availability set
AvailabilitySet = "AvailabilitySet"
// VirtualMachineScaleSets means that the vms are in a virtual machine scaleset
VirtualMachineScaleSets = "VirtualMachineScaleSets"
)
// storage profiles
const (
// StorageAccount means that the nodes use raw storage accounts for their os and attached volumes
StorageAccount = "StorageAccount"
// ManagedDisks means that the nodes use managed disks for their os and attached volumes
ManagedDisks = "ManagedDisks"
// Ephemeral means that the node's os disk is ephemeral. This is not compatible with attached volumes.
Ephemeral = "Ephemeral"
)
// Supported container runtimes
const (
Docker = "docker"
KataContainers = "kata-containers"
Containerd = "containerd"
)
var (
// NetworkPluginValues holds the valid values for network plugin implementation
NetworkPluginValues = [...]string{"", "kubenet", "azure", NetworkPluginCilium, "flannel"}
// NetworkPolicyValues holds the valid values for a network policy
// "azure" and "none" are there for backwards-compatibility
NetworkPolicyValues = [...]string{"", "calico", NetworkPolicyCilium, "azure", "none"}
// ContainerRuntimeValues holds the valid values for container runtimes
ContainerRuntimeValues = [...]string{"", Docker, KataContainers, Containerd}
// DistroValues holds the valid values for OS distros
DistroValues = []Distro{"", Ubuntu, Ubuntu1804, RHEL, CoreOS, AKSUbuntu1604, AKSUbuntu1804, ACC1604}
// DependenciesLocationValues holds the valid values for dependencies location
DependenciesLocationValues = []DependenciesLocation{"", AzureStackDependenciesLocationPublic, AzureStackDependenciesLocationChina, AzureStackDependenciesLocationGerman, AzureStackDependenciesLocationUSGovernment}
)
// Kubernetes configuration
const (
// KubernetesMinMaxPods is the minimum valid value for MaxPods, necessary for running kube-system pods
KubernetesMinMaxPods = 5
)
// vlabs default configuration
const (
// DefaultNetworkPlugin defines the network plugin to use by default
DefaultNetworkPlugin = "azure"
// DefaultNetworkPluginWindows defines the network plugin to use by default for clusters with Windows agent pools
DefaultNetworkPluginWindows = "azure"
// DefaultNetworkPolicy defines the network policy to use by default
DefaultNetworkPolicy = ""
// NetworkPolicyCilium is the string expression for cilium network policy config option
NetworkPolicyCilium = "cilium"
// NetworkPluginCilium is the string expression for cilium network policy config option
NetworkPluginCilium = NetworkPolicyCilium
)
const (
// AgentPoolProfileRoleEmpty is the empty role
AgentPoolProfileRoleEmpty AgentPoolProfileRole = ""
// AgentPoolProfileRoleInfra is the infra role
AgentPoolProfileRoleInfra AgentPoolProfileRole = "infra"
)
const (
// AzureStackCloud is a const string reference identifier for Azure Stack cloud
AzureStackCloud = "AzureStackCloud"
// MaxAzureStackManagedDiskSize is max etcd disk size supported on AzureStackCloud
MaxAzureStackManagedDiskSize = 1023
)
const (
// AzureADIdentitySystem is a const string reference identifier for Azure AD identity System
AzureADIdentitySystem = "azure_ad"
// ADFSIdentitySystem is a const string reference identifier for ADFS identity System
ADFSIdentitySystem = "adfs"
)
const (
// AzureStackDependenciesLocationPublic indicates to get dependencies from in AzurePublic cloud
AzureStackDependenciesLocationPublic = "public"
// AzureStackDependenciesLocationChina indicates to get dependencies from AzureChina cloud
AzureStackDependenciesLocationChina = "china"
// AzureStackDependenciesLocationGerman indicates to get dependencies from AzureGerman cloud
AzureStackDependenciesLocationGerman = "german"
// AzureStackDependenciesLocationUSGovernment indicates to get dependencies from AzureUSGovernment cloud
AzureStackDependenciesLocationUSGovernment = "usgovernment"
)
const (
// ClientSecretAuthMethod indicates to use client seret for authentication
ClientSecretAuthMethod = "client_secret"
// ClientCertificateAuthMethod indicates to use client certificate for authentication
ClientCertificateAuthMethod = "client_certificate"
)
// BasicLoadBalancerSku is the string const for Azure Basic Load Balancer
const BasicLoadBalancerSku = "Basic"
// StandardLoadBalancerSku is the string const for Azure Standard Load Balancer
const StandardLoadBalancerSku = "Standard"