Files
cloudpods/pkg/compute/guestdrivers/userdata.go
T
2018-10-13 20:36:15 +08:00

33 lines
745 B
Go

package guestdrivers
import (
"yunion.io/x/onecloud/pkg/util/ansible"
"yunion.io/x/onecloud/pkg/util/cloudinit"
)
func generateUserData(adminPublicKey, projectPublicKey, oUserData string) string {
var oCloudConfig *cloudinit.SCloudConfig = nil
if len(oUserData) > 0 {
oCloudConfig, _ = cloudinit.ParseUserDataBase64(oUserData)
}
ansibleUser := cloudinit.NewUser(ansible.PUBLIC_CLOUD_ANSIBLE_USER)
ansibleUser.SshKey(adminPublicKey).SshKey(projectPublicKey).SudoPolicy(cloudinit.USER_SUDO_NOPASSWD)
cloudConfig := cloudinit.SCloudConfig{
DisableRoot: 0,
SshPwauth: 1,
Users: []cloudinit.SUser{
ansibleUser,
},
}
if oCloudConfig != nil {
cloudConfig.Merge(oCloudConfig)
}
return cloudConfig.UserDataBase64()
}