binutils

package
v1.13.4-lux Latest Latest
Warning

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

Go to latest
Published: Aug 5, 2025 License: BSD-3-Clause Imports: 33 Imported by: 0

Documentation

Overview

Copyright (C) 2022, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.

Copyright (C) 2022, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.

Copyright (C) 2022, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.

Copyright (C) 2022, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.

Copyright (C) 2022, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.

Copyright (C) 2022, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.

Index

Constants

This section is empty.

Variables

View Source
var ErrGRPCTimeout = errors.New("timed out trying to contact backend controller, it is most probably not running")

ErrGRPCTimeout is a common error message if the gRPC server can't be reached

Functions

func CopyFile

func CopyFile(src, dest string) error

func DownloadReleaseVersion deprecated

func DownloadReleaseVersion(
	log luxlog.Logger,
	repo,
	version,
	binDir string,
) (string, error)

DownloadReleaseVersion returns the latest available version from github for the given repo and version, and installs it into the apps `bin` dir. NOTE: If any of the underlying URLs change (github changes, release file names, etc.) this fails The goal MUST be to have some sort of mature binary management

Deprecated: Use GetLatestReleaseVersion

func GetAsyncContext

func GetAsyncContext() context.Context

GetAsyncContext returns a timeout context with the cancel function suppressed

func GetBackendLogFile

func GetBackendLogFile(app *application.Lux) (string, error)

func GetGithubLatestReleaseURL

func GetGithubLatestReleaseURL(org, repo string) string

func GetServerPID

func GetServerPID(app *application.Lux) (int, error)

func InstallArchive

func InstallArchive(ext string, archive []byte, binDir string) error

InstallArchive installs the binary archive downloaded

func InstallBinary

func InstallBinary(
	app *application.Lux,
	version string,
	baseBinDir string,
	installDir string,
	binPrefix,
	org,
	repo string,
	downloader GithubDownloader,
	installer Installer,
) (string, error)

func KillgRPCServerProcess

func KillgRPCServerProcess(app *application.Lux) error

func NewGRPCClient

func NewGRPCClient(opts ...GRPCClientOpOption) (client.Client, error)

NewGRPCClient hides away the details (params) of creating a gRPC server connection

func NewGRPCServer

func NewGRPCServer(snapshotsDir string) (server.Server, error)

NewGRPCClient hides away the details (params) of creating a gRPC server

func SetupCustomBin

func SetupCustomBin(app *application.Lux, subnetName string) string

func SetupLPMBin

func SetupLPMBin(app *application.Lux, vmid string) string

func SetupLuxgo

func SetupLuxgo(app *application.Lux, luxdVersion string) (string, string, error)

func SetupSubnetEVM

func SetupSubnetEVM(app *application.Lux, subnetEVMVersion string) (string, string, error)

func StartServerProcess

func StartServerProcess(app *application.Lux) error

StartServerProcess starts the gRPC server as a reentrant process of this binary it just executes `cli backend start`

func UpdateLocalSidecarRPC

func UpdateLocalSidecarRPC(app *application.Lux, sc models.Sidecar, rpcVersion int) error

update the RPC version of the VM in the sidecar file

func UpgradeVM

func UpgradeVM(app *application.Lux, vmID string, vmBinPath string) error

func WatchServerProcess

func WatchServerProcess(serverCancel context.CancelFunc, errc chan error, log luxlog.Logger)

Types

type BinaryChecker

type BinaryChecker interface {
	ExistsWithVersion(name, binaryPrefix, version string) (bool, error)
}

func NewBinaryChecker

func NewBinaryChecker() BinaryChecker

type GRPCClientOp

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

type GRPCClientOpOption

type GRPCClientOpOption func(*GRPCClientOp)

func WithAvoidRPCVersionCheck

func WithAvoidRPCVersionCheck(avoidRPCVersionCheck bool) GRPCClientOpOption

type GithubDownloader

type GithubDownloader interface {
	GetDownloadURL(version string, installer Installer) (string, string, error)
}

func NewEVMDownloader

func NewEVMDownloader() GithubDownloader

func NewLuxDownloader

func NewLuxDownloader() GithubDownloader

type Installer

type Installer interface {
	GetArch() (string, string)
}

func NewInstaller

func NewInstaller() Installer

type PluginBinaryDownloader

type PluginBinaryDownloader interface {
	InstallVM(vmID, vmBin string) error
	UpgradeVM(vmID, vmBin string) error
	RemoveVM(vmID string) error
}

func NewPluginBinaryDownloader

func NewPluginBinaryDownloader(app *application.Lux) PluginBinaryDownloader

type ProcessChecker

type ProcessChecker interface {
	// IsServerProcessRunning returns true if the gRPC server is running,
	// or false if not
	IsServerProcessRunning(app *application.Lux) (bool, error)
}

ProcessChecker is responsible for checking if the gRPC server is running

func NewProcessChecker

func NewProcessChecker() ProcessChecker

NewProcessChecker creates a new process checker which can respond if the server is running

Jump to

Keyboard shortcuts

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