utils

package
v1.0.9 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2024 License: BSD-3-Clause Imports: 31 Imported by: 0

Documentation

Overview

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

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

Copyright (C) 2023, Ava Labs, Inc. All rights reserved. See the file LICENSE for licensing terms.

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

Copyright (C) 2023, Ava Labs, Inc. All rights reserved. See the file LICENSE for licensing terms.

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

Copyright (C) 2023, Ava Labs, Inc. All rights reserved. See the file LICENSE for licensing terms.

Copyright (C) 2023, Ava Labs, Inc. All rights reserved. See the file LICENSE for licensing terms.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddSingleQuotes

func AddSingleQuotes(s []string) []string

AddSingleQuotes adds single quotes to each string in the given slice.

func Any

func Any[T any](input []T, f func(T) bool) bool

func ArchSupported

func ArchSupported(arch string) bool

func ContainsIgnoreCase

func ContainsIgnoreCase(s, substr string) bool

containsIgnoreCase checks if the given string contains the specified substring, ignoring case.

func ConvertInterfaceToMap

func ConvertInterfaceToMap(value interface{}) (map[string]interface{}, error)

ConvertInterfaceToMap converts a given value to a map[string]interface{}.

func DirectoryExists

func DirectoryExists(dirName string) bool

func Download

func Download(url string) ([]byte, error)

func DownloadStr

func DownloadStr(url string) (string, error)

func DownloadWithTee

func DownloadWithTee(url string, path string) ([]byte, error)

func E2EDocker

func E2EDocker() bool

E2EDocker checks if docker and docker-compose are available.

func ExpandHome

func ExpandHome(path string) string

expandHome expands ~ symbol to home directory

func FileCopy

func FileCopy(src string, dst string) error

FileCopy copies a file from src to dst.

func FileExists

func FileExists(filename string) bool

FileExists checks if a file exists.

func Filter

func Filter[T any](input []T, f func(T) bool) []T

func Find

func Find[T any](input []T, f func(T) bool) *T

func GenDockerComposeFile

func GenDockerComposeFile(nodes int, ubuntuVersion string, networkPrefix string, sshPubKey string) (string, error)

GenDockerComposeFile generates a Docker Compose file with the specified number of nodes and Ubuntu version.

func GenerateDockerHostIDs

func GenerateDockerHostIDs(numNodes int) []string

GenerateDockerHostIDs generates a list of Docker host IDs.

func GenerateDockerHostIPs

func GenerateDockerHostIPs(numNodes int) []string

func GetANRContext

func GetANRContext() (context.Context, context.CancelFunc)

Context for ANR network operations

func GetAPIContext

func GetAPIContext() (context.Context, context.CancelFunc)

Context for API requests

func GetAPILargeContext

func GetAPILargeContext() (context.Context, context.CancelFunc)

Context for API requests with large timeout

func GetCodespaceURL

func GetCodespaceURL(url string) (string, error)

func GetGitCommit

func GetGitCommit(gitRepoURL string) string

GetGitCommit takes a Git repository URL that contains commit ID and returns the commit ID Example: https://github.com/ava-labs/hypersdk/pull/772/commits/b88acfb370f5aeb83a000aece2d72f28154410a5 Should return b88acfb370f5aeb83a000aece2d72f28154410a5

func GetIndexInSlice

func GetIndexInSlice[T comparable](list []T, element T) (int, error)

func GetRealFilePath

func GetRealFilePath(path string) string

func GetRepoFromCommitURL

func GetRepoFromCommitURL(gitRepoURL string) (string, string)

GetRepoFromCommitURL takes a Git repository URL that contains commit ID and returns the cloneable Git Repo URL (ends in .git) and the repo directory name Example: https://github.com/ava-labs/hypersdk/pull/772/commits/b88acfb370f5aeb83a000aece2d72f28154410a5 Should return https://github.com/ava-labs/hypersdk

func GetSHA256FromDisk

func GetSHA256FromDisk(binPath string) (string, error)

func GetSSHConnectionString

func GetSSHConnectionString(publicIP, certFilePath string) string

GetSSHConnectionString returns the SSH connection string for the given public IP and certificate file path.

func GetURIHostPortAndPath

func GetURIHostPortAndPath(uri string) (string, uint32, string, error)

Get the host, port and path from a URL.

func GetUserIPAddress

func GetUserIPAddress() (string, error)

GetUserIPAddress retrieves the IP address of the user.

func InsideCodespace

func InsideCodespace() bool

func IsE2E

func IsE2E() bool

IsE2E checks if the environment variable "RUN_E2E" is set and returns true if it is, false otherwise.

func IsExecutable

func IsExecutable(filename string) bool

IsExecutable checks if a file is executable.

func IsSSHAgentAvailable

func IsSSHAgentAvailable() bool

isSSHAgentAvailable checks if the SSH agent is available.

func IsSSHAgentIdentityValid

func IsSSHAgentIdentityValid(identity string) (bool, error)

func IsSSHPubKey

func IsSSHPubKey(pubkey string) bool

IsSSHPubKey checks if the given string is a valid SSH public key.

func IsUnsignedSlice

func IsUnsignedSlice(n []int) bool

IsUnsignedSlice returns true if all elements in the slice are unsigned integers.

func IsValidIP

func IsValidIP(ipStr string) bool

func IsValidURL

func IsValidURL(urlString string) bool

IsValidURL checks if a URL is valid.

func ListSSHAgentIdentities

func ListSSHAgentIdentities() ([]string, error)

ListSSHAgentIdentity returns a list of SSH identities from ssh-agent.

func Map

func Map[T, U any](input []T, f func(T) U) []U

func MapWithError

func MapWithError[T, U any](input []T, f func(T) (U, error)) ([]U, error)

func NewBlsSecretKeyBytes

func NewBlsSecretKeyBytes() ([]byte, error)

func RandomString

func RandomString(length int) string

RandomString generates a random string of the specified length.

func ReadLongString

func ReadLongString(msg string, args ...interface{}) (string, error)

ReadLongString reads a long string from the user input.

func ReadSSHAgentIdentityPublicKey

func ReadSSHAgentIdentityPublicKey(identityName string) (string, error)

func RemoveLineCleanChars

func RemoveLineCleanChars(s string) string

func SaveDockerComposeFile

func SaveDockerComposeFile(fileName string, nodes int, ubuntuVersion string, sshPubKey string) (string, error)

SaveDockerComposeFile saves the Docker Compose file with the specified number of nodes and Ubuntu version.

func ScriptLog

func ScriptLog(nodeID string, msg string, args ...interface{}) string

func SearchSHA256File

func SearchSHA256File(file []byte, toSearch string) (string, error)

func SetupRealtimeCLIOutput

func SetupRealtimeCLIOutput(cmd *exec.Cmd, redirectStdout bool, redirectStderr bool) (*bytes.Buffer, *bytes.Buffer)

func SortUint32

func SortUint32(arr []uint32)

func SplitComaSeparatedInt

func SplitComaSeparatedInt(s string) []int

SplitComaSeparatedInt splits a comma-separated string into a slice of integers.

func SplitComaSeparatedString

func SplitComaSeparatedString(s string) []string

SplitComaSeparatedString splits and trims a comma-separated string into a slice of strings.

func SplitKeyValueStringToMap

func SplitKeyValueStringToMap(str string, delimiter string) (map[string]string, error)

SplitKeyValueStringToMap splits a string with multiple key-value pairs separated by delimiter. Delimiter must be a single character

func SplitSliceAt

func SplitSliceAt[T any](slice []T, index int) ([]T, []T)

SplitSliceAt splits a slice at the given index and returns two new slices.func SplitSliceAt[T any](slice []T, index int) ([]T, []T) {

func SplitStringWithQuotes

func SplitStringWithQuotes(str string, r rune) []string

SplitString split string with a rune comma ignore quoted

func StartDockerCompose

func StartDockerCompose(filePath string) error

StartDockerCompose is a function that starts Docker Compose.

func StopDockerCompose

func StopDockerCompose(filePath string) error

StopDockerCompose stops the Docker Compose services defined in the specified file.

func Sum

func Sum(s []int) int

Sum calculates the sum of all the elements in the given slice of integers.

func SupportedAvagoArch

func SupportedAvagoArch() []string

func TimedFunction

func TimedFunction(f func() (interface{}, error), name string, timeout time.Duration) (interface{}, error)

TimedFunction is a function that executes the given function `f` within a specified timeout duration.

func ToNodeID

func ToNodeID(certBytes []byte, keyBytes []byte) (ids.NodeID, error)

func Unique

func Unique(slice []string) []string

Unique returns a new slice containing only the unique elements from the input slice.

func UserHomePath

func UserHomePath(filePath ...string) string

UserHomePath returns the absolute path of a file located in the user's home directory.

func ValidateJSON

func ValidateJSON(path string) ([]byte, error)

ValidateJSON takes a json string and returns it's byte representation if it contains valid JSON

Types

type Config

type Config struct {
	IPs           []string
	UbuntuVersion string
	NetworkPrefix string
	SSHPubKey     string
}

Config holds the information needed for the template

Jump to

Keyboard shortcuts

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