initial code added

This commit is contained in:
ahmadbilalkhalid 2019-08-23 11:01:23 +00:00
commit a994b4cf1a
1 changed files with 52 additions and 0 deletions

52
ucloud-init.start Executable file
View File

@ -0,0 +1,52 @@
#!/bin/sh
get_distro() {
OS=$(cat /etc/*release | grep ID | head -1 | cut -c 4-)
echo $OS
}
if ! $(which rdnssd); then
echo "nameserver 2a0a:e5c0::3" >> /etc/resolv.conf
echo "nameserver 2a0a:e5c0::4" >> /etc/resolv.conf
apk add ndisc6
fi
# Get IPv6 DNS
rdnssd -u root -r /etc/resolv.conf
ssh_authorized_keys_path='/root/.ssh/authorized_keys'
ssh_config_path='/etc/ssh/ssh_config'
# Initial Package Intallation
if [ [ $(get_distro) = "alpine" ]; then
apk update
apk add python3 openssh-server sfdisk util-linux jq
touch $ssh_authorized_keys_path
if ! grep -q "PasswordAuthentication no" $ssh_config_path; then
echo "PasswordAuthentication no" >> $ssh_config_path
fi
if ! grep -q "PermitRootLogin yes" $ssh_config_path; then
echo "PermitRootLogin yes" >> $ssh_config_path
fi
service sshd restart
else
echo "Unsupported OS"
exit
fi
wget https://git.launchpad.net/ubuntu/+source/cloud-utils/plain/bin/growpart
if [ -e growpart ]; then
sh ./growpart /dev/vda3; rm growpart
fi
# TODO: Make sure to replace the following address with http://metadata
# whenever we got http://metadata resolving to url work successfully.
metadata=$(curl http://[2a0a:e5c1:144::]:5000)
ssh_key=$(echo $metadata | jq '.["ssh-key"]')
ssh_key="${ssh_key:1:-1}" # Removes quotation marks
if ! grep -q "$ssh_key" $ssh_authorized_keys_path; then
echo $ssh_key >> $ssh_authorized_keys_path
fi