Documentation ¶
Index ¶
- Constants
- func AppendUniqNoneEmptyString(slice []string, element string) []string
- func AskQuestionFromPrompt(question string) string
- func CheckBackplaneVersion(cmd *cobra.Command)
- func CheckHealth(url string) bool
- func CheckValidPrompt() bool
- func CreateTempKubeConfig(kubeConfig *api.Config) error
- func GetDefaultKubeConfig() api.Config
- func GetFormattedError(rsp *http.Response) error
- func GetFreePort() (int, error)
- func GetStringFieldFromJWT(token string, field string) (string, error)
- func MatchBaseDomain(longHostname, baseDomain string) bool
- func ModifyTempKubeConfigFileName(fileName string) error
- func ParseParamsFlag(paramsFlag []string) (map[string]string, error)
- func ReadKubeconfigRaw() (api.Config, error)
- func RemoveTempKubeConfig()
- func RenderJSON(reader io.Reader) error
- func RenderJSONBytes(i interface{}) error
- func RenderTabbedTable(headers []string, data [][]string)
- func RenderTable(headers []string, data [][]string)
- func TryParseBackplaneAPIError(rsp *http.Response) (*BackplaneApi.Error, error)
- func TryPrintAPIError(rsp *http.Response, rawFlag bool) error
- func TryRenderErrorRaw(rsp *http.Response) error
- type BackplaneCluster
- type ClientUtils
- type ClusterUtils
- type DefaultClientUtilsImpl
- func (s *DefaultClientUtilsImpl) GetBackplaneClient(backplaneURL string, ocmToken string, proxyURL *string) (client BackplaneApi.ClientInterface, err error)
- func (s *DefaultClientUtilsImpl) MakeBackplaneAPIClient(base string) (BackplaneApi.ClientWithResponsesInterface, error)
- func (*DefaultClientUtilsImpl) MakeBackplaneAPIClientWithAccessToken(base, accessToken string) (BackplaneApi.ClientWithResponsesInterface, error)
- func (s *DefaultClientUtilsImpl) MakeRawBackplaneAPIClient(base string) (BackplaneApi.ClientInterface, error)
- func (s *DefaultClientUtilsImpl) MakeRawBackplaneAPIClientWithAccessToken(base, accessToken string) (BackplaneApi.ClientInterface, error)
- func (s *DefaultClientUtilsImpl) SetClientProxyURL(proxyURL string) error
- type DefaultClusterUtilsImpl
- func (s *DefaultClusterUtilsImpl) GetBackplaneCluster(params ...string) (BackplaneCluster, error)
- func (s *DefaultClusterUtilsImpl) GetBackplaneClusterFromClusterKey(clusterKey string) (BackplaneCluster, error)
- func (s *DefaultClusterUtilsImpl) GetBackplaneClusterFromConfig() (BackplaneCluster, error)
- func (s *DefaultClusterUtilsImpl) GetClusterIDAndHostFromClusterURL(clusterURL string) (string, string, error)
- type DefaultShellChecker
- type ShellCheckerInterface
Constants ¶
const ( ClustersPageSize = 50 BackplaneAPIURLRegexp string = `(?mi)^https:\/\/api\.(.*)backplane\.(.*)` ClusterIDRegexp string = "/?backplane/cluster/([a-zA-Z0-9]+)/?" )
Variables ¶
This section is empty.
Functions ¶
func AppendUniqNoneEmptyString ¶
AppendUniqNoneEmptyString will append a string to a slice if that string is not empty and is not already part of the slice
func AskQuestionFromPrompt ¶
AskQuestionFromPrompt will first check if stdIn/Err are valid for promting, if not the it will just return empty string otherwise if will display the question to stderr and read answer as returned string
func CheckBackplaneVersion ¶
CheckBackplaneVersion checks the backplane version and aims to only report any errors encountered in the process in order to avoid calling functions act as usual
func CheckHealth ¶
CheckHealth check if the given url returns http status 200 return false if it not 200 or encounter any error.
func CheckValidPrompt ¶
func CheckValidPrompt() bool
CheckValidPrompt checks that the stdin and stderr are valid for prompt and are not provided by a pipe or file
func CreateTempKubeConfig ¶
func GetDefaultKubeConfig ¶
GetDefaultKubeConfig return default kube config
func GetFormattedError ¶
func GetFreePort ¶
GetFreePort asks the OS for an available port to listen to. https://github.com/phayes/freeport/blob/master/freeport.go
func MatchBaseDomain ¶
MatchBaseDomain returns true if the given longHostname matches the baseDomain.
func ModifyTempKubeConfigFileName ¶
ModifyTempKubeConfigFileName update default temp kube config file name
func ReadKubeconfigRaw ¶
func RemoveTempKubeConfig ¶
func RemoveTempKubeConfig()
func RenderJSON ¶
RenderJSON is an effectual function that renders the reader as JSON returns err if render fails
func RenderJSONBytes ¶
func RenderJSONBytes(i interface{}) error
RenderJSONBytes is an effectual function that renders the reader as JSON returns err if render fails
func RenderTabbedTable ¶
RenderTabbedTable only uses tabs and renders based on terminal width available It keeps the first column in it's full length and truncates others
func RenderTable ¶
func TryParseBackplaneAPIError ¶
func TryParseBackplaneAPIError(rsp *http.Response) (*BackplaneApi.Error, error)
func TryRenderErrorRaw ¶
Types ¶
type BackplaneCluster ¶
type BackplaneCluster struct { ClusterID string ClusterURL string // for e.g. https://api-backplane.apps.com/backplane/cluster/<cluster-id>/ BackplaneHost string // for e.g. https://api-backplane.apps.com }
type ClientUtils ¶
type ClientUtils interface { MakeBackplaneAPIClient(base string) (BackplaneApi.ClientWithResponsesInterface, error) MakeBackplaneAPIClientWithAccessToken(base, accessToken string) (BackplaneApi.ClientWithResponsesInterface, error) MakeRawBackplaneAPIClientWithAccessToken(base, accessToken string) (BackplaneApi.ClientInterface, error) MakeRawBackplaneAPIClient(base string) (BackplaneApi.ClientInterface, error) GetBackplaneClient(backplaneURL string, ocmToken string, proxyURL *string) (client BackplaneApi.ClientInterface, err error) SetClientProxyURL(proxyURL string) error }
var (
DefaultClientUtils ClientUtils = &DefaultClientUtilsImpl{}
)
type ClusterUtils ¶
type ClusterUtils interface { GetClusterIDAndHostFromClusterURL(clusterURL string) (string, string, error) GetBackplaneClusterFromConfig() (BackplaneCluster, error) GetBackplaneClusterFromClusterKey(clusterKey string) (BackplaneCluster, error) GetBackplaneCluster(params ...string) (BackplaneCluster, error) }
var (
DefaultClusterUtils ClusterUtils = &DefaultClusterUtilsImpl{}
)
type DefaultClientUtilsImpl ¶
type DefaultClientUtilsImpl struct {
// contains filtered or unexported fields
}
func (*DefaultClientUtilsImpl) GetBackplaneClient ¶
func (s *DefaultClientUtilsImpl) GetBackplaneClient(backplaneURL string, ocmToken string, proxyURL *string) (client BackplaneApi.ClientInterface, err error)
GetBackplaneClient returns authenticated Backplane API client Proxy is optional.
func (*DefaultClientUtilsImpl) MakeBackplaneAPIClient ¶
func (s *DefaultClientUtilsImpl) MakeBackplaneAPIClient(base string) (BackplaneApi.ClientWithResponsesInterface, error)
func (*DefaultClientUtilsImpl) MakeBackplaneAPIClientWithAccessToken ¶
func (*DefaultClientUtilsImpl) MakeBackplaneAPIClientWithAccessToken(base, accessToken string) (BackplaneApi.ClientWithResponsesInterface, error)
func (*DefaultClientUtilsImpl) MakeRawBackplaneAPIClient ¶
func (s *DefaultClientUtilsImpl) MakeRawBackplaneAPIClient(base string) (BackplaneApi.ClientInterface, error)
func (*DefaultClientUtilsImpl) MakeRawBackplaneAPIClientWithAccessToken ¶
func (s *DefaultClientUtilsImpl) MakeRawBackplaneAPIClientWithAccessToken(base, accessToken string) (BackplaneApi.ClientInterface, error)
func (*DefaultClientUtilsImpl) SetClientProxyURL ¶
func (s *DefaultClientUtilsImpl) SetClientProxyURL(proxyURL string) error
SetClientProxyURL Set client proxy url for http transport
type DefaultClusterUtilsImpl ¶
type DefaultClusterUtilsImpl struct{}
func (*DefaultClusterUtilsImpl) GetBackplaneCluster ¶
func (s *DefaultClusterUtilsImpl) GetBackplaneCluster(params ...string) (BackplaneCluster, error)
GetBackplaneCluster returns BackplaneCluster, if clusterKey is present it will try to search for cluster otherwise it will load cluster from the kube config file.
func (*DefaultClusterUtilsImpl) GetBackplaneClusterFromClusterKey ¶
func (s *DefaultClusterUtilsImpl) GetBackplaneClusterFromClusterKey(clusterKey string) (BackplaneCluster, error)
GetBackplaneClusterFromClusterKey get the backplane cluster from the given cluster
func (*DefaultClusterUtilsImpl) GetBackplaneClusterFromConfig ¶
func (s *DefaultClusterUtilsImpl) GetBackplaneClusterFromConfig() (BackplaneCluster, error)
GetBackplaneClusterFromConfig get the backplane cluster from config file
func (*DefaultClusterUtilsImpl) GetClusterIDAndHostFromClusterURL ¶
func (s *DefaultClusterUtilsImpl) GetClusterIDAndHostFromClusterURL(clusterURL string) (string, string, error)
GetClusterIDAndHostFromClusterURL with Cluster URL format: https://api-backplane.apps.com/backplane/cluster/<cluster-id>/
type DefaultShellChecker ¶
type DefaultShellChecker struct{}
func (DefaultShellChecker) IsValidShell ¶
func (checker DefaultShellChecker) IsValidShell(shellPath string) bool
Helper function to check if a shell is valid
type ShellCheckerInterface ¶
var ShellChecker ShellCheckerInterface = DefaultShellChecker{}