github.com/apprenda/kismatic@v1.12.0/integration-tests/plan_patterns.go (about) 1 package integration_tests 2 3 type NFSVolume struct { 4 Host string 5 } 6 7 type PlanAWS struct { 8 Etcd []NodeDeets 9 Master []NodeDeets 10 Worker []NodeDeets 11 Ingress []NodeDeets 12 Storage []NodeDeets 13 NFSVolume []NFSVolume 14 LoadBalancer string 15 SSHUser string 16 SSHKeyFile string 17 HomeDirectory string 18 DisablePackageInstallation bool 19 DisableDockerInstallation bool 20 DisconnectedInstallation bool 21 DockerRegistryServer string 22 DockerRegistryCAPath string 23 DockerRegistryUsername string 24 DockerRegistryPassword string 25 ModifyHostsFiles bool 26 HTTPProxy string 27 HTTPSProxy string 28 NoProxy string 29 DockerStorageDriver string 30 ServiceCIDR string 31 DisableCNI bool 32 CNIProvider string 33 DNSProvider string 34 DisableHelm bool 35 HeapsterReplicas int 36 HeapsterInfluxdbPVC string 37 CloudProvider string 38 KubeAPIServerOptions map[string]string 39 KubeControllerManagerOptions map[string]string 40 KubeSchedulerOptions map[string]string 41 KubeProxyOptions map[string]string 42 KubeletOptions map[string]string 43 } 44 45 // Certain fields are still present for backwards compatabilty when testing upgrades 46 const planAWSOverlay = `cluster: 47 name: kubernetes 48 disable_package_installation: {{.DisablePackageInstallation}} 49 disconnected_installation: {{.DisconnectedInstallation}} 50 networking: 51 type: overlay # Required for KET <= v1.4.1 52 pod_cidr_block: 172.16.0.0/16 53 service_cidr_block: {{if .ServiceCIDR}}{{.ServiceCIDR}}{{else}}172.20.0.0/16{{end}} 54 update_hosts_files: {{.ModifyHostsFiles}} 55 http_proxy: {{.HTTPProxy}} 56 https_proxy: {{.HTTPSProxy}} 57 no_proxy: {{.NoProxy}} 58 certificates: 59 expiry: 17520h 60 ca_expiry: 17520h 61 ssh: 62 user: {{.SSHUser}} 63 ssh_key: {{.SSHKeyFile}} 64 ssh_port: 22 65 kube_apiserver: 66 option_overrides: { {{ if .KubeAPIServerOptions }}{{ range $k, $v := .KubeAPIServerOptions }}"{{ $k }}": "{{ $v }}"{{end}}{{end}} } 67 kube_controller_manager: 68 option_overrides: { {{if .KubeControllerManagerOptions}}{{ range $k, $v := .KubeControllerManagerOptions }}"{{ $k }}": "{{ $v }}"{{end}}{{end}} } 69 kube_scheduler: 70 option_overrides: { {{if .KubeSchedulerOptions}}{{ range $k, $v := .KubeSchedulerOptions }}"{{ $k }}": "{{ $v }}"{{end}}{{end}} } 71 kube_proxy: 72 option_overrides: { {{if .KubeProxyOptions}}{{ range $k, $v := .KubeProxyOptions }}"{{ $k }}": "{{ $v }}"{{end}}{{end}} } 73 kubelet: 74 option_overrides: { {{if .KubeletOptions}}{{ range $k, $v := .KubeletOptions }}"{{ $k }}": "{{ $v }}"{{end}}{{end}} } 75 cloud_provider: 76 provider: {{.CloudProvider}} 77 docker: 78 disable: {{.DisableDockerInstallation}} 79 storage: 80 driver: "{{.DockerStorageDriver}}" 81 opts: {} 82 direct_lvm_block_device: 83 path: {{if eq .DockerStorageDriver "devicemapper"}}"/dev/xvdb"{{end}} 84 thinpool_percent: "95" 85 thinpool_metapercent: "1" 86 thinpool_autoextend_threshold: "80" 87 thinpool_autoextend_percent: "20" 88 logs: 89 driver: "json-file" 90 opts: 91 "max-size": "50m" 92 "max-file": "1" 93 docker_registry: 94 server: {{.DockerRegistryServer}} 95 CA: {{.DockerRegistryCAPath}} 96 username: {{.DockerRegistryUsername}} 97 password: {{.DockerRegistryPassword}} 98 add_ons: 99 cni: 100 disable: {{.DisableCNI}} 101 provider: {{if .CNIProvider}}{{.CNIProvider}}{{else}}calico{{end}} 102 options: 103 portmap: 104 disable: false 105 calico: 106 mode: overlay 107 log_level: info 108 workload_mtu: 1500 109 felix_input_mtu: 1440 110 ip_autodetection_method: first-found 111 weave: 112 password: "" 113 dns: 114 disable: false 115 provider: {{if .DNSProvider}}{{.DNSProvider}}{{else}}kubedns{{end}} 116 options: 117 replicas: 2 118 heapster: 119 disable: false 120 options: 121 heapster_replicas: {{if eq .HeapsterReplicas 0}}2{{else}}{{.HeapsterReplicas}}{{end}} 122 heapster: 123 replicas: {{if eq .HeapsterReplicas 0}}2{{else}}{{.HeapsterReplicas}}{{end}} 124 service_type: ClusterIP 125 sink: influxdb:http://heapster-influxdb.kube-system.svc:8086 126 influxdb: 127 pvc_name: {{.HeapsterInfluxdbPVC}} 128 metrics_server: 129 disable: false 130 package_manager: 131 disable: {{.DisableHelm}} 132 provider: helm 133 rescheduler: 134 disable: false 135 etcd: 136 expected_count: {{len .Etcd}} 137 nodes:{{range .Etcd}} 138 - host: {{.Hostname}} 139 ip: {{.PublicIP}} 140 internalip: {{.PrivateIP}}{{end}} 141 master: 142 load_balancer: {{.LoadBalancer}}:6443 143 load_balanced_fqdn: {{.LoadBalancer}} # TODO remove 144 load_balanced_short_name: {{.LoadBalancer}} 145 expected_count: {{len .Master}} 146 nodes:{{range .Master}} 147 - host: {{.Hostname}} 148 ip: {{.PublicIP}} 149 internalip: {{.PrivateIP}} 150 labels: 151 com.integrationtest/master: true{{end}} 152 worker: 153 expected_count: {{len .Worker}} 154 nodes:{{range .Worker}} 155 - host: {{.Hostname}} 156 ip: {{.PublicIP}} 157 internalip: {{.PrivateIP}} 158 labels: 159 com.integrationtest/worker: true{{end}} 160 ingress: 161 expected_count: {{len .Ingress}} 162 nodes:{{range .Ingress}} 163 - host: {{.Hostname}} 164 ip: {{.PublicIP}} 165 internalip: {{.PrivateIP}} 166 labels: 167 com.integrationtest/ingress: true{{end}} 168 storage: 169 expected_count: {{len .Storage}} 170 nodes:{{range .Storage}} 171 - host: {{.Hostname}} 172 ip: {{.PublicIP}} 173 internalip: {{.PrivateIP}} 174 labels: 175 com.integrationtest/storage: true{{end}} 176 nfs: 177 nfs_volume:{{range .NFSVolume}} 178 - nfs_host: {{.Host}} 179 mount_path: /{{end}} 180 `