@@ -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,37 @@ 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
+ var err error
116
+ switch cloud {
117
+ case "aws" :
118
+ cloudProvider , err = protokube .NewAWSCloudProvider ()
119
+ case "digitalocean" :
120
+ cloudProvider , err = protokube .NewDOCloudProvider ()
121
+ case "hetzner" :
122
+ cloudProvider , err = protokube .NewHetznerCloudProvider ()
123
+ case "gce" :
124
+ cloudProvider , err = protokube .NewGCECloudProvider ()
125
+ case "openstack" :
126
+ cloudProvider , err = protokube .NewOpenStackCloudProvider ()
127
+ case "azure" :
128
+ cloudProvider , err = protokube .NewAzureCloudProvider ()
129
+ case "scaleway" :
130
+ cloudProvider , err = protokube .NewScwCloudProvider ()
131
+ case "metal" :
132
+ cloudProvider = nil
133
+ default :
134
+ klog .Errorf ("Unknown cloud %q" , cloud )
135
+ os .Exit (1 )
136
+ }
137
+ if err != nil {
138
+ klog .Errorf ("Error initializing cloud %q: %s" , cloud , err )
139
+ os .Exit (1 )
140
+ }
141
+
181
142
if cloudProvider == nil {
182
143
return fmt .Errorf ("gossip not supported with cloudprovider %q" , cloud )
183
144
}
0 commit comments