1
0
mirror of https://github.com/rancher/os.git synced 2025-09-04 00:04:25 +00:00

cloud-init: add support for $public_IPv4, $private_IPv4, etc. substitution in the user-data

This commit is contained in:
Jan Broer
2015-05-24 02:39:54 +02:00
committed by Jan Broer
parent c9ba68fdd4
commit 4d563bf4fd
13 changed files with 1294 additions and 0 deletions

View File

@@ -35,6 +35,7 @@ import (
"github.com/coreos/coreos-cloudinit/datasource/metadata/ec2"
"github.com/coreos/coreos-cloudinit/datasource/proc_cmdline"
"github.com/coreos/coreos-cloudinit/datasource/url"
"github.com/coreos/coreos-cloudinit/initialize"
"github.com/coreos/coreos-cloudinit/pkg"
"github.com/coreos/coreos-cloudinit/system"
"github.com/rancherio/os/cmd/cloudinit/hostname"
@@ -229,6 +230,7 @@ func saveCloudConfig() error {
}
}
userDataBytes = substituteUserDataVars(userDataBytes, metadata)
userData := string(userDataBytes)
scriptBytes := []byte{}
@@ -514,3 +516,10 @@ func toCompose(bytes []byte) ([]byte, error) {
},
})
}
func substituteUserDataVars(userDataBytes []byte, metadata datasource.Metadata) []byte {
env := initialize.NewEnvironment("", "", "", "", metadata)
userData := env.Apply(string(userDataBytes))
return []byte(userData)
}