@@ -91,71 +91,6 @@ func run() error {
91
91
flags .AddGoFlagSet (flag .CommandLine )
92
92
flags .Parse (os .Args )
93
93
94
- var cloudProvider protokube.CloudProvider
95
- if cloud == "aws" {
96
- awsCloudProvider , err := protokube .NewAWSCloudProvider ()
97
- if err != nil {
98
- klog .Errorf ("Error initializing AWS: %q" , err )
99
- os .Exit (1 )
100
- }
101
- cloudProvider = awsCloudProvider
102
-
103
- } else if cloud == "digitalocean" {
104
- doCloudProvider , err := protokube .NewDOCloudProvider ()
105
- if err != nil {
106
- klog .Errorf ("Error initializing DigitalOcean: %q" , err )
107
- os .Exit (1 )
108
- }
109
- cloudProvider = doCloudProvider
110
-
111
- } else if cloud == "hetzner" {
112
- hetznerCloudProvider , err := protokube .NewHetznerCloudProvider ()
113
- if err != nil {
114
- klog .Errorf ("error initializing Hetzner Cloud: %q" , err )
115
- os .Exit (1 )
116
- }
117
- cloudProvider = hetznerCloudProvider
118
-
119
- } else if cloud == "gce" {
120
- gceCloudProvider , err := protokube .NewGCECloudProvider ()
121
- if err != nil {
122
- klog .Errorf ("Error initializing GCE: %q" , err )
123
- os .Exit (1 )
124
- }
125
-
126
- cloudProvider = gceCloudProvider
127
-
128
- } else if cloud == "openstack" {
129
- osCloudProvider , err := protokube .NewOpenStackCloudProvider ()
130
- if err != nil {
131
- klog .Errorf ("Error initializing OpenStack: %q" , err )
132
- os .Exit (1 )
133
- }
134
- cloudProvider = osCloudProvider
135
-
136
- } else if cloud == "azure" {
137
- azureVolumes , err := protokube .NewAzureCloudProvider ()
138
- if err != nil {
139
- klog .Errorf ("Error initializing Azure: %q" , err )
140
- os .Exit (1 )
141
- }
142
- cloudProvider = azureVolumes
143
-
144
- } else if cloud == "scaleway" {
145
- scwCloudProvider , err := protokube .NewScwCloudProvider ()
146
- if err != nil {
147
- klog .Errorf ("Error initializing Scaleway: %q" , err )
148
- os .Exit (1 )
149
- }
150
- cloudProvider = scwCloudProvider
151
-
152
- } else if cloud == "metal" {
153
- cloudProvider = nil
154
- } else {
155
- klog .Errorf ("Unknown cloud %q" , cloud )
156
- os .Exit (1 )
157
- }
158
-
159
94
if dnsInternalSuffix == "" {
160
95
if clusterID == "" {
161
96
return fmt .Errorf ("cluster-id is required when dns-internal-suffix is not set" )
@@ -164,7 +99,6 @@ func run() error {
164
99
dnsInternalSuffix = ".internal." + clusterID
165
100
klog .Infof ("Setting dns-internal-suffix to %q" , dnsInternalSuffix )
166
101
}
167
-
168
102
// Make sure it's actually a suffix (starts with .)
169
103
if ! strings .HasPrefix (dnsInternalSuffix , "." ) {
170
104
dnsInternalSuffix = "." + dnsInternalSuffix
@@ -174,10 +108,74 @@ func run() error {
174
108
if containerized {
175
109
rootfs = "/rootfs/"
176
110
}
177
-
178
111
protokube .RootFS = rootfs
179
112
180
113
if gossip {
114
+ var cloudProvider protokube.CloudProvider
115
+ if cloud == "aws" {
116
+ awsCloudProvider , err := protokube .NewAWSCloudProvider ()
117
+ if err != nil {
118
+ klog .Errorf ("Error initializing AWS: %q" , err )
119
+ os .Exit (1 )
120
+ }
121
+ cloudProvider = awsCloudProvider
122
+
123
+ } else if cloud == "digitalocean" {
124
+ doCloudProvider , err := protokube .NewDOCloudProvider ()
125
+ if err != nil {
126
+ klog .Errorf ("Error initializing DigitalOcean: %q" , err )
127
+ os .Exit (1 )
128
+ }
129
+ cloudProvider = doCloudProvider
130
+
131
+ } else if cloud == "hetzner" {
132
+ hetznerCloudProvider , err := protokube .NewHetznerCloudProvider ()
133
+ if err != nil {
134
+ klog .Errorf ("error initializing Hetzner Cloud: %q" , err )
135
+ os .Exit (1 )
136
+ }
137
+ cloudProvider = hetznerCloudProvider
138
+
139
+ } else if cloud == "gce" {
140
+ gceCloudProvider , err := protokube .NewGCECloudProvider ()
141
+ if err != nil {
142
+ klog .Errorf ("Error initializing GCE: %q" , err )
143
+ os .Exit (1 )
144
+ }
145
+
146
+ cloudProvider = gceCloudProvider
147
+
148
+ } else if cloud == "openstack" {
149
+ osCloudProvider , err := protokube .NewOpenStackCloudProvider ()
150
+ if err != nil {
151
+ klog .Errorf ("Error initializing OpenStack: %q" , err )
152
+ os .Exit (1 )
153
+ }
154
+ cloudProvider = osCloudProvider
155
+
156
+ } else if cloud == "azure" {
157
+ azureVolumes , err := protokube .NewAzureCloudProvider ()
158
+ if err != nil {
159
+ klog .Errorf ("Error initializing Azure: %q" , err )
160
+ os .Exit (1 )
161
+ }
162
+ cloudProvider = azureVolumes
163
+
164
+ } else if cloud == "scaleway" {
165
+ scwCloudProvider , err := protokube .NewScwCloudProvider ()
166
+ if err != nil {
167
+ klog .Errorf ("Error initializing Scaleway: %q" , err )
168
+ os .Exit (1 )
169
+ }
170
+ cloudProvider = scwCloudProvider
171
+
172
+ } else if cloud == "metal" {
173
+ cloudProvider = nil
174
+ } else {
175
+ klog .Errorf ("Unknown cloud %q" , cloud )
176
+ os .Exit (1 )
177
+ }
178
+
181
179
if cloudProvider == nil {
182
180
return fmt .Errorf ("gossip not supported with cloudprovider %q" , cloud )
183
181
}
0 commit comments