Fixes cloud init initialization
This commit is contained in:
parent
034fe688cd
commit
a6fa0b22cf
1 changed files with 20 additions and 16 deletions
36
main.go
36
main.go
|
|
@ -191,21 +191,26 @@ users:
|
|||
- name: %s
|
||||
sudo: ALL=(ALL) NOPASSWD:ALL
|
||||
shell: /bin/sh
|
||||
lock_passwd: true
|
||||
create_home: true
|
||||
|
||||
ssh_pwauth: false
|
||||
disable_root: true
|
||||
|
||||
write_files:
|
||||
- path: /home/%s/.ssh/authorized_keys
|
||||
owner: %s:%s
|
||||
permissions: '0600'
|
||||
content: |
|
||||
%s
|
||||
|
||||
runcmd:
|
||||
- mkdir -p /home/%s/.ssh
|
||||
- echo '%s' > /home/%s/.ssh/authorized_keys
|
||||
- chown -R %s:%s /home/%s/.ssh
|
||||
`, img.User, img.User, img.User, img.User, sshKey,
|
||||
img.User, img.User, img.User)
|
||||
- chmod 700 /home/%s/.ssh
|
||||
- chmod 600 /home/%s/.ssh/authorized_keys
|
||||
`, img.User,
|
||||
img.User,
|
||||
sshKey,
|
||||
img.User,
|
||||
img.User, img.User,
|
||||
img.User,
|
||||
img.User,
|
||||
img.User)
|
||||
|
||||
metaData := fmt.Sprintf(
|
||||
"instance-id: %s\nlocal-hostname: %s\n",
|
||||
|
|
@ -219,13 +224,10 @@ runcmd:
|
|||
}
|
||||
defer os.RemoveAll(tmpDir)
|
||||
|
||||
userDataPath := filepath.Join(tmpDir, "user-data")
|
||||
metaDataPath := filepath.Join(tmpDir, "meta-data")
|
||||
|
||||
if err := os.WriteFile(userDataPath, []byte(userData), 0644); err != nil {
|
||||
if err := os.WriteFile(filepath.Join(tmpDir, "user-data"), []byte(userData), 0644); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if err := os.WriteFile(metaDataPath, []byte(metaData), 0644); err != nil {
|
||||
if err := os.WriteFile(filepath.Join(tmpDir, "meta-data"), []byte(metaData), 0644); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
|
|
@ -235,8 +237,8 @@ runcmd:
|
|||
"-volid", "cidata",
|
||||
"-joliet",
|
||||
"-rock",
|
||||
userDataPath,
|
||||
metaDataPath,
|
||||
filepath.Join(tmpDir, "user-data"),
|
||||
filepath.Join(tmpDir, "meta-data"),
|
||||
)
|
||||
|
||||
if out, err := cmd.CombinedOutput(); err != nil {
|
||||
|
|
@ -245,6 +247,7 @@ runcmd:
|
|||
}
|
||||
|
||||
|
||||
|
||||
func renderBoxTable(headers []string, rows [][]string) {
|
||||
colWidths := make([]int, len(headers))
|
||||
|
||||
|
|
@ -490,6 +493,7 @@ func main() {
|
|||
switch os.Args[1] {
|
||||
case "create":
|
||||
createVM(os.Args[2], parseArg(os.Args, "--os"), parseArg(os.Args, "--pubkey-path"))
|
||||
updateCloudVM(os.Args[2], parseArg(os.Args, "--pubkey-path"))
|
||||
case "start":
|
||||
startVM(os.Args[2])
|
||||
case "stop":
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue