Documentation ¶
Index ¶
- Constants
- func CheckHealth(url string) bool
- func CreateTempKubeConfig(kubeConfig *api.Config) error
- func GetDefaultKubeConfig() api.Config
- func GetFormattedError(rsp *http.Response) error
- func GetFreePort() (int, 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) (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) GetCloudProvider(cluster *cmv1.Cluster) string
- func (s *DefaultClusterUtilsImpl) GetClusterIDAndHostFromClusterURL(clusterURL string) (string, string, error)
- type DefaultOCMInterfaceImpl
- func (*DefaultOCMInterfaceImpl) GetClusterInfoByID(clusterId string) (*cmv1.Cluster, error)
- func (o *DefaultOCMInterfaceImpl) GetManagingCluster(targetClusterId string) (clusterId, clusterName string, err error)
- func (*DefaultOCMInterfaceImpl) GetOCMAccessToken() (*string, error)
- func (*DefaultOCMInterfaceImpl) GetPullSecret() (string, error)
- func (*DefaultOCMInterfaceImpl) GetServiceCluster(targetClusterId string) (clusterId, clusterName string, err error)
- func (*DefaultOCMInterfaceImpl) GetTargetCluster(clusterKey string) (clusterId, clusterName string, err error)
- func (*DefaultOCMInterfaceImpl) IsClusterHibernating(clusterId string) (bool, error)
- func (*DefaultOCMInterfaceImpl) IsProduction() (bool, error)
- type OCMInterface
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 CheckHealth ¶
CheckHealth check if the given url returns http status 200 return false if it not 200 or encounter any error.
func CreateTempKubeConfig ¶
func GetDefaultKubeConfig ¶ added in v0.1.3
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 ¶ added in v0.1.3
ModifyTempKubeConfigFileName update default temp kube config file name
func ReadKubeconfigRaw ¶
func RemoveTempKubeConfig ¶
func RemoveTempKubeConfig()
func RenderJson ¶
RenderJson is an effectful function that renders the reader as JSON returns err if render fails
func RenderJsonBytes ¶
func RenderJsonBytes(i interface{}) error
RenderJsonBytes is an effectful function that renders the reader as JSON returns err if render fails
func RenderTabbedTable ¶
This renderer 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) (client BackplaneApi.ClientInterface, err error) SetClientProxyUrl(proxyUrl string) error }
var (
DefaultClientUtils ClientUtils = &DefaultClientUtilsImpl{}
)
type ClusterUtils ¶ added in v0.1.2
type ClusterUtils interface { GetClusterIDAndHostFromClusterURL(clusterURL string) (string, string, error) GetBackplaneClusterFromConfig() (BackplaneCluster, error) GetBackplaneClusterFromClusterKey(clusterKey string) (BackplaneCluster, error) GetCloudProvider(cluster *cmv1.Cluster) string 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) (client BackplaneApi.ClientInterface, err error)
getBackplaneClient returns authnicated Backplane API client
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
Set client proxy url for http transport
type DefaultClusterUtilsImpl ¶ added in v0.1.2
type DefaultClusterUtilsImpl struct{}
func (*DefaultClusterUtilsImpl) GetBackplaneCluster ¶ added in v0.1.2
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 ¶ added in v0.1.2
func (s *DefaultClusterUtilsImpl) GetBackplaneClusterFromClusterKey(clusterKey string) (BackplaneCluster, error)
func (*DefaultClusterUtilsImpl) GetBackplaneClusterFromConfig ¶ added in v0.1.2
func (s *DefaultClusterUtilsImpl) GetBackplaneClusterFromConfig() (BackplaneCluster, error)
func (*DefaultClusterUtilsImpl) GetCloudProvider ¶ added in v0.1.2
func (s *DefaultClusterUtilsImpl) GetCloudProvider(cluster *cmv1.Cluster) string
func (*DefaultClusterUtilsImpl) GetClusterIDAndHostFromClusterURL ¶ added in v0.1.2
func (s *DefaultClusterUtilsImpl) GetClusterIDAndHostFromClusterURL(clusterURL string) (string, string, error)
Cluster URL format: https://api-backplane.apps.com/backplane/cluster/<cluster-id>/
type DefaultOCMInterfaceImpl ¶
type DefaultOCMInterfaceImpl struct{}
func (*DefaultOCMInterfaceImpl) GetClusterInfoByID ¶
func (*DefaultOCMInterfaceImpl) GetClusterInfoByID(clusterId string) (*cmv1.Cluster, error)
GetClusterInfoByID calls the OCM to retrieve the cluster info for a given internal cluster id.
func (*DefaultOCMInterfaceImpl) GetManagingCluster ¶
func (o *DefaultOCMInterfaceImpl) GetManagingCluster(targetClusterId string) (clusterId, clusterName string, err error)
GetManagingCluster returns the managing cluster (hive shard or hypershift management cluster) for the given clusterId
func (*DefaultOCMInterfaceImpl) GetOCMAccessToken ¶
func (*DefaultOCMInterfaceImpl) GetOCMAccessToken() (*string, error)
GetOCMAccessToken initiates the OCM connection and returns the access token
func (*DefaultOCMInterfaceImpl) GetPullSecret ¶ added in v0.1.4
func (*DefaultOCMInterfaceImpl) GetPullSecret() (string, error)
GetPullSecret returns pull secret from OCM
func (*DefaultOCMInterfaceImpl) GetServiceCluster ¶ added in v0.1.3
func (*DefaultOCMInterfaceImpl) GetServiceCluster(targetClusterId string) (clusterId, clusterName string, err error)
GetServiceCluster gets the service cluster for a given hpyershift hosted cluster
func (*DefaultOCMInterfaceImpl) GetTargetCluster ¶
func (*DefaultOCMInterfaceImpl) GetTargetCluster(clusterKey string) (clusterId, clusterName string, err error)
GetTargetCluster returns one single cluster based on the search key and survery.
func (*DefaultOCMInterfaceImpl) IsClusterHibernating ¶
func (*DefaultOCMInterfaceImpl) IsClusterHibernating(clusterId string) (bool, error)
IsClusterHibernating returns a boolean to indicate whether the cluster is hibernating
func (*DefaultOCMInterfaceImpl) IsProduction ¶
func (*DefaultOCMInterfaceImpl) IsProduction() (bool, error)
IsProduction checks if OCM is currently in production env
type OCMInterface ¶
type OCMInterface interface { IsClusterHibernating(clusterId string) (bool, error) GetTargetCluster(clusterKey string) (clusterId, clusterName string, err error) GetManagingCluster(clusterKey string) (clusterId, clusterName string, err error) GetOCMAccessToken() (*string, error) GetServiceCluster(clusterKey string) (clusterId, clusterName string, err error) GetClusterInfoByID(clusterId string) (*cmv1.Cluster, error) IsProduction() (bool, error) GetPullSecret() (string, error) }
var DefaultOCMInterface OCMInterface = &DefaultOCMInterfaceImpl{}