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