blob: f79b0b1e9f429dad742ce6ccf2e319f82b3edd9f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#!/bin/bash
set -eu -o pipefail
cloud_init_iso()
{
local iso="$1"
local hostname="$2"
local pubkey="$3"
local dir="$(mktemp -d)"
cat <<EOF > "$dir/meta-data"
# Amazon EC2 style metadata
local-hostname: $hostname
EOF
cat <<EOF > "$dir/user-data"
#cloud-config
ssh_authorized_keys:
- $pubkey
EOF
genisoimage -quiet -volid cidata -joliet -rock -output "$iso" "$dir"
rm -rf "$dir"
}
main()
{
local vm="$1"
local pubkey="$(cat "$2")"
cloud_init_iso "$vm.iso" "$vm" "$pubkey"
}
main "$@"
|