Created
July 20, 2016 21:30
-
-
Save sibblegp/d22c3af5d572912832351950b096112b to your computer and use it in GitHub Desktop.
Koding MongoDB Cluster Stack Template
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Here is your stack preview | |
# You can make advanced changes like modifying your VM, | |
# installing packages, and running shell commands. | |
provider: | |
aws: | |
access_key: '${var.aws_access_key}' | |
secret_key: '${var.aws_secret_key}' | |
resource: | |
aws_instance: | |
replica_1: | |
instance_type: m4.large | |
ami: '' | |
tags: | |
Name: '${var.koding_user_username}-${var.koding_group_slug}' | |
user_data: |- | |
export DEBIAN_FRONTEND=noninteractive | |
apt-get update -y | |
apt-get -y install mongodb | |
echo "replSet = rs0" >> /etc/mongodb.conf | |
export PRIVATE_IP=`ip addr | grep -Po '(?!(inet 127.\d.\d.1))(inet \K(\d{1,3}\.){3}\d{1,3})'` | |
sed -i "s/127.0.0.1/$PRIVATE_IP/" /etc/mongodb.conf | |
sed -i 's/#port/port/' /etc/mongodb.conf | |
service mongodb restart | |
date | |
echo "Sleeping 5 minutes..." | |
sleep 300 | |
date | |
export PRIVATE_IP=`ip addr | grep -Po '(?!(inet 127.\d.\d.1))(inet \K(\d{1,3}\.){3}\d{1,3})'` | |
mongo `echo $PRIVATE_IP` --eval "rs.initiate()" | |
sleep 120 | |
mongo `echo $PRIVATE_IP` --eval "rs.add('${aws_instance.replica_2.private_ip}')" | |
mongo `echo $PRIVATE_IP` --eval "rs.add('${aws_instance.replica_3.private_ip}')" | |
replica_2: | |
instance_type: m4.large | |
ami: '' | |
tags: | |
Name: '${var.koding_user_username}-${var.koding_group_slug}' | |
user_data: |- | |
export DEBIAN_FRONTEND=noninteractive | |
apt-get update -y | |
apt-get -y install mongodb | |
echo "replSet = rs0" >> /etc/mongodb.conf | |
export PRIVATE_IP=`ip addr | grep -Po '(?!(inet 127.\d.\d.1))(inet \K(\d{1,3}\.){3}\d{1,3})'` | |
sed -i "s/127.0.0.1/$PRIVATE_IP/" /etc/mongodb.conf | |
sed -i 's/#port/port/' /etc/mongodb.conf | |
service mongodb restart | |
replica_3: | |
instance_type: m4.large | |
ami: '' | |
tags: | |
Name: '${var.koding_user_username}-${var.koding_group_slug}' | |
user_data: |- | |
export DEBIAN_FRONTEND=noninteractive | |
apt-get update -y | |
apt-get -y install mongodb | |
echo "replSet = rs0" >> /etc/mongodb.conf | |
export PRIVATE_IP=`ip addr | grep -Po '(?!(inet 127.\d.\d.1))(inet \K(\d{1,3}\.){3}\d{1,3})'` | |
sed -i "s/127.0.0.1/$PRIVATE_IP/" /etc/mongodb.conf | |
sed -i 's/#port/port/' /etc/mongodb.conf | |
service mongodb restart |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
another way to get the private ip
PRIVATE_IP=
curl http://169.254.169.254/latest/meta-data/local-ipv4