mirror of
https://github.com/jcwimer/startup-infrastructure
synced 2026-03-24 22:34:42 +00:00
Create client machine and set up ssh between nodes
This commit is contained in:
15
Vagrantfile
vendored
15
Vagrantfile
vendored
@@ -4,20 +4,33 @@ Vagrant.configure("2") do |config|
|
||||
bootstrap.vm.box = "ubuntu/bionic64"
|
||||
bootstrap.vm.hostname = "bootstrap"
|
||||
bootstrap.vm.network "private_network", ip: "192.168.254.2"
|
||||
bootstrap.vm.provision :shell, path: "tests/files/provision-script.sh"
|
||||
bootstrap.vm.provider "virtualbox" do |v|
|
||||
v.memory = 1024
|
||||
v.cpus = 1
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
config.vm.define "worker1" do |worker1|
|
||||
worker1.vm.box = "ubuntu/bionic64"
|
||||
worker1.vm.hostname = "worker1"
|
||||
worker1.vm.network "private_network", ip: "192.168.254.3"
|
||||
worker1.vm.provision :shell, path: "tests/files/provision-script.sh"
|
||||
worker1.vm.provider "virtualbox" do |v|
|
||||
v.memory = 1024
|
||||
v.cpus = 1
|
||||
end
|
||||
end
|
||||
|
||||
config.vm.define "client" do |client|
|
||||
client.vm.box = "ubuntu/bionic64"
|
||||
client.vm.hostname = "client"
|
||||
client.vm.network "private_network", ip: "192.168.254.4"
|
||||
client.vm.provision :shell, path: "tests/files/install-pip.sh"
|
||||
client.vm.provision :shell, path: "tests/files/provision-script.sh"
|
||||
client.vm.provider "virtualbox" do |v|
|
||||
v.memory = 512
|
||||
v.cpus = 1
|
||||
end
|
||||
end
|
||||
end
|
||||
10
tests/files/install-pip.sh
Normal file
10
tests/files/install-pip.sh
Normal file
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
apt-get update -qq
|
||||
apt-get install -y -qq \
|
||||
python-dev \
|
||||
python-pip \
|
||||
python-setuptools
|
||||
|
||||
pip install --upgrade setuptools
|
||||
pip install ez_setup
|
||||
pip install pipenv
|
||||
6
tests/files/provision-script.sh
Normal file
6
tests/files/provision-script.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYa9zstumlg7XkKoNrJMlIN/zteqMA9J4GjuZA7r0xfMPrz4CglxzYKd/BhBpwp/HhU+vSR6vBa15kRODHdPZ+T1oXzMXAmMT3R2ZJRqF280Hsx9sK0X+FZWM84e4a1zQUrxuWyWJ4kKIiaX6DBAmhy8zHNvQ0c4Nk1exfwRicojaze71qrexSas4FHWaI4usC/g3mMKfiML/QX0UWW/G+D8qrg3cK3zClG916XlY/p1h9SWantqz75ea33TtmDNW6iCraKSjVeDGfzhshJsmQ7+/Rr/L4/s7hdpwTqdjSlJTIi61eBxcpDfMWBmsHOMZgnsTZ3wrdYXo70k44moA7 vagrant@test" >> /home/vagrant/.ssh/authorized_keys
|
||||
cp /vagrant/tests/files/test_rsa /home/vagrant/test_rsa
|
||||
chmod 600 /home/vagrant/test_rsa
|
||||
chown vagrant:vagrant /home/vagrant/test_rsa
|
||||
27
tests/files/test_rsa
Normal file
27
tests/files/test_rsa
Normal file
@@ -0,0 +1,27 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEowIBAAKCAQEA2Gvc7LbppYO15CqDayTJSDf87XqjAPSeBo7mQO69MXzD68+A
|
||||
oJcc2CnfwYQacKfx4VPr0kerwWteZETgx3T2fk9aF8zFwJjE90dmSUahdvNB7Mfb
|
||||
CtF/hWVjPOHuGtc0FK8blslieJCiIml+gwQJocvMxzb0NHODZNXsX8EYnKI2s3u9
|
||||
aq3sUmrOBR1miOLrAv4N5jCn4jC/0F9FFlvxvg/Kq4N3Ct8wpRvdel5WP6dYfUlm
|
||||
p7as++Xmt907ZgzVuogq2iko1Xgxn84bISbJkO/v0a/y+P7O4XacE6nY0pSUyIut
|
||||
XgcXKQ3zFgZrBzjGYJ7E2d8K3WF6O9JOOJqAOwIDAQABAoIBAGYur1W4myKByHyd
|
||||
MgWBjeOiQ7Jgp9vIo2AXUlGwJvXZoauSAnpQPtc1FieJVu5/7S1lcT+MhWTCbAPN
|
||||
nY+vAr7qenAoR+pCdyUFuh640X2XJzZDuoEmHx59m1hgmApmN3nYn58XIH4qU9MJ
|
||||
mikD3ARfdCVPJggpzgzrEDq5sgQpmEZnVhAj7j4pdwnbNgt7sTzpltiQvrdcUx/v
|
||||
uUEoTRkdUJhwaJ8aItl958aGKq7wopd6c8zsuBLQlIDI1O/CNg7NrE47pvMkMpHo
|
||||
eXXVGPA0wVHbDejhEKXnQCAW0W/k2J3BDJhoZG15FErDmRg25oInmT27U15LZ9YI
|
||||
TKwzWqECgYEA9nuUL8RIkmTX+fJF3djfrKn4KWWF9qUbEHzx78byeK2WxP1magfZ
|
||||
m4gVIbg+f6q6ix0/VvkA992kDTcnZGFi7iAWBi5j8XE8iDQCFvOdMXLDi9KqL/ID
|
||||
XE2SbpwnKBZm1tf+a6U5nlHsZWkGn1qaESFqmSjJ0/lDeqdQ+bjTMusCgYEA4Mci
|
||||
euHbIn8NoqE9UAbCmTVIrS2MbSYPUZZmh/GSaC70024nGjQVl3dQiYC7nTBrKfPC
|
||||
H3CfcbHhUpqek+imLukaJdR7yAB5AJRE+hLcHR/0Zqe2JmgLZOK8ikPvdGzeY4Qb
|
||||
wtKVDtPkW6HMT+p4lCleppJs+fyCOEG2oQO4c/ECgYAFJwwv+3Bw7v680N25B4GV
|
||||
gHAZnW+xej4YmCQOmSAUebx/HbT4XnWkFLIsZEeaL516rv/V95qXk+CMDi0aohaJ
|
||||
V85eDrY0I+PaDQxGIo2UrQt9bsfz/KEpWs3G1ijTY7R+pUFCSs/riVbhv9JNnn0+
|
||||
Am7SCNI/RiSs+bZtofl4RQKBgC2yzqPE/1RIGHGT7m8ysKWNW7U5qW8Xac3gkf/Z
|
||||
cTaVNVk27+Q36pvcuhb6gSo4CdGBqVnS/9eRnom4vby8c+zdn19Jj9Ddp7wiaNOe
|
||||
ufmB4aJtPm8YgBiGsGY74Zb9+0ioNyyou31EPw0SHAOzW8hjkMa0xksctyzQz1x0
|
||||
8S9BAoGBAKBt52EG2N5AdqAL2rFods7+J+wSZ09IOF4YVTMqDxow/QyHOPRB5tbk
|
||||
p1TBlXb0p54A+C9cEKjT+/y5Bhf5sz1afUVlqkczcC2i5jiKW9A5dWCOQKe5C3nl
|
||||
z4gkcWMFwz0PY60BCbdk13pKUcJX6M/Tluf7xuYl2t59C0CXN5WH
|
||||
-----END RSA PRIVATE KEY-----
|
||||
1
tests/files/test_rsa.pub
Normal file
1
tests/files/test_rsa.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYa9zstumlg7XkKoNrJMlIN/zteqMA9J4GjuZA7r0xfMPrz4CglxzYKd/BhBpwp/HhU+vSR6vBa15kRODHdPZ+T1oXzMXAmMT3R2ZJRqF280Hsx9sK0X+FZWM84e4a1zQUrxuWyWJ4kKIiaX6DBAmhy8zHNvQ0c4Nk1exfwRicojaze71qrexSas4FHWaI4usC/g3mMKfiML/QX0UWW/G+D8qrg3cK3zClG916XlY/p1h9SWantqz75ea33TtmDNW6iCraKSjVeDGfzhshJsmQ7+/Rr/L4/s7hdpwTqdjSlJTIi61eBxcpDfMWBmsHOMZgnsTZ3wrdYXo70k44moA7 vagrant@test
|
||||
@@ -11,11 +11,13 @@ function main {
|
||||
function run-tests {
|
||||
trap "destroy-infrastructure; exit 1" ERR
|
||||
echo Building vagrant infrastructure
|
||||
test "Building infrastructure with vagrant up should not fail." \
|
||||
"vagrant up > /dev/null"
|
||||
vagrant up
|
||||
|
||||
test "Running command on a vagrant node should not fail." \
|
||||
vagrant ssh bootstrap -c ls
|
||||
"vagrant ssh client -c 'ls /vagrant'"
|
||||
|
||||
test "Client vagrant machine can ssh into bootstrap." \
|
||||
"vagrant ssh client -c 'ssh -o StrictHostKeyChecking=no -i /home/vagrant/test_rsa vagrant@192.168.254.2 ls'"
|
||||
}
|
||||
|
||||
function destroy-infrastructure {
|
||||
|
||||
Reference in New Issue
Block a user