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:
@@ -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)
|
||||
}
|
||||
|
Reference in New Issue
Block a user