42 lines
1.4 KiB
Go
42 lines
1.4 KiB
Go
package librke
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/docker/docker/api/types"
|
|
"github.com/rancher/norman/types/convert"
|
|
v3 "github.com/rancher/rancher/pkg/generated/norman/management.cattle.io/v3"
|
|
"github.com/rancher/rke/cluster"
|
|
"github.com/rancher/rke/pki"
|
|
rketypes "github.com/rancher/rke/types"
|
|
)
|
|
|
|
type rke struct {
|
|
}
|
|
|
|
func (*rke) GenerateRKENodeCerts(ctx context.Context, rkeConfig rketypes.RancherKubernetesEngineConfig, nodeAddress string, certBundle map[string]pki.CertificatePKI) map[string]pki.CertificatePKI {
|
|
return pki.GenerateRKENodeCerts(ctx, rkeConfig, nodeAddress, certBundle)
|
|
}
|
|
|
|
func (*rke) GenerateCerts(config *rketypes.RancherKubernetesEngineConfig) (map[string]pki.CertificatePKI, error) {
|
|
return pki.GenerateRKECerts(context.Background(), *config, "", "")
|
|
}
|
|
|
|
func (*rke) GeneratePlan(ctx context.Context, rkeConfig *rketypes.RancherKubernetesEngineConfig, dockerInfo map[string]types.Info, data map[string]interface{}) (rketypes.RKEPlan, error) {
|
|
return cluster.GeneratePlan(ctx, rkeConfig.DeepCopy(), dockerInfo, data)
|
|
}
|
|
|
|
func GetDockerInfo(node *v3.Node) (map[string]types.Info, error) {
|
|
infos := map[string]types.Info{}
|
|
if node.Status.DockerInfo != nil {
|
|
dockerInfo := types.Info{}
|
|
err := convert.ToObj(node.Status.DockerInfo, &dockerInfo)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
infos[node.Status.NodeConfig.Address] = dockerInfo
|
|
}
|
|
|
|
return infos, nil
|
|
}
|