fish

package
v0.7.2 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2024 License: Apache-2.0 Imports: 28 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
	NodeIdentifiers []string `json:"node_identifiers"` // The list of node identifiers which could be used to find the right Node for Resource

	DefaultResourceLifetime string `json:"default_resource_lifetime"` // Sets the lifetime of the resource which will be used if label definition one is not set

	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 {

	// Signal to stop the fish
	Quit chan os.Signal
	// 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) 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.ApplicationStatus) 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) ApplicationTaskCreate added in v0.6.0

func (f *Fish) ApplicationTaskCreate(at *types.ApplicationTask) error

func (*Fish) ApplicationTaskFindByApplication added in v0.6.0

func (f *Fish) ApplicationTaskFindByApplication(uid types.ApplicationUID, filter *string) (at []types.ApplicationTask, err error)

func (*Fish) ApplicationTaskGet added in v0.6.0

func (f *Fish) ApplicationTaskGet(uid types.ApplicationTaskUID) (at *types.ApplicationTask, err error)

func (*Fish) ApplicationTaskListByApplicationAndWhen added in v0.6.0

func (f *Fish) ApplicationTaskListByApplicationAndWhen(app_uid types.ApplicationUID, when types.ApplicationStatus) (at []types.ApplicationTask, err error)

func (*Fish) ApplicationTaskSave added in v0.6.0

func (f *Fish) ApplicationTaskSave(at *types.ApplicationTask) 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) GetNode added in v0.7.0

func (f *Fish) GetNode() *types.Node

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) MaintenanceSet added in v0.7.0

func (f *Fish) MaintenanceSet(value bool)

Set/unset the maintenance mode which will not allow to accept the additional Applications

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) ShutdownDelaySet added in v0.7.0

func (f *Fish) ShutdownDelaySet(delay time.Duration)

Set of how much time to wait before executing the node shutdown operation

func (*Fish) ShutdownSet added in v0.7.0

func (f *Fish) ShutdownSet(value bool)

Tells node it need to execute graceful shutdown operation

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, *types.User, 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