fish

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Oct 31, 2022 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const ELECTION_ROUND_TIME = 30

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Directory string `json:"directory"` // Where to store database and other useful data (if relative - to CWD)

	APIAddress   string   `json:"api_address"`   // Where to serve Web UI, API & Meta API
	ProxyAddress string   `json:"proxy_address"` // Where to serve SOCKS5 proxy for the allocated resources
	NodeAddress  string   `json:"node_address"`  // What is the external address of the node
	ClusterJoin  []string `json:"cluster_join"`  // The node addresses to join the cluster

	TLSKey   string `json:"tls_key"`    // TLS PEM private key (if relative - to directory)
	TLSCrt   string `json:"tls_crt"`    // TLS PEM public certificate (if relative - to directory)
	TLSCaCrt string `json:"tls_ca_crt"` // TLS PEM certificate authority certificate (if relative - to directory)

	NodeName     string `json:"node_name"`     // Last resort in case you need to override the default host node name
	NodeLocation string `json:"node_location"` // Specify cluster node location for multi-dc configurations
	NodeSlots    int    `json:"node_slots"`    // General definition of available parallel executors (1 by default, -1 to disable)

	Drivers []ConfigDriver `json:"drivers"` // If specified - only the listed plugins will be loaded
}

func (*Config) ReadConfigFile

func (c *Config) ReadConfigFile(cfg_path string) error

type ConfigDriver

type ConfigDriver struct {
	Name string            `json:"name"`
	Cfg  util.UnparsedJson `json:"cfg"`
}

type Fish

type Fish struct {
	// contains filtered or unexported fields
}

func New

func New(db *gorm.DB, cfg *Config) (*Fish, error)

func (*Fish) ApplicationCreate

func (f *Fish) ApplicationCreate(a *types.Application) error

func (*Fish) ApplicationFind

func (f *Fish) ApplicationFind(filter *string) (as []types.Application, err error)

func (*Fish) ApplicationGet

func (f *Fish) ApplicationGet(uid types.ApplicationUID) (a *types.Application, err error)

func (*Fish) ApplicationIsAllocated

func (f *Fish) ApplicationIsAllocated(app_uid types.ApplicationUID) (err error)

func (*Fish) ApplicationListGetStatusNew

func (f *Fish) ApplicationListGetStatusNew() (as []types.Application, err error)

func (*Fish) ApplicationSnapshot

func (f *Fish) ApplicationSnapshot(app *types.Application, full bool) (string, error)

func (*Fish) ApplicationStateCreate

func (f *Fish) ApplicationStateCreate(as *types.ApplicationState) error

func (*Fish) ApplicationStateGet

func (f *Fish) ApplicationStateGet(uid types.ApplicationStateUID) (as *types.ApplicationState, err error)

func (*Fish) ApplicationStateGetByApplication

func (f *Fish) ApplicationStateGetByApplication(app_uid types.ApplicationUID) (as *types.ApplicationState, err error)

func (*Fish) ApplicationStateIsActive

func (f *Fish) ApplicationStateIsActive(status types.ApplicationStateStatus) bool

Return false if Status in ERROR, DEALLOCATE or DEALLOCATED state

func (*Fish) ApplicationStateList

func (f *Fish) ApplicationStateList() (ass []types.ApplicationState, err error)

func (*Fish) Close

func (f *Fish) Close()

func (*Fish) DriverGet

func (f *Fish) DriverGet(name string) drivers.ResourceDriver

func (*Fish) DriversPrepare

func (f *Fish) DriversPrepare(configs []ConfigDriver) (errs []error)

func (*Fish) DriversSet

func (f *Fish) DriversSet() error

func (*Fish) GetLocationName

func (f *Fish) GetLocationName() types.LocationName

func (*Fish) GetNodeUID

func (f *Fish) GetNodeUID() types.ApplicationUID

func (*Fish) Init

func (f *Fish) Init() error

func (*Fish) LabelCreate

func (f *Fish) LabelCreate(l *types.Label) error

func (*Fish) LabelDelete

func (f *Fish) LabelDelete(uid types.LabelUID) error

func (*Fish) LabelFind

func (f *Fish) LabelFind(filter *string) (labels []types.Label, err error)

func (*Fish) LabelGet

func (f *Fish) LabelGet(uid types.LabelUID) (label *types.Label, err error)

func (*Fish) LocationCreate

func (f *Fish) LocationCreate(l *types.Location) error

func (*Fish) LocationDelete

func (f *Fish) LocationDelete(name types.LocationName) error

func (*Fish) LocationFind

func (f *Fish) LocationFind(filter *string) (ls []types.Location, err error)

func (*Fish) LocationGet

func (f *Fish) LocationGet(name types.LocationName) (l *types.Location, err error)

func (*Fish) LocationGetByName

func (f *Fish) LocationGetByName(name string) (l *types.Location, err error)

func (*Fish) LocationSave

func (f *Fish) LocationSave(l *types.Location) error

func (*Fish) NewUID

func (f *Fish) NewUID() uuid.UUID

Creates new UID with 6 starting bytes of Node UID as prefix

func (*Fish) NodeActiveList

func (f *Fish) NodeActiveList() (ns []types.Node, err error)

func (*Fish) NodeCreate

func (f *Fish) NodeCreate(n *types.Node) error

func (*Fish) NodeFind

func (f *Fish) NodeFind(filter *string) (ns []types.Node, err error)

func (*Fish) NodeGet

func (f *Fish) NodeGet(name string) (node *types.Node, err error)

func (*Fish) NodePing

func (f *Fish) NodePing(node *types.Node) error

func (*Fish) NodeSave

func (f *Fish) NodeSave(node *types.Node) error

func (*Fish) ResourceCreate

func (f *Fish) ResourceCreate(r *types.Resource) error

func (*Fish) ResourceDelete

func (f *Fish) ResourceDelete(uid types.ResourceUID) error

func (*Fish) ResourceFind

func (f *Fish) ResourceFind(filter *string) (rs []types.Resource, err error)

func (*Fish) ResourceGet

func (f *Fish) ResourceGet(uid types.ResourceUID) (res *types.Resource, err error)

func (*Fish) ResourceGetByApplication

func (f *Fish) ResourceGetByApplication(app_uid types.ApplicationUID) (res *types.Resource, err error)

func (*Fish) ResourceGetByIP

func (f *Fish) ResourceGetByIP(ip string) (res *types.Resource, err error)

func (*Fish) ResourceListNode

func (f *Fish) ResourceListNode(node_uid types.NodeUID) (rs []types.Resource, err error)

func (*Fish) ResourceSave

func (f *Fish) ResourceSave(res *types.Resource) error

func (*Fish) ResourceServiceMapping

func (f *Fish) ResourceServiceMapping(res *types.Resource, dest string) string

func (*Fish) ServiceMappingCreate

func (f *Fish) ServiceMappingCreate(sm *types.ServiceMapping) error

func (*Fish) ServiceMappingDelete

func (f *Fish) ServiceMappingDelete(uid types.ServiceMappingUID) error

func (*Fish) ServiceMappingFind

func (f *Fish) ServiceMappingFind(filter *string) (sms []types.ServiceMapping, err error)

func (*Fish) ServiceMappingGet

func (f *Fish) ServiceMappingGet(uid types.ServiceMappingUID) (sm *types.ServiceMapping, err error)

func (*Fish) ServiceMappingSave

func (f *Fish) ServiceMappingSave(sm *types.ServiceMapping) error

func (*Fish) UserAuth

func (f *Fish) UserAuth(name string, password string) *types.User

func (*Fish) UserCreate

func (f *Fish) UserCreate(u *types.User) error

func (*Fish) UserDelete

func (f *Fish) UserDelete(name string) error

func (*Fish) UserFind

func (f *Fish) UserFind(filter *string) (us []types.User, err error)

func (*Fish) UserGet

func (f *Fish) UserGet(name string) (u *types.User, err error)

func (*Fish) UserNew

func (f *Fish) UserNew(name string, password string) (string, error)

func (*Fish) UserSave

func (f *Fish) UserSave(u *types.User) error

func (*Fish) VoteCreate

func (f *Fish) VoteCreate(v *types.Vote) error

func (*Fish) VoteCurrentRoundGet

func (f *Fish) VoteCurrentRoundGet(app_uid types.ApplicationUID) uint16

func (*Fish) VoteFind

func (f *Fish) VoteFind(filter *string) (vs []types.Vote, err error)

func (*Fish) VoteGet

func (f *Fish) VoteGet(uid types.VoteUID) (v *types.Vote, err error)

func (*Fish) VoteGetElectionWinner

func (f *Fish) VoteGetElectionWinner(app_uid types.ApplicationUID, round uint16) (v *types.Vote, err error)

func (*Fish) VoteGetNodeApplication

func (f *Fish) VoteGetNodeApplication(node_uid types.NodeUID, app_uid types.ApplicationUID) (v *types.Vote, err error)

func (*Fish) VoteListGetApplicationRound

func (f *Fish) VoteListGetApplicationRound(app_uid types.ApplicationUID, round uint16) (vs []types.Vote, err error)

Jump to

Keyboard shortcuts

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