summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--puppet/modules/leap/manifests/cli/install.pp33
-rwxr-xr-xvagrant/configure-leap.sh33
-rwxr-xr-xvagrant/install-platform.pp32
3 files changed, 58 insertions, 40 deletions
diff --git a/puppet/modules/leap/manifests/cli/install.pp b/puppet/modules/leap/manifests/cli/install.pp
new file mode 100644
index 00000000..858bd7da
--- /dev/null
+++ b/puppet/modules/leap/manifests/cli/install.pp
@@ -0,0 +1,33 @@
+# installs leap_cli on node
+class leap::cli::install ( $source = false ) {
+ if $source {
+ # needed for building leap_cli from source
+ include ::git
+ include ::site_config::ruby::dev
+
+ vcsrepo { '/srv/leap/cli':
+ ensure => present,
+ force => true,
+ revision => 'develop',
+ provider => 'git',
+ source => 'https://leap.se/git/leap_cli.git',
+ owner => 'root',
+ group => 'root',
+ notify => Exec['install_leap_cli'],
+ require => Package['git']
+ }
+
+ exec { 'install_leap_cli':
+ command => '/usr/bin/rake build && /usr/bin/rake install',
+ cwd => '/srv/leap/cli',
+ refreshonly => true,
+ require => [ Package['ruby-dev'], File['/etc/gemrc'], Package['rake'] ]
+ }
+ }
+ else {
+ package { 'leap_cli':
+ ensure => installed,
+ provider => gem
+ }
+ }
+}
diff --git a/vagrant/configure-leap.sh b/vagrant/configure-leap.sh
index 9541e194..332bdddf 100755
--- a/vagrant/configure-leap.sh
+++ b/vagrant/configure-leap.sh
@@ -1,13 +1,15 @@
#!/bin/bash
-. /vagrant/vagrant/vagrant.config
+. /vagrant/vagrant/vagrant.config
#OPTS='--no-color'
OPTS=''
-PROVIDERDIR='/srv/leap/configuration'
+USER='vagrant'
NODE='node1'
-LEAP='/usr/local/bin/leap'
+SUDO="sudo -u ${USER}"
+PROVIDERDIR="/home/${USER}/leap/configuration"
+LEAP="$SUDO /usr/local/bin/leap"
echo '==============================================='
echo 'configuring leap'
@@ -15,19 +17,22 @@ echo '==============================================='
# purge $PROVIDERDIR so this script can be run multiple times
[ -e $PROVIDERDIR ] && rm -rf $PROVIDERDIR
-mkdir $PROVIDERDIR
+
+mkdir -p $PROVIDERDIR
+chown ${USER}:${USER} ${PROVIDERDIR}
cd $PROVIDERDIR
$LEAP $OPTS new --contacts "$contacts" --domain "$provider_domain" --name "$provider_name" --platform=/vagrant .
-echo -e '\n@log = "/var/log/leap/deploy.log"' >> Leapfile
+$SUDO echo -e '\n@log = "/var/log/leap/deploy.log"' >> Leapfile
-if [ ! -e /root/.ssh/id_rsa ]; then
- ssh-keygen -f /root/.ssh/id_rsa -P ''
- cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
+if [ ! -e /home/${USER}/.ssh/id_rsa ]; then
+ $SUDO ssh-keygen -f /home/${USER}/.ssh/id_rsa -P ''
+ cat /home/${USER}/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
fi
-mkdir -p $PROVIDERDIR/files/nodes/$NODE
+$SUDO mkdir -p ${PROVIDERDIR}/files/nodes/${NODE}
sh -c "cat /etc/ssh/ssh_host_rsa_key.pub | cut -d' ' -f1,2 >> $PROVIDERDIR/files/nodes/$NODE/${NODE}_ssh.pub"
+chown ${USER}:${USER} ${PROVIDERDIR}/files/nodes/${NODE}/${NODE}_ssh.pub
$LEAP $OPTS add-user --self
$LEAP $OPTS cert ca
@@ -41,17 +46,13 @@ git init
git add .
git commit -m'configured provider'
-$LEAP $OPTS node init $NODE
+$LEAP $OPTS node init $NODE
if [ $? -eq 1 ]; then
echo 'node init failed'
exit 1
fi
$LEAP $OPTS -v 2 deploy
-if [ $? -eq 1 ]; then
- echo 'deploy failed'
- exit 1
-fi
set +e
git add .
@@ -69,9 +70,6 @@ echo 'setting node to demo-mode'
echo '==============================================='
postconf -e default_transport='error: in demo mode'
-sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
-/etc/init.d/ssh reload
-
# add users: testadmin and testuser with passwords "hallo123"
curl -s -k https://localhost/1/users.json -d "user%5Blogin%5D=testuser&user%5Bpassword_salt%5D=7d4880237a038e0e&user%5Bpassword_verifier%5D=b98dc393afcd16e5a40fb57ce9cddfa6a978b84be326196627c111d426cada898cdaf3a6427e98b27daf4b0ed61d278bc856515aeceb2312e50c8f816659fcaa4460d839a1e2d7ffb867d32ac869962061368141c7571a53443d58dc84ca1fca34776894414c1090a93e296db6cef12c2cc3f7a991b05d49728ed358fd868286"
curl -s -k https://localhost/1/users.json -d "user%5Blogin%5D=testadmin&user%5Bpassword_salt%5D=ece1c457014d8282&user%5Bpassword_verifier%5D=9654d93ab409edf4ff1543d07e08f321107c3fd00de05c646c637866a94f28b3eb263ea9129dacebb7291b3374cc6f0bf88eb3d231eb3a76eed330a0e8fd2a5c477ed2693694efc1cc23ae83c2ae351a21139701983dd595b6c3225a1bebd2a4e6122f83df87606f1a41152d9890e5a11ac3749b3bfcf4407fc83ef60b4ced68"
@@ -80,4 +78,3 @@ echo -e '\n\n\n'
echo 'You are now ready to use your provider. Please update your /etc/hosts with following dns overrides:'
$LEAP list --print ip_address,domain.full,dns.aliases | sed 's/,//g' | cut -d' ' -f 2-
-
diff --git a/vagrant/install-platform.pp b/vagrant/install-platform.pp
index 465ca78a..5ea834b1 100755
--- a/vagrant/install-platform.pp
+++ b/vagrant/install-platform.pp
@@ -3,34 +3,22 @@ File['/etc/apt/preferences'] ->
Exec['refresh_apt'] ->
Package <| ( title != 'lsb' ) |>
-package { [ 'rsync', 'ruby-hiera-puppet', 'git', 'ruby1.9.1-dev', 'rake', 'jq' ]:
- ensure => installed
-}
-
-file { '/etc/gemrc':
- content => "---\n:sources:\n - https://rubygems.org/"
-}
-vcsrepo { '/srv/leap/leap_cli':
- ensure => present,
- force => true,
- revision => 'develop',
- provider => 'git',
- source => 'https://leap.se/git/leap_cli.git',
- owner => 'root',
- group => 'root',
- notify => Exec['install_leap_cli'],
- require => Package['git']
+if $::lsbdistcodename == 'wheezy' {
+ package { 'ruby-hiera-puppet':
+ ensure => installed
+ }
}
-exec { 'install_leap_cli':
- command => '/usr/bin/rake build && /usr/bin/rake install',
- cwd => '/srv/leap/leap_cli',
- refreshonly => true,
- require => [ Package['ruby1.9.1-dev'], File['/etc/gemrc'], Package['rake'] ]
+# install leap_cli from source, so it will work with the develop
+# branch of leap_platform
+class { '::leap::cli::install':
+ source => true,
}
file { [ '/srv/leap', '/srv/leap/configuration', '/var/log/leap' ]:
ensure => directory
}
+# install prerequisites for configuring the provider
+include ::git