programs

package
v1.2.7 Latest Latest
Warning

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

Go to latest
Published: Apr 21, 2019 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ServerFolder   string
	TemplateFolder string
)

Functions

func Create

func Create(id string, serverType string, data map[string]interface{}) bool

func Delete

func Delete(id string) (err error)

func GetPlugin added in v1.1.2

func GetPlugin(name string) (interface{}, error)

func GetPluginReadme added in v1.2.5

func GetPluginReadme(name string) (string, error)

func GetPlugins

func GetPlugins() map[string]interface{}

func InitService added in v1.2.2

func InitService()

func Initialize

func Initialize()

func LoadFromFolder

func LoadFromFolder()

func Reload

func Reload(id string) (err error)

func Save

func Save(id string) (err error)

func ShutdownService added in v1.2.2

func ShutdownService()

func StartViaService added in v1.2.2

func StartViaService(p Program)

Types

type DataObject added in v1.2.0

type DataObject struct {
	Description  string      `json:"desc,omitempty"`
	Display      string      `json:"display,omitempty"`
	Internal     bool        `json:"internal,omitempty"`
	Required     bool        `json:"required,omitempty"`
	Value        interface{} `json:"value,omitempty"`
	UserEditable bool        `json:"userEdit,omitempty"`
}

type InstallSection added in v1.2.0

type InstallSection struct {
	Operations []map[string]interface{} `json:"commands,,omitempty"`
}

type Program

type Program interface {
	//Starts the program.
	//This includes starting the environment if it is not running.
	Start() (err error)

	//Stops the program.
	//This will also stop the environment it is ran in.
	Stop() (err error)

	//Kills the program.
	//This will also stop the environment it is ran in.
	Kill() (err error)

	//Creates any files needed for the program.
	//This includes creating the environment.
	Create() (err error)

	//Destroys the server.
	//This will delete the server, environment, and any files related to it.
	Destroy() (err error)

	Install() (err error)

	//Determines if the server is running.
	IsRunning() (isRunning bool, err error)

	//Sends a command to the process
	//If the program supports input, this will send the arguments to that.
	Execute(command string) (err error)

	SetEnabled(isEnabled bool) (err error)

	IsEnabled() (isEnabled bool)

	SetAutoStart(isAutoStart bool) (err error)

	IsAutoStart() (isAutoStart bool)

	SetEnvironment(environment environments.Environment) (err error)

	Id() string

	GetEnvironment() environments.Environment

	Save(file string) (err error)

	Edit(data map[string]interface{}) (err error)

	GetData() map[string]DataObject

	GetNetwork() string
}

func Get

func Get(id string) (program Program, err error)

func GetAll

func GetAll() []Program

func GetFromCache

func GetFromCache(id string) Program

func Load

func Load(id string) (program Program, err error)

func LoadFromData

func LoadFromData(id string, source []byte) (program Program, err error)

type ProgramData added in v1.2.0

type ProgramData struct {
	Data            map[string]DataObject  `json:"data,omitempty"`
	Display         string                 `json:"display,omitempty"`
	EnvironmentData map[string]interface{} `json:"environment,omitempty"`
	InstallData     InstallSection         `json:"install,omitempty"`
	UninstallData   InstallSection         `json:"uninstall,omitempty"`
	Type            string                 `json:"type,omitempty"`
	Identifier      string                 `json:"id,omitempty"`
	RunData         RunObject              `json:"run,omitempty"`
	Template        string                 `json:"template,omitempty"`

	Environment  environments.Environment `json:"-"`
	CrashCounter int                      `json:"-"`
}

func CreateProgram added in v1.2.0

func CreateProgram() ProgramData

func (*ProgramData) CopyFrom added in v1.2.2

func (p *ProgramData) CopyFrom(s *ProgramData)

func (*ProgramData) Create added in v1.2.0

func (p *ProgramData) Create() (err error)

Creates any files needed for the program. This includes creating the environment.

func (ProgramData) DataToMap added in v1.2.0

func (p ProgramData) DataToMap() map[string]interface{}

func (*ProgramData) Destroy added in v1.2.0

func (p *ProgramData) Destroy() (err error)

Destroys the server. This will delete the server, environment, and any files related to it.

func (*ProgramData) Edit added in v1.2.0

func (p *ProgramData) Edit(data map[string]interface{}) (err error)

func (*ProgramData) Execute added in v1.2.0

func (p *ProgramData) Execute(command string) (err error)

Sends a command to the process If the program supports input, this will send the arguments to that.

func (*ProgramData) GetData added in v1.2.0

func (p *ProgramData) GetData() map[string]DataObject

func (*ProgramData) GetEnvironment added in v1.2.0

func (p *ProgramData) GetEnvironment() environments.Environment

func (*ProgramData) GetNetwork added in v1.2.0

func (p *ProgramData) GetNetwork() string

func (*ProgramData) Id added in v1.2.0

func (p *ProgramData) Id() string

func (*ProgramData) Install added in v1.2.0

func (p *ProgramData) Install() (err error)

func (*ProgramData) IsAutoStart added in v1.2.0

func (p *ProgramData) IsAutoStart() (isAutoStart bool)

func (*ProgramData) IsEnabled added in v1.2.0

func (p *ProgramData) IsEnabled() (isEnabled bool)

func (*ProgramData) IsRunning added in v1.2.0

func (p *ProgramData) IsRunning() (isRunning bool, err error)

Determines if the server is running.

func (*ProgramData) Kill added in v1.2.0

func (p *ProgramData) Kill() (err error)

Kills the program. This will also stop the environment it is ran in.

func (*ProgramData) Save added in v1.2.0

func (p *ProgramData) Save(file string) (err error)

func (*ProgramData) SetAutoStart added in v1.2.0

func (p *ProgramData) SetAutoStart(isAutoStart bool) (err error)

func (*ProgramData) SetEnabled added in v1.2.0

func (p *ProgramData) SetEnabled(isEnabled bool) (err error)

func (*ProgramData) SetEnvironment added in v1.2.0

func (p *ProgramData) SetEnvironment(environment environments.Environment) (err error)

func (*ProgramData) Start added in v1.2.0

func (p *ProgramData) Start() (err error)

Starts the program. This includes starting the environment if it is not running.

func (*ProgramData) Stop added in v1.2.0

func (p *ProgramData) Stop() (err error)

Stops the program. This will also stop the environment it is ran in.

type ProgramTemplate added in v1.2.5

type ProgramTemplate struct {
	Core ProgramTemplateData `json:"pufferd"`
}

func (ProgramTemplate) Create added in v1.2.5

func (pt ProgramTemplate) Create(environment map[string]interface{}) Program

type ProgramTemplateData added in v1.2.5

type ProgramTemplateData struct {
	ProgramData
	SupportedEnvironments map[string]interface{} `json:"supportedEnvironments"`
}

type RunObject added in v1.2.0

type RunObject struct {
	Arguments               []string                 `json:"arguments,omitempty"`
	Program                 string                   `json:"program,omitempty"`
	Stop                    string                   `json:"stop,omitempty"`
	Enabled                 bool                     `json:"enabled,omitempty"`
	AutoStart               bool                     `json:"autostart,omitempty"`
	AutoRestartFromCrash    bool                     `json:"autorecover,omitempty"`
	AutoRestartFromGraceful bool                     `json:"autorestart,omitempty"`
	Pre                     []map[string]interface{} `json:"pre,omitempty"`
	Post                    []map[string]interface{} `json:"post,omitempty"`
	StopCode                int                      `json:"stopCode,omitempty"`
	EnvironmentVariables    map[string]string        `json:"environmentVars,omitempty"`
}

type ServerJson added in v1.2.4

type ServerJson struct {
	ProgramData ProgramData `json:"pufferd"`
}

Jump to

Keyboard shortcuts

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