Added new Linode updaters

This commit is contained in:
Martin Donnelly 2022-06-23 22:48:31 +01:00
parent 179b26f5e5
commit 544425d74e
3 changed files with 164 additions and 0 deletions

51
linode/updateGit.sh Executable file
View File

@ -0,0 +1,51 @@
#!/bin/bash
#Variable Declaration - Change These
ACCESS_TOKEN="f16b8a3fe210f45008b8fec192432ca85b2765c2dac7e5bcd214de242272449b"
PINGID="0311e1b0-30eb-4503-88e2-b9e99a0b872a"
DOMAINID="1851003"
RECORDID="21559701"
NAME="push"
TYPE="A"
TTL=300
#get current IP address
IP=$(curl http://checkip.amazonaws.com/)
#validate IP address (makes sure Route 53 doesn't get updated with a malformed payload)
if [[ ! $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
exit 1
fi
curl -H "Authorization: Bearer $ACCESS_TOKEN" https://api.linode.com/v4/domains/$DOMAINID/records/$RECORDID | \
jq -r 'select (.name="'"tester"'")|(.type="'"A"'")|.target' > /tmp/linode_${NAME}_value
cat /tmp/linode_${NAME}_value
#check if IP is different from Route 53
if grep -Fxq "$IP" /tmp/linode_${NAME}_value; then
echo "IP Has Not Changed, Exiting"
curl -m 10 --retry 5 https://hc-ping.com/${PINGID}
exit 1
fi
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-X PUT -d '{
"type": "'$TYPE'",
"name": "'$NAME'",
"target": "'$IP'",
"priority": 50,
"weight": 50,
"port": 80,
"service": null,
"protocol": null,
"ttl_sec": 300,
"tag": null
}' \
https://api.linode.com/v4/domains/$DOMAINID/records/$RECORDID
# if good
curl -m 10 --retry 5 https://hc-ping.com/${PINGID}/99

51
linode/updatePush.sh Executable file
View File

@ -0,0 +1,51 @@
#!/bin/bash
#Variable Declaration - Change These
ACCESS_TOKEN="f16b8a3fe210f45008b8fec192432ca85b2765c2dac7e5bcd214de242272449b"
PINGID="0311e1b0-30eb-4503-88e2-b9e99a0b872a"
DOMAINID="1851003"
RECORDID="21559687"
NAME="git"
TYPE="A"
TTL=300
#get current IP address
IP=$(curl http://checkip.amazonaws.com/)
#validate IP address (makes sure Route 53 doesn't get updated with a malformed payload)
if [[ ! $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
exit 1
fi
curl -H "Authorization: Bearer $ACCESS_TOKEN" https://api.linode.com/v4/domains/$DOMAINID/records/$RECORDID | \
jq -r 'select (.name="'"tester"'")|(.type="'"A"'")|.target' > /tmp/linode_${NAME}_value
cat /tmp/linode_${NAME}_value
#check if IP is different from Route 53
if grep -Fxq "$IP" /tmp/linode_${NAME}_value; then
echo "IP Has Not Changed, Exiting"
curl -m 10 --retry 5 https://hc-ping.com/${PINGID}
exit 1
fi
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-X PUT -d '{
"type": "'$TYPE'",
"name": "'$NAME'",
"target": "'$IP'",
"priority": 50,
"weight": 50,
"port": 80,
"service": null,
"protocol": null,
"ttl_sec": 300,
"tag": null
}' \
https://api.linode.com/v4/domains/$DOMAINID/records/$RECORDID
# if good
curl -m 10 --retry 5 https://hc-ping.com/${PINGID}/99

62
linode/updateTester.sh Executable file
View File

@ -0,0 +1,62 @@
#!/bin/bash
#Variable Declaration - Change These
ACCESS_TOKEN="f16b8a3fe210f45008b8fec192432ca85b2765c2dac7e5bcd214de242272449b"
PINGID=0311e1b0-30eb-4503-88e2-b9e99a0b872a
DOMAINID="1851003"
RECORDID="21559818"
NAME="tester"
TYPE="A"
TTL=300
#get current IP address
IP=$(curl http://checkip.amazonaws.com/)
#validate IP address (makes sure Route 53 doesn't get updated with a malformed payload)
if [[ ! $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
exit 1
fi
curl -H "Authorization: Bearer $ACCESS_TOKEN" https://api.linode.com/v4/domains/$DOMAINID/records/$RECORDID | \
jq -r 'select (.name="'"tester"'")|(.type="'"A"'")|.target' > /tmp/linode_${NAME}_value
cat /tmp/linode_${NAME}_value
#check if IP is different from Route 53
if grep -Fxq "$IP" /tmp/linode_${NAME}_value; then
echo "IP Has Not Changed, Exiting"
# curl -m 10 --retry 5 https://hc-ping.com/0311e1b0-30eb-4503-88e2-b9e99a0b872a
exit 1
fi
# | jq -r 'select (.name="'"tester"'")|(.type="'"A"'")|.target'
# https://api.linode.com/?api_key=f16b8a3fe210f45008b8fec192432ca85b2765c2dac7e5bcd214de242272449b&api_action=domain.list
# https://api.linode.com/v4/domains/1851003/records/21559818
# echo -X PUT -d '{"type": "\'${TYPE}\'","name": "\'${NAME}\'","target": "\'${IP}\'","priority": 50,"weight": 50,"port": 80,"service": null,"protocol": null,"ttl_sec": $TTL,"tag": null}'
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-X PUT -d '{
"type": "'$TYPE'",
"name": "'$NAME'",
"target": "'$IP'",
"priority": 50,
"weight": 50,
"port": 80,
"service": null,
"protocol": null,
"ttl_sec": 300,
"tag": null
}' \
https://api.linode.com/v4/domains/$DOMAINID/records/$RECORDID
if [ $? -eq 0];
then
echo "Success"
else:
echo "Fail"
fi