Skip to content

Commit 7ac9eec

Browse files
Comment public interface
1 parent 06c6c3f commit 7ac9eec

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

driver.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"golang.org/x/crypto/ssh"
2121
)
2222

23+
// Driver contains hetzner-specific data to implement [drivers.Driver]
2324
type Driver struct {
2425
*drivers.BaseDriver
2526

@@ -70,6 +71,7 @@ const (
7071
flagServerLabel = "hetzner-server-label"
7172
)
7273

74+
// NewDriver initializes a new driver instance; see [drivers.Driver.NewDriver]
7375
func NewDriver() *Driver {
7476
return &Driver{
7577
Image: defaultImage,
@@ -83,10 +85,12 @@ func NewDriver() *Driver {
8385
}
8486
}
8587

88+
// DriverName returns the hard-coded string "hetzner"; see [drivers.Driver.DriverName]
8689
func (d *Driver) DriverName() string {
8790
return "hetzner"
8891
}
8992

93+
// GetCreateFlags retrieves additional driver-specific arguments; see [drivers.Driver.GetCreateFlags]
9094
func (d *Driver) GetCreateFlags() []mcnflag.Flag {
9195
return []mcnflag.Flag{
9296
mcnflag.StringFlag{
@@ -174,6 +178,8 @@ func (d *Driver) GetCreateFlags() []mcnflag.Flag {
174178
}
175179
}
176180

181+
// SetConfigFromFlags handles additional driver arguments as retrieved by [Driver.GetCreateFlags];
182+
// see [drivers.Driver.SetConfigFromFlags]
177183
func (d *Driver) SetConfigFromFlags(opts drivers.DriverOptions) error {
178184
d.AccessToken = opts.String(flagAPIToken)
179185
d.Image = opts.String(flagImage)
@@ -220,6 +226,7 @@ func (d *Driver) setLabelsFromFlags(opts drivers.DriverOptions) error {
220226
return nil
221227
}
222228

229+
// PreCreateCheck validates the Driver data is in a valid state for creation; see [drivers.Driver.PreCreateCheck]
223230
func (d *Driver) PreCreateCheck() error {
224231
if d.IsExistingKey {
225232
if d.originalKey == "" {
@@ -267,6 +274,7 @@ func (d *Driver) PreCreateCheck() error {
267274
return nil
268275
}
269276

277+
// Create actually creates the hetzner-cloud server; see [drivers.Driver.Create]
270278
func (d *Driver) Create() error {
271279
if d.originalKey != "" {
272280
log.Debugf("Copying SSH key...")
@@ -471,10 +479,12 @@ func (d *Driver) destroyDanglingKeys() {
471479
}
472480
}
473481

482+
// GetSSHHostname retrieves the SSH host to connect to the machine; see [drivers.Driver.GetSSHHostname]
474483
func (d *Driver) GetSSHHostname() (string, error) {
475484
return d.GetIP()
476485
}
477486

487+
// GetURL retrieves the URL of the docker daemon on the machine; see [drivers.Driver.GetURL]
478488
func (d *Driver) GetURL() (string, error) {
479489
if err := drivers.MustBeRunning(d); err != nil {
480490
return "", errors.Wrap(err, "could not execute drivers.MustBeRunning")
@@ -488,6 +498,7 @@ func (d *Driver) GetURL() (string, error) {
488498
return fmt.Sprintf("tcp://%s", net.JoinHostPort(ip, "2376")), nil
489499
}
490500

501+
// GetState retrieves the state the machine is currently in; see [drivers.Driver.GetState]
491502
func (d *Driver) GetState() (state.State, error) {
492503
srv, _, err := d.getClient().Server.GetByID(context.Background(), d.ServerID)
493504
if err != nil {
@@ -508,6 +519,7 @@ func (d *Driver) GetState() (state.State, error) {
508519
return state.None, nil
509520
}
510521

522+
// Remove deletes the hetzner server and additional resources created during creation; see [drivers.Driver.Remove]
511523
func (d *Driver) Remove() error {
512524
if d.ServerID != 0 {
513525
srv, err := d.getServerHandle()
@@ -562,6 +574,7 @@ func (d *Driver) Remove() error {
562574
return nil
563575
}
564576

577+
// Restart instructs the hetzner cloud server to reboot; see [drivers.Driver.Restart]
565578
func (d *Driver) Restart() error {
566579
srv, err := d.getServerHandle()
567580
if err != nil {
@@ -581,6 +594,7 @@ func (d *Driver) Restart() error {
581594
return d.waitForAction(act)
582595
}
583596

597+
// Start instructs the hetzner cloud server to power up; see [drivers.Driver.Start]
584598
func (d *Driver) Start() error {
585599
srv, err := d.getServerHandle()
586600
if err != nil {
@@ -600,6 +614,7 @@ func (d *Driver) Start() error {
600614
return d.waitForAction(act)
601615
}
602616

617+
// Stop instructs the hetzner cloud server to shut down; see [drivers.Driver.Stop]
603618
func (d *Driver) Stop() error {
604619
srv, err := d.getServerHandle()
605620
if err != nil {
@@ -619,6 +634,7 @@ func (d *Driver) Stop() error {
619634
return d.waitForAction(act)
620635
}
621636

637+
// Kill forcefully shuts down the hetzner cloud server; see [drivers.Driver.Kill]
622638
func (d *Driver) Kill() error {
623639
srv, err := d.getServerHandle()
624640
if err != nil {

0 commit comments

Comments
 (0)