digitalocean

package
v0.0.0-...-6054725 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const ProviderName = "do"

ProviderName of the cloud platform provider

Variables

This section is empty.

Functions

This section is empty.

Types

type DigitalOcean

type DigitalOcean struct {
	Storage *Spaces
	Client  *godo.Client
}

DigitalOcean Provider to interact with DigitalOcean cloud infrastructure

func NewProvider

func NewProvider() *DigitalOcean

NewProvider DigitalOcean

func (*DigitalOcean) AttachVolume

func (do *DigitalOcean) AttachVolume(ctx *lepton.Context, image, name string, attachID int) error

AttachVolume is a stub to satisfy VolumeService interface

func (*DigitalOcean) BuildImage

func (do *DigitalOcean) BuildImage(ctx *lepton.Context) (string, error)

BuildImage to be upload on DO

func (*DigitalOcean) BuildImageWithPackage

func (do *DigitalOcean) BuildImageWithPackage(ctx *lepton.Context, pkgpath string) (string, error)

BuildImageWithPackage to upload on DO .

func (*DigitalOcean) CreateImage

func (do *DigitalOcean) CreateImage(ctx *lepton.Context, imagePath string) error

CreateImage - Creates image on DO using nanos images converts to qcow2 first

func (*DigitalOcean) CreateInstance

func (do *DigitalOcean) CreateInstance(ctx *lepton.Context) error

CreateInstance - Creates instance on Digital Ocean Platform

func (*DigitalOcean) CreateVolume

func (do *DigitalOcean) CreateVolume(ctx *lepton.Context, name, data, provider string) (lepton.NanosVolume, error)

CreateVolume is a stub to satisfy VolumeService interface

func (*DigitalOcean) CustomizeImage

func (do *DigitalOcean) CustomizeImage(ctx *lepton.Context) (string, error)

CustomizeImage returns image path with adaptations needed by cloud provider

func (*DigitalOcean) DeleteImage

func (do *DigitalOcean) DeleteImage(ctx *lepton.Context, imagename string) error

DeleteImage deletes image from DO

func (*DigitalOcean) DeleteInstance

func (do *DigitalOcean) DeleteInstance(ctx *lepton.Context, instancename string) error

DeleteInstance deletes instance from DO

func (*DigitalOcean) DeleteVolume

func (do *DigitalOcean) DeleteVolume(ctx *lepton.Context, name string) error

DeleteVolume is a stub to satisfy VolumeService interface

func (*DigitalOcean) DetachVolume

func (do *DigitalOcean) DetachVolume(ctx *lepton.Context, image, name string) error

DetachVolume is a stub to satisfy VolumeService interface

func (*DigitalOcean) GetAllVolumes

func (do *DigitalOcean) GetAllVolumes(ctx *lepton.Context) (*[]lepton.NanosVolume, error)

GetAllVolumes is a stub to satisfy VolumeService interface

func (*DigitalOcean) GetImages

func (do *DigitalOcean) GetImages(ctx *lepton.Context) ([]lepton.CloudImage, error)

GetImages return all images on DigitalOcean

func (*DigitalOcean) GetInstanceByName

func (do *DigitalOcean) GetInstanceByName(ctx *lepton.Context, name string) (*lepton.CloudInstance, error)

GetInstanceByName returns instance with given name

func (*DigitalOcean) GetInstanceLogs

func (do *DigitalOcean) GetInstanceLogs(ctx *lepton.Context, instancename string) (string, error)

GetInstanceLogs gets instance related logs

func (*DigitalOcean) GetInstances

func (do *DigitalOcean) GetInstances(ctx *lepton.Context) ([]lepton.CloudInstance, error)

GetInstances return all instances on DigitalOcean TODO

func (*DigitalOcean) GetStorage

func (do *DigitalOcean) GetStorage() lepton.Storage

GetStorage returns storage interface for cloud provider

func (*DigitalOcean) GetVPC

func (do *DigitalOcean) GetVPC(ctx *lepton.Context, vpcName string) (*godo.VPC, error)

GetVPC returns a vpc by vpc name and zone

func (*DigitalOcean) Initialize

func (do *DigitalOcean) Initialize(c *types.ProviderConfig) error

Initialize DigialOcean related things

func (*DigitalOcean) ListImages

func (do *DigitalOcean) ListImages(ctx *lepton.Context) error

ListImages lists images on Digital Ocean.

func (*DigitalOcean) ListInstances

func (do *DigitalOcean) ListInstances(ctx *lepton.Context) error

ListInstances lists instances on DO

func (*DigitalOcean) PrintInstanceLogs

func (do *DigitalOcean) PrintInstanceLogs(ctx *lepton.Context, instancename string, watch bool) error

PrintInstanceLogs writes instance logs to console

func (*DigitalOcean) RebootInstance

func (do *DigitalOcean) RebootInstance(ctx *lepton.Context, instanceName string) error

RebootInstance reboots the instance.

func (*DigitalOcean) ResizeImage

func (do *DigitalOcean) ResizeImage(ctx *lepton.Context, imagename string, hbytes string) error

ResizeImage is not supported on Digital Ocean.

func (*DigitalOcean) StartInstance

func (do *DigitalOcean) StartInstance(ctx *lepton.Context, instancename string) error

StartInstance starts an instance in DO

func (*DigitalOcean) StopInstance

func (do *DigitalOcean) StopInstance(ctx *lepton.Context, instancename string) error

StopInstance deletes instance from DO

func (*DigitalOcean) SyncImage

func (do *DigitalOcean) SyncImage(config *types.Config, target lepton.Provider, image string) error

SyncImage syncs image from provider to another provider

type Spaces

type Spaces struct{}

Spaces provides Digital Ocean storage related operations

func (*Spaces) CopyToBucket

func (s *Spaces) CopyToBucket(config *types.Config, archPath string) error

CopyToBucket copies archive to bucket

func (*Spaces) DeleteFromBucket

func (s *Spaces) DeleteFromBucket(config *types.Config, key string) error

DeleteFromBucket deletes key from config's bucket

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL