Documentation
¶
Index ¶
- Variables
- func NewServers(r *Repository, a *config.AppConfig)
- type Repository
- func (m *Repository) AddSSHKeyToDigitalOcean() error
- func (m *Repository) DigitalOceanCreateServer(server models.Server) (models.Server, error)
- func (m *Repository) DigitalOceanDeleteAll() error
- func (m *Repository) DigitalOceanDeleteServer(serverID int) error
- func (m *Repository) DigitalOceanRefreshVPS() ([]models.Server, error)
- func (m *Repository) LinodeCreateServer(server models.Server) (models.Server, error)
- func (m *Repository) LinodeDeleteAll() error
- func (m *Repository) LinodeDeleteServer(serverID int) error
- type TokenSource
Constants ¶
This section is empty.
Variables ¶
var Tags = []string{"boxer"}
The first item in this slice should always be the application identifier This tag will be added to all VPSs on cloud services
Functions ¶
func NewServers ¶
func NewServers(r *Repository, a *config.AppConfig)
NewServer sets the repository for the servers
Types ¶
type Repository ¶
type Repository struct {
App *config.AppConfig
DB repository.DatabaseRepo
}
var Repo *Repository
func NewRepo ¶
func NewRepo(a *config.AppConfig, db *driver.DB) *Repository
NewRepo sets the db repo for SQLite3
func (*Repository) AddSSHKeyToDigitalOcean ¶
func (m *Repository) AddSSHKeyToDigitalOcean() error
AddSSHKey removes all SSH keys from the account and adds a new one
func (*Repository) DigitalOceanCreateServer ¶
DigitalOceanCreateServer creates a droplet on Digital Ocean and returns the server object with the IP address
func (*Repository) DigitalOceanDeleteAll ¶
func (m *Repository) DigitalOceanDeleteAll() error
DigitalOceanDeleteAll deletes all servers created in digital ocean with specified tag
func (*Repository) DigitalOceanDeleteServer ¶
func (m *Repository) DigitalOceanDeleteServer(serverID int) error
DigitalOceanDeleteServer deletes a server from digital ocean based on serverID
func (*Repository) DigitalOceanRefreshVPS ¶
func (m *Repository) DigitalOceanRefreshVPS() ([]models.Server, error)
DigitalOceanRefreshVPS refreshes the list of servers currently deployed on Digital Ocean
func (*Repository) LinodeCreateServer ¶
LinodeCreateServer creates a VPS in Linode based on model
func (*Repository) LinodeDeleteAll ¶
func (m *Repository) LinodeDeleteAll() error
LinodeDeleteAll deletes all VPS hosted on Linode with specified tag
func (*Repository) LinodeDeleteServer ¶
func (m *Repository) LinodeDeleteServer(serverID int) error
LinodeDeleteServer destroys a VPS based on serverID
type TokenSource ¶
type TokenSource struct {
AccessToken string
}
TokenSource is an oauth2.TokenSource which returns a static access token