Skip to content

Commit 7a23a1b

Browse files
authored
Add the option to change SSH_USER and SSH_PORT
1 parent 81087ed commit 7a23a1b

File tree

1 file changed

+29
-2
lines changed

1 file changed

+29
-2
lines changed

driver.go

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,17 @@ const (
7676
flagPlacementGroup = "hetzner-placement-group"
7777
flagAutoSpread = "hetzner-auto-spread"
7878

79+
flagSshUser = "hetzner-ssh-user"
80+
flagSshPort = "hetzner-ssh-port"
81+
7982
labelNamespace = "docker-machine"
8083
labelAutoSpreadPg = "auto-spread"
8184
labelAutoCreated = "auto-created"
8285

8386
autoSpreadPgName = "__auto_spread"
87+
88+
defaultSSHPort = 22
89+
defaultSSHUser = "root"
8490
)
8591

8692
// NewDriver initializes a new driver instance; see [drivers.Driver.NewDriver]
@@ -90,8 +96,6 @@ func NewDriver() *Driver {
9096
Type: defaultType,
9197
IsExistingKey: false,
9298
BaseDriver: &drivers.BaseDriver{
93-
SSHUser: drivers.DefaultSSHUser,
94-
SSHPort: drivers.DefaultSSHPort,
9599
},
96100
}
97101
}
@@ -203,6 +207,18 @@ func (d *Driver) GetCreateFlags() []mcnflag.Flag {
203207
Name: flagAutoSpread,
204208
Usage: "Auto-spread on a docker-machine-specific default placement group",
205209
},
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+
},
206222
}
207223
}
208224

@@ -224,6 +240,9 @@ func (d *Driver) SetConfigFromFlags(opts drivers.DriverOptions) error {
224240
d.Firewalls = opts.StringSlice(flagFirewalls)
225241
d.AdditionalKeys = opts.StringSlice(flagAdditionalKeys)
226242

243+
d.SSHUser = opts.String(flagSshUser)
244+
d.SSHPort = opts.Int(flagSshPort)
245+
227246
d.placementGroup = opts.String(flagPlacementGroup)
228247
if opts.Bool(flagAutoSpread) {
229248
if d.placementGroup != "" {
@@ -250,6 +269,14 @@ func (d *Driver) SetConfigFromFlags(opts drivers.DriverOptions) error {
250269
return nil
251270
}
252271

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+
253280
func (d *Driver) setLabelsFromFlags(opts drivers.DriverOptions) error {
254281
d.ServerLabels = make(map[string]string)
255282
for _, label := range opts.StringSlice(flagServerLabel) {

0 commit comments

Comments
 (0)