@@ -76,11 +76,17 @@ const (
76
76
flagPlacementGroup = "hetzner-placement-group"
77
77
flagAutoSpread = "hetzner-auto-spread"
78
78
79
+ flagSshUser = "hetzner-ssh-user"
80
+ flagSshPort = "hetzner-ssh-port"
81
+
79
82
labelNamespace = "docker-machine"
80
83
labelAutoSpreadPg = "auto-spread"
81
84
labelAutoCreated = "auto-created"
82
85
83
86
autoSpreadPgName = "__auto_spread"
87
+
88
+ defaultSSHPort = 22
89
+ defaultSSHUser = "root"
84
90
)
85
91
86
92
// NewDriver initializes a new driver instance; see [drivers.Driver.NewDriver]
@@ -90,8 +96,6 @@ func NewDriver() *Driver {
90
96
Type : defaultType ,
91
97
IsExistingKey : false ,
92
98
BaseDriver : & drivers.BaseDriver {
93
- SSHUser : drivers .DefaultSSHUser ,
94
- SSHPort : drivers .DefaultSSHPort ,
95
99
},
96
100
}
97
101
}
@@ -203,6 +207,18 @@ func (d *Driver) GetCreateFlags() []mcnflag.Flag {
203
207
Name : flagAutoSpread ,
204
208
Usage : "Auto-spread on a docker-machine-specific default placement group" ,
205
209
},
210
+ mcnflag.StringFlag {
211
+ EnvVar : "HETZNER_SSH_USER" ,
212
+ Name : flagSshUser ,
213
+ Usage : "SSH username" ,
214
+ Value : defaultSSHUser ,
215
+ },
216
+ mcnflag.IntFlag {
217
+ EnvVar : "HETZNER_SSH_PORT" ,
218
+ Name : flagSshPort ,
219
+ Usage : "SSH port" ,
220
+ Value : defaultSSHPort ,
221
+ },
206
222
}
207
223
}
208
224
@@ -224,6 +240,9 @@ func (d *Driver) SetConfigFromFlags(opts drivers.DriverOptions) error {
224
240
d .Firewalls = opts .StringSlice (flagFirewalls )
225
241
d .AdditionalKeys = opts .StringSlice (flagAdditionalKeys )
226
242
243
+ d .SSHUser = opts .String (flagSshUser )
244
+ d .SSHPort = opts .Int (flagSshPort )
245
+
227
246
d .placementGroup = opts .String (flagPlacementGroup )
228
247
if opts .Bool (flagAutoSpread ) {
229
248
if d .placementGroup != "" {
@@ -250,6 +269,14 @@ func (d *Driver) SetConfigFromFlags(opts drivers.DriverOptions) error {
250
269
return nil
251
270
}
252
271
272
+ func (d * Driver ) GetSSHUsername () string {
273
+ return d .SSHUser
274
+ }
275
+
276
+ func (d * Driver ) GetSSHPort () (int , error ) {
277
+ return d .SSHPort , nil
278
+ }
279
+
253
280
func (d * Driver ) setLabelsFromFlags (opts drivers.DriverOptions ) error {
254
281
d .ServerLabels = make (map [string ]string )
255
282
for _ , label := range opts .StringSlice (flagServerLabel ) {
0 commit comments