utils

package
v0.5.3 Latest Latest
Warning

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

Go to latest
Published: May 3, 2023 License: MPL-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const CacheResourceName string = "docker-cache"

Name of the Cache resource

View Source
const ImageVolumeName string = "images"

ImageVolumeName is the name of the volume which stores the images for clusters

View Source
const MaxRandomPort = 32767
View Source
const MinRandomPort = 30000
View Source
const ProxyBypass string = "localhost,127.0.0.1,cluster.local,shipyard.run,svc,consul"

Addresses to bypass when using a HTTP Proxy

Variables

View Source
var InvalidBlueprintURIError = fmt.Errorf("Inavlid blueprint URI")
View Source
var NameContainsInvalidCharactersError = fmt.Errorf("Name contains invalid characters characters must be either a-z, A-Z, 0-9, -, _")
View Source
var NameExceedsMaxLengthError = fmt.Errorf("Name exceeds the max length of 128 characters")

Functions

func CertsDir added in v0.2.1

func CertsDir(name string) string

CertsDir returns the location of the certificates for the given resource used to secure the Shipyard ingress, usually rooted at $HOME/.shipyard/certs

func CreateFolders added in v0.1.0

func CreateFolders()

Creates the required file structure in the users Home directory

func CreateKubeConfigPath

func CreateKubeConfigPath(name string) (dir, filePath string, dockerPath string)

CreateKubeConfigPath creates the file path for the KubeConfig file when using Kubernetes cluster

func FQDN

func FQDN(name, typeName string) string

FQDN generates the full qualified name for a container

func FQDNVolumeName

func FQDNVolumeName(name string) string

FQDNVolumeName creates a full qualified volume name

func GetBlueprintFolder

func GetBlueprintFolder(blueprint string) (string, error)

GetBlueprintFolder parses a blueprint uri and returns the top level blueprint folder if the URI is not a blueprint will return an error

func GetBlueprintLocalFolder

func GetBlueprintLocalFolder(blueprint string) string

GetBlueprintLocalFolder returns the full storage path for the given blueprint URI

func GetConnectorLogFile added in v0.2.1

func GetConnectorLogFile() string

GetConnectorLogFile returns the log file used by the connector

func GetConnectorPIDFile added in v0.2.1

func GetConnectorPIDFile() string

GetConnectorPIDFile returns the connector PID file used by the connector

func GetDataFolder added in v0.1.0

func GetDataFolder(p string, perms os.FileMode) string

GetDataFolder creates the data directory used by the application

func GetDockerHost added in v0.1.18

func GetDockerHost() string

GetDockerHost returns the location of the Docker API depending on the platform

func GetDockerIP added in v0.1.18

func GetDockerIP() string

GetDockerIP returns the location of the Docker Server IP address

func GetHelmLocalFolder added in v0.0.20

func GetHelmLocalFolder(chart string) string

GetHelmLocalFolder returns the full storage path for the given blueprint URI

func GetHostname added in v0.2.1

func GetHostname() string

GetHostname returns the hostname for the current machine

func GetLocalIPAddresses added in v0.2.1

func GetLocalIPAddresses() []string

GetLocalIPAddress returns a list of ip addressses for the local machine

func GetLocalIPAndHostname added in v0.2.12

func GetLocalIPAndHostname() (string, string)

GetLocalIPAndHostname returns the IP Address of the machine

func GetReleasesFolder added in v0.1.0

func GetReleasesFolder() string

GetReleasesFolder return the path of the Shipyard releases

func GetShipyardBinaryPath added in v0.2.1

func GetShipyardBinaryPath() string

GetShipyardBinaryPath returns the path to the running Shipyard binary

func HTTPProxyAddress added in v0.3.36

func HTTPProxyAddress() string

HTTPProxyAddress returns the default HTTPProxy used by Nomad and Kubernetes clusters unless the environment variable HTTP_PROXY is set when it returns this value

func HTTPSProxyAddress added in v0.3.36

func HTTPSProxyAddress() string

HTTPSProxyAddress returns the default HTTPProxy used by Nomad and Kubernetes clusters unless the environment variable HTTPS_PROXY is set when it returns this value

func HomeEnvName added in v0.2.1

func HomeEnvName() string

HomeEnvName returns the environment variable used to store the home path

func HomeFolder

func HomeFolder() string

HomeFolder returns the users homefolder this will be $HOME on windows and mac and USERPROFILE on windows

func ImageCacheLog added in v0.0.19

func ImageCacheLog() string

ImageCacheLog returns the location of the image cache log

func IsHCLFile

func IsHCLFile(path string) bool

IsHCLFile tests if the given path resolves to a HCL config file

func IsLocalFolder

func IsLocalFolder(path string) bool

IsLocalFolder tests if the given path is a localfolder and can exist in the current filesystem TODO make more robust with error messages to improve UX

func LogsDir added in v0.2.1

func LogsDir() string

LogsDir returns the location of the logs used to secure the Shipyard ingress, usually $HOME/.shipyard/logs

func ReplaceNonURIChars

func ReplaceNonURIChars(s string) (string, error)

ReplaceNonURIChars replaces any characters in the resrouce name which can not be used in a URI

func ShipyardHome

func ShipyardHome() string

ShipyardHome returns the location of the shipyard folder, usually $HOME/.shipyard

func ShipyardTemp

func ShipyardTemp() string

ShipyardTemp returns a temporary folder

func StateDir

func StateDir() string

StateDir returns the location of the shipyard state, usually $HOME/.shipyard/state

func StatePath

func StatePath() string

StatePath returns the full path for the state file

func ValidateName

func ValidateName(name string) (bool, error)

ValidateName ensures that the name for a resource is within certain boundaries Valid characters: [a-z] [A-Z] _ - [0-9] Max length: 128

Types

type ClusterConfig added in v0.2.16

type ClusterConfig struct {
	// Location of the Cluster
	LocalAddress  string `json:"local_address"`
	RemoteAddress string `json:"remote_address"`

	// Port the API Server is running on
	APIPort int `json:"api_port"`

	// Port the API Server is running on reachable from
	// a remote network
	RemoteAPIPort int `json:"remote_api_port"`

	// Port where the connector is running
	ConnectorPort int `json:"connector_port"`

	// Number of nodes in the cluster
	NodeCount int `json:"node_count"`

	// Does the API use SSL?
	SSL bool `json:"ssl"`
	// contains filtered or unexported fields
}

ClusterConfig defines a config file which is used to store Nomad cluster connection info

func GetClusterConfig added in v0.3.2

func GetClusterConfig(name string) (ClusterConfig, string)

GetClusterConfig creates the file path for the Cluster config which stores details such as the API server location

func (*ClusterConfig) APIAddress added in v0.2.16

func (n *ClusterConfig) APIAddress(context Context) string

APIAddress returns the FQDN for the API server

func (*ClusterConfig) ConnectorAddress added in v0.2.16

func (n *ClusterConfig) ConnectorAddress(context Context) string

ConnectorAddress returns the FQDN for the gRPC endpoing of the Connector

func (*ClusterConfig) Load added in v0.2.16

func (n *ClusterConfig) Load(file string) error

Load the config from a file

func (*ClusterConfig) Save added in v0.2.16

func (n *ClusterConfig) Save(file string) error

Save the config to a file

type Context added in v0.2.16

type Context string

Context is a type which stores the context for the cluster

const LocalContext Context = "local"

LocalContext defines a constant for the local context

const RemoteContext Context = "remote"

RemoteContext defines a constant for the remote context

Jump to

Keyboard shortcuts

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