Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetDefaultIngressControllerYAML ¶
func GetDefaultIngressControllerYAML() string
GetDefaultIngressControllerYAML returns the default ingress controller deployment yaml
func GetDefaultYAML ¶
func GetDefaultYAML() string
GetDefaultYAML returns the default kubefate deployment yaml
Types ¶
type ChartListResponse ¶
type Client ¶
type Client interface {
// CheckVersion returns the version of the KubeFATE service
CheckVersion() (string, error)
// EnsureChartExist makes sure the specified chart is downloaded and managed by kubefate
EnsureChartExist(name, version string, content []byte) error
// ListClusterByNamespace returns clusters list in the specified namespace
ListClusterByNamespace(namespace string) ([]*modules.Cluster, error)
SubmitClusterInstallationJob(yamlStr string) (string, error)
SubmitClusterUpdateJob(yamlStr string) (string, error)
SubmitClusterDeletionJob(clusterUUID string) (string, error)
GetJobInfo(jobUUID string) (*modules.Job, error)
WaitJob(jobUUID string) (*modules.Job, error)
WaitClusterUUID(jobUUID string) (string, error)
StopJob(jobUUID string) error
IngressAddress() string
IngressRuleHost() string
}
Client can be used to access KubeFATE service
type ClientManager ¶
type ClientManager interface {
// K8sClient returns the embedded K8s client
K8sClient() kubernetes.Client
// BuildClient retrieve the KubeFATE access info from the underlying K8s cluster and return a client instance
BuildClient() (Client, error)
// BuildPFClient build a KubeFATE client based on internal port-forwarding routine, caller must call the returned closerFn when no longer needs it
BuildPFClient() (client Client, closerFn func(), err error)
}
ClientManager provides methods to work with KubeFATE as a client
func NewClientManager ¶
func NewClientManager(client kubernetes.Client, meta *InstallationMeta) ClientManager
NewClientManager returns the KubeFATE client manager
type ClusterArgs ¶
type ClusterArgs struct {
Name string `json:"name"`
Namespace string `json:"namespace"`
ChartName string `json:"chart_name"`
ChartVersion string `json:"chart_version"`
Cover bool `json:"cover"`
Data []byte `json:"data"`
}
ClusterArgs is the args to manage a cluster
type ClusterInfoResponse ¶
type ClusterJobResponse ¶
type ClusterListResponse ¶
type InstallationMeta ¶
type InstallationMeta struct {
// contains filtered or unexported fields
}
InstallationMeta describes the basic info of a KubeFATE installation
func BuildInstallationMetaFromYAML ¶
func BuildInstallationMetaFromYAML(namespace, yamlStr, ingressControllerYAMLStr string) (*InstallationMeta, error)
BuildInstallationMetaFromYAML builds a meta description of a KubeFATE installation
type Manager ¶
type Manager interface {
ClientManager
// Install installs a KubeFATE deployment
Install(bool) error
// Uninstall uninstalls a KubeFATE installation
Uninstall() error
// InstallIngressNginxController installs a default ingress nginx controller
InstallIngressNginxController() error
// GetKubeFATEDeployment returns the Deployment object of KubeFATE
GetKubeFATEDeployment() (*appv1.Deployment, error)
}
Manager extends ClientManager and provides methods to work with KubeFATE installation
func NewManager ¶
func NewManager(client kubernetes.Client, meta *InstallationMeta) Manager
NewManager returns the KubeFATE manager
Click to show internal directories.
Click to hide internal directories.