use metadata binarie #4
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
This commit is contained in:
parent
3d79a4b069
commit
899840bfd6
3 changed files with 13 additions and 55 deletions
|
|
@ -1,65 +1,24 @@
|
|||
#!/bin/bash
|
||||
|
||||
function metadata_service() {
|
||||
cp ./files/metadata.service /etc/systemd/system/metadata@.service
|
||||
cp ./files/metadata.sh /usr/local/bin/run-metadata-in-netns.sh
|
||||
chmod +x /usr/local/bin/run-metadata-in-netns.sh
|
||||
}
|
||||
|
||||
function metadata_config() {
|
||||
vm_name="${1}"
|
||||
meta_def="${2}"
|
||||
ssh_key="${3}"
|
||||
|
||||
PASSWORD="\$6\$LD5z9v/s2b170Twj\$pl1B/Mz0w8PCr7JhFcclQpBSxUQTDOiuPko8yf4LntEo8FrIo2yKVeHR6fb5VQpxX9NP2k9yhXdsp671Sc56u1"
|
||||
|
||||
VENDOR_DATA=$(
|
||||
cat <<END | sed -e ':a;N;$!ba;s/\n/\\n/g' | sed -e 's/"/\\"/g'
|
||||
#cloud-config
|
||||
users:
|
||||
- name: syonad
|
||||
lock_passwd: false
|
||||
gecos: alpine Cloud User
|
||||
groups: [adm, wheel]
|
||||
doas:
|
||||
- permit nopass syonad
|
||||
sudo: ["ALL=(ALL) NOPASSWD:ALL"]
|
||||
shell: /bin/ash
|
||||
passwd: "${PASSWORD}"
|
||||
ssh_authorized_keys:
|
||||
- ${ssh_key}
|
||||
END
|
||||
)
|
||||
|
||||
cat <<END > "/opt/metadata/${meta_def}.conf"
|
||||
{
|
||||
"meta-data": "instance-id: ${vm_name}\nlocal-hostname: ${vm_name}\n",
|
||||
"user-data": "#!/bin/sh\npasswd -d root\n",
|
||||
"network-config": "version: 2\nethernets:\n eth0:\n dhcp4: true\n",
|
||||
"vendor-data": "${VENDOR_DATA}"
|
||||
}
|
||||
END
|
||||
|
||||
|
||||
}
|
||||
|
||||
function metadata_start() {
|
||||
local vpc="${1}"
|
||||
local ip="${2}"
|
||||
local port="${3}"
|
||||
local vm_name="${4}"
|
||||
local ssh_key="${5}"
|
||||
local vm="${6}"
|
||||
PASSWORD="\$6\$LD5z9v/s2b170Twj\$pl1B/Mz0w8PCr7JhFcclQpBSxUQTDOiuPko8yf4LntEo8FrIo2yKVeHR6fb5VQpxX9NP2k9yhXdsp671Sc56u1"
|
||||
|
||||
|
||||
metadata_config "${vm_name}" "${vpc}_${ip}-${port}" "${ssh_key}"
|
||||
systemctl start "metadata@${vpc}_${ip}-${port}.service"
|
||||
/opt/two/bin/meta --start --vm_name "${vm}" \
|
||||
--ip "${ip}" \
|
||||
--key "${ssh_key}" \
|
||||
--pass "${PASSWORD}" \
|
||||
--port "${port}" \
|
||||
--vpc_name "${vpc}"
|
||||
}
|
||||
|
||||
function metadata_stop() {
|
||||
vpc="${1}"
|
||||
ip="${2}"
|
||||
port="${3}"
|
||||
vm="${1}"
|
||||
|
||||
systemctl stop "metadata@${vpc}_${ip}-${port}.service"
|
||||
rm -f "/opt/metadata/${vpc}_${ip}-${port}.conf"
|
||||
/opt/two/bin/meta --stop --vm_name "${vm}"
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue