vagrant-yarrs-and-yamls 0.8.3 → 0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. checksums.yaml +13 -5
  2. data/Gemfile +2 -0
  3. data/README.md +58 -11
  4. data/Yarrs.example.yaml +20 -0
  5. data/example.Vagrantfile +2 -8
  6. data/lib/scripts/apache2.sh +34 -0
  7. data/lib/scripts/apache2_ssl.sh +24 -0
  8. data/lib/scripts/base.sh +32 -0
  9. data/lib/scripts/composer.sh +28 -0
  10. data/lib/scripts/deploy.sh +38 -0
  11. data/lib/scripts/deploy_init.sh +11 -0
  12. data/lib/scripts/export_vars.sh +16 -0
  13. data/lib/scripts/git.sh +11 -0
  14. data/lib/scripts/hhvm.sh +33 -0
  15. data/lib/scripts/install-nodejs-modules.sh +19 -0
  16. data/lib/scripts/mariadb.sh +35 -0
  17. data/lib/scripts/mysql-create-databases.sh +19 -0
  18. data/lib/scripts/mysql.sh +28 -0
  19. data/lib/scripts/mysql_client.sh +22 -0
  20. data/lib/scripts/newrelic_php.sh +37 -0
  21. data/lib/scripts/nginx.sh +26 -0
  22. data/lib/scripts/nginx_site.sh +27 -0
  23. data/lib/scripts/nodejs.sh +24 -0
  24. data/lib/scripts/nvm.sh +30 -0
  25. data/lib/scripts/permissions.sh +18 -0
  26. data/lib/scripts/php.sh +25 -0
  27. data/lib/scripts/php_configure.sh +18 -0
  28. data/lib/scripts/php_xdebug.sh +18 -0
  29. data/lib/scripts/phpbrew.sh +11 -0
  30. data/lib/scripts/postfix.sh +13 -0
  31. data/lib/scripts/pubkeys.sh +35 -0
  32. data/lib/scripts/rvm.sh +35 -0
  33. data/lib/scripts/test.sh +48 -0
  34. data/lib/scripts/tz.sh +8 -0
  35. data/lib/scripts/wp_env.sh +16 -0
  36. data/lib/scripts/wpcli.sh +27 -0
  37. data/lib/templates/apache2.conf +151 -0
  38. data/lib/templates/apache2_vhost_http.conf +8 -0
  39. data/lib/templates/apache2_vhost_https.conf +16 -0
  40. data/lib/templates/apache2_vhost_redirect_http.conf +17 -0
  41. data/lib/templates/apache2_vhost_redirect_https.conf +18 -0
  42. data/lib/templates/gitconfig.conf +32 -0
  43. data/lib/templates/logrotate.conf +14 -0
  44. data/lib/templates/nginx.conf +56 -0
  45. data/lib/templates/nginx_vhost.erb +45 -0
  46. data/lib/templates/proxy_params.conf +3 -0
  47. data/lib/templates/xdebug.ini +6 -0
  48. data/lib/vagrant-yarrs-and-yamls/api.rb +423 -0
  49. data/lib/vagrant-yarrs-and-yamls/plugin.rb +4 -48
  50. data/lib/vagrant-yarrs-and-yamls/version.rb +1 -1
  51. data/vagrant-yarrs-and-yamls.gemspec +1 -1
  52. metadata +51 -8
  53. data/example.Vagrantfile.yml +0 -8
  54. data/lib/vagrant-yarrs-and-yamls/v1.rb +0 -234
@@ -0,0 +1,19 @@
1
+ #!/bin/sh
2
+
3
+ echo "mysql-create-databases.sh: provisioning starts"
4
+
5
+ # check if not installed
6
+ if ! which mysql > /dev/null 2>&1; then
7
+ echo "mysql is not installed" 1>&2
8
+ exit 1
9
+ fi
10
+
11
+ [ ! -z $MYSQL_ROOT_PASSWORD ] && PASS=" -p=$MYSQL_ROOT_PASSWORD" || PASS=''
12
+
13
+ for DB in "$@"
14
+ do
15
+ echo "mysql-create-databases.sh: creating databse: $DB ..."
16
+ mysql -uroot$PASS -e "CREATE DATABASE IF NOT EXISTS \`$DB\`;" > /dev/null
17
+ done
18
+
19
+ echo "mysql-create-databases.sh: provisioning ends"
@@ -0,0 +1,28 @@
1
+ #!/bin/sh
2
+
3
+ echo "mysql.sh: provisioning starts"
4
+
5
+ # MySQL
6
+ if ! mysql --version > /dev/null 2>&1; then
7
+ sudo DEBIAN_FRONTEND=noninteractive apt-get -y -q install mysql-server mysql-client
8
+ fi
9
+
10
+ # check if not installed
11
+ if ! which mysql > /dev/null 2>&1; then
12
+ echo "mysql.sh: mysql failed to install :/" 1>&2
13
+ exit 1
14
+ fi
15
+
16
+ # reset root mysql password
17
+ [ ! -z $MYSQL_ROOT_PASSWORD ] && PASS=" -p=$MYSQL_ROOT_PASSWORD" && mysqladmin -uroot password $MYSQL_ROOT_PASSWORD > /dev/null 2>&1 || PASS=''
18
+
19
+ if test -d "/home/vagrant"; then
20
+ echo "mysql.sh: Setting up vagrant mysql user" 1>&2
21
+ mysql -uroot -p$PASS -e "CREATE USER 'vagrant'@'localhost' IDENTIFIED BY '';" > /dev/null 2>&1
22
+ mysql -uroot -p$PASS -e "CREATE USER 'vagrant'@'%' IDENTIFIED BY '';" > /dev/null 2>&1
23
+ mysql -uroot -p$PASS -e "GRANT ALL PRIVILEGES ON *.* TO 'vagrant'@'localhost' WITH GRANT OPTION;" > /dev/null 2>&1
24
+ mysql -uroot -p$PASS -e "GRANT ALL PRIVILEGES ON *.* TO 'vagrant'@'%' WITH GRANT OPTION;" > /dev/null 2>&1
25
+ mysql -uroot -p$PASS -e "FLUSH PRIVILEGES;" > /dev/null 2>&1
26
+ fi
27
+
28
+ echo "mysql.sh: provisioning ends"
@@ -0,0 +1,22 @@
1
+ #!/bin/sh
2
+
3
+ echo "mysql_client.sh: provisioning starts"
4
+
5
+ # MySQL
6
+ if ! mysql --version > /dev/null 2>&1; then
7
+ sudo DEBIAN_FRONTEND=noninteractive apt-get -y -q install mysql-client
8
+ fi
9
+
10
+ # check if not installed
11
+ if ! which mysql > /dev/null 2>&1; then
12
+ echo "mysql.sh: mysql failed to install :/" 1>&2
13
+ exit 1
14
+ fi
15
+
16
+ echo "-+-+-+- software versions:"
17
+ mysql --version
18
+
19
+ echo "-+-+-+- service status:"
20
+ service mysql status
21
+
22
+ echo "mysql_client.sh: provisioning ends"
@@ -0,0 +1,37 @@
1
+ #!/bin/sh
2
+
3
+ # Docs: https://docs.newrelic.com/docs/agents/php-agent
4
+
5
+ echo "new_relic_php.sh: provisioning starts"
6
+
7
+ ENV=/var/www/.env
8
+
9
+ if [[ -e $ENV ]]; then
10
+ echo "new_relic_php.sh: Sourcing $ENV"
11
+ source $ENV
12
+ else
13
+ echo "new_relic_php.sh: Failed to load env settings"
14
+ exit 1
15
+ fi
16
+
17
+ if [[ -n "$NEW_RELIC_APP_NAME" || -n $NEW_RELIC_LICENSE_KEY ]]; then
18
+ echo "new_relic_php.sh: Updating newrelic.ini"
19
+ echo newrelic-php5 newrelic-php5/application-name string "$NEW_RELIC_APP_NAME" | sudo debconf-set-selections
20
+ echo newrelic-php5 newrelic-php5/license-name string "$NEW_RELIC_LICENSE_KEY" | sudo debconf-set-selections
21
+
22
+ cat <<EOT > /etc/php5/apache2/conf.d/newrelic.ini
23
+ newrelic.appname="$NEW_RELIC_APP_NAME"
24
+ newrelic.license="$NEW_RELIC_LICENSE_KEY"
25
+ EOT
26
+ fi
27
+
28
+ wget -O - https://download.newrelic.com/548C16BF.gpg | sudo apt-key add -
29
+ sudo sh -c 'echo "deb http://apt.newrelic.com/debian/ newrelic non-free" > /etc/apt/sources.list.d/newrelic.list'
30
+ sudo apt-get update
31
+ sudo apt-get install -y newrelic-php5
32
+ sudo newrelic-install install
33
+
34
+ sudo service apache2 restart
35
+ sudo service php5-fpm restart
36
+
37
+ echo "new_relic_php.sh: provisioning ends"
@@ -0,0 +1,26 @@
1
+ #!/bin/sh
2
+
3
+ echo "nginx.sh: provisioning starts"
4
+
5
+ # web server
6
+ if ! which nginx > /dev/null 2>&1; then
7
+ nginx=stable # use nginx=development for latest development version
8
+ add-apt-repository ppa:nginx/$nginx
9
+ apt-get update
10
+ sudo apt-get install -y nginx
11
+ sudo apt-get install -y python-software-properties
12
+ sudo service nginx restart
13
+ fi
14
+
15
+ # check if not installed
16
+ if ! which nginx > /dev/null 2>&1; then
17
+ echo "nginx.sh: nginx failed to install :/" 1>&2
18
+ exit 1
19
+ fi
20
+
21
+ rm /etc/nginx/sites-available/* > /dev/null 2>&1
22
+ rm /etc/nginx/sites-enabled/* > /dev/null 2>&1
23
+
24
+ service nginx start
25
+
26
+ echo "nginx.sh: provisioning ends"
@@ -0,0 +1,27 @@
1
+ #!/bin/sh
2
+
3
+ # Exit if no args are passed in
4
+ [ -z $1 ] && exit
5
+
6
+ echo "nginx_site.sh: provisioning starts"
7
+
8
+ HOST=$1
9
+ HOSTPATH=$2
10
+ CONFIG=$3
11
+
12
+ # SSL
13
+ mkdir -p /etc/nginx/ssl 2>/dev/null
14
+ openssl genrsa -out "/etc/nginx/ssl/$HOST.key" 1024 2>/dev/null
15
+ openssl req -new -key /etc/nginx/ssl/$HOST.key -out /etc/nginx/ssl/$HOST.csr -subj "/CN=$HOST/O=Vagrant/C=UK" 2>/dev/null
16
+ openssl x509 -req -days 365 -in /etc/nginx/ssl/$HOST.csr -signkey /etc/nginx/ssl/$HOST.key -out /etc/nginx/ssl/$HOST.crt 2>/dev/null
17
+
18
+ # CONFIG
19
+
20
+ echo "nginx_ensite $HOST"
21
+ echo $CONFIG > "/etc/nginx/sites-available/$HOST"
22
+ ln -fs "/etc/nginx/sites-available/$HOST" "/etc/nginx/sites-enabled/$HOST"
23
+
24
+ service nginx restart 2>/dev/null
25
+ service php5-fpm restart 2>/dev/null
26
+
27
+ echo "nginx_site.sh: provisioning ends"
@@ -0,0 +1,24 @@
1
+ #!/bin/sh
2
+
3
+ echo "nodejs.sh: provisioning starts"
4
+
5
+ # MySQL
6
+ if ! node --version > /dev/null 2>&1; then
7
+ curl -sL https://deb.nodesource.com/setup | sudo bash -
8
+ apt-get install -y nodejs
9
+ fi
10
+
11
+ # check if not installed
12
+ if ! which node > /dev/null 2>&1; then
13
+ echo "nodejs.sh: node failed to install :/" 1>&2
14
+ exit 1
15
+ fi
16
+
17
+ echo "nodejs.sh: provisioning ends"
18
+
19
+ # BLEEDING - OR just use NGINX
20
+
21
+ # Run Node.js apps on low ports without running as root
22
+ # http://technosophos.com/2012/12/17/run-nodejs-apps-low-ports-without-running-root.html
23
+ # sudo apt-get install libcap2-bin
24
+ # sudo setcap cap_net_bind_service=+ep $(which iojs)
@@ -0,0 +1,30 @@
1
+ #!/bin/sh
2
+
3
+ echo "nvm.sh: provisioning starts"
4
+
5
+ rm /etc/profile.d/nvm.sh > /dev/null 2>&1
6
+
7
+ cat > /etc/profile.d/nvm.sh <<- NVM
8
+ if [[ \$- == *i* ]]; then
9
+
10
+ if ! nvm --version > /dev/null 2>&1; then
11
+ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.1/install.sh | bash
12
+ fi
13
+
14
+ source ~/.nvm/nvm.sh
15
+
16
+ nvm --version
17
+ nvm install stable
18
+ nvm use stable
19
+ fi
20
+ NVM
21
+
22
+ echo "nvm.sh: provisioning ends"
23
+ exit
24
+
25
+ # BLEEDING - OR just use NGINX
26
+
27
+ # Run Node.js apps on low ports without running as root
28
+ # http://technosophos.com/2012/12/17/run-nodejs-apps-low-ports-without-running-root.html
29
+ # sudo apt-get install libcap2-bin
30
+ # sudo setcap cap_net_bind_service=+ep $(which iojs)
@@ -0,0 +1,18 @@
1
+ #!/bin/sh
2
+
3
+ echo "permissions.sh: provisioning starts"
4
+
5
+ WEB_GROUP=www-data
6
+ WEB_DIR=/var/www
7
+
8
+ if [ -d /home/ubuntu ]; then
9
+ sudo usermod -g $WEB_GROUP ubuntu
10
+ else
11
+ echo "permissions.sh: failed adding ubuntu to $WEB_GROUP."
12
+ fi
13
+
14
+ sudo chown -R root:$WEB_GROUP $WEB_DIR
15
+ sudo chmod 2775 $WEB_DIR
16
+ sudo chown $WEB_GROUP $WEB_DIR/web/.htaccess
17
+
18
+ echo "permissions.sh: provisioning ends"
@@ -0,0 +1,25 @@
1
+ #!/bin/sh
2
+
3
+ echo "php.sh: provisioning starts"
4
+
5
+ # PHP
6
+ sudo apt-get -y install php5-fpm php5-cli
7
+ sudo apt-get -y install php5-mysql php5-curl php5-gd php5-imagick php5-mcrypt
8
+
9
+ sudo php5enmod mcrypt
10
+
11
+ if ! which php > /dev/null 2>&1; then
12
+ echo "php.sh: php failed to install :/" 1>&2
13
+ exit 1
14
+ fi
15
+
16
+ rm /etc/php5/fpm/conf.d/00-xdebug.ini
17
+ rm /etc/php5/apache2/conf.d/00-xdebug.ini
18
+
19
+ echo "php.sh: -+-+-+- software versions:"
20
+ php --version
21
+
22
+ echo "php.sh: -+-+-+- service status:"
23
+ service php5-fpm status
24
+
25
+ echo "php.sh: provisioning ends"
@@ -0,0 +1,18 @@
1
+ #!/bin/sh
2
+
3
+ echo "php_configure.sh: provisioning starts"
4
+
5
+ # check prereq
6
+ if ! which php > /dev/null 2>&1; then
7
+ echo "php_configure.sh: php not installed :/" 1>&2
8
+ exit 1
9
+ fi
10
+
11
+ # https://raw.githubusercontent.com/php/php-src/PHP-7.0.0/php.ini-development
12
+ # https://raw.githubusercontent.com/php/php-src/PHP-7.0.0/php.ini-production
13
+
14
+ # php.ini
15
+ sudo sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php5/fpm/php.ini
16
+ sudo sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php5/apache2/php.ini
17
+
18
+ echo "php_configure.sh: provisioning ends"
@@ -0,0 +1,18 @@
1
+ #!/bin/sh
2
+
3
+ echo "php_xdebug.sh: provisioning starts"
4
+
5
+ # check if not installed
6
+ if ! which php > /dev/null 2>&1; then
7
+ echo "php_xdebug.sh: Abort. php not installed :/" 1>&2
8
+ exit 1
9
+ fi
10
+
11
+ ## PHP
12
+ sudo apt-get install -y php5-xdebug
13
+
14
+ [ ! -z $1 ] && cat $1 > /etc/php5/fpm/conf.d/00-xdebug.ini
15
+
16
+ sudo service php5-fpm restart
17
+
18
+ echo "php_xdebug.sh: provisioning ends"
@@ -0,0 +1,11 @@
1
+ #!/bin/sh
2
+
3
+ echo "phpbrew.sh: provisioning starts"
4
+
5
+ curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew
6
+ chmod +x phpbrew
7
+ sudo mv phpbrew /usr/bin/phpbrew
8
+
9
+ phpbrew init
10
+
11
+ echo "phpbrew.sh: provisioning ends"
@@ -0,0 +1,13 @@
1
+ #!/bin/sh
2
+
3
+ echo "postfix.sh: provisioning starts"
4
+
5
+ echo "postfix postfix/mailname string `hostname`" | debconf-set-selections
6
+ echo "postfix postfix/main_mailer_type string 'Internet Site'" | debconf-set-selections
7
+ DEBIAN_FRONTEND=noninteractive apt-get install -y -q --force-yes postfix
8
+ sudo apt-get install -y postfix
9
+ sudo apt-get install -y mailutils default-mta
10
+
11
+ sudo service postfix restart
12
+
13
+ echo "postfix.sh: provisioning ends"
@@ -0,0 +1,35 @@
1
+ #!/bin/sh
2
+
3
+ echo "pubkeys.sh: provisioning starts"
4
+
5
+ if [ -z $1 ]; then
6
+ echo "no users are passed in.\n";
7
+ exit 1
8
+ fi
9
+
10
+ for zeUser in "$@"
11
+ do
12
+ echo "[github_ssh_keys]: $zeUser"
13
+
14
+ if [ ! -e /home/$zeUser ]; then
15
+ sudo useradd -d /home/$zeUser $zeUser
16
+ fi
17
+
18
+ ## create new non-root user
19
+ sudo usermod -a -G www-data $zeUser
20
+ sudo mkdir -p /home/$zeUser/.ssh
21
+
22
+ if [ ! -e ~/$zeUser.keys ]; then
23
+ sudo wget https://github.com/$zeUser.keys
24
+ fi
25
+
26
+ if [ -e ~/$zeUser.keys ]; then
27
+ sudo cat $zeUser.keys > /home/$zeUser/.ssh/authorized_keys
28
+ fi
29
+
30
+ sudo chown -R $zeUser: /home/$zeUser
31
+ sudo chmod 600 /home/$zeUser/.ssh/authorized_keys
32
+ sudo chmod 700 /home/$zeUser/.ssh/
33
+ done
34
+
35
+ echo "pubkeys.sh: provisioning ends"
@@ -0,0 +1,35 @@
1
+ # RVM Install
2
+
3
+ echo "rvm.sh: provisioning starts"
4
+
5
+ FILE=/etc/profile.d/rvm.sh
6
+ SCRIPT=~/.rvm/scripts/rvm
7
+
8
+ cat > $FILE <<- RVM
9
+ if [[ \$- == *i* ]]; then
10
+
11
+ echo progress-bar >> ~/.curlrc
12
+
13
+ if [[ ! -e $SCRIPT ]]; then
14
+ echo "NOT THERE"
15
+ else
16
+ echo "YES ITS THERE"
17
+ fi
18
+
19
+ if [[ ! -e ~/.rvmrc ]]; then
20
+ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
21
+ sudo \curl -sSL https://get.rvm.io | bash -s stable --without-gems="rvm rubygems-bundler"
22
+ rvm get head --auto-dotfiles
23
+ sudo rvm install 2.0.0-p195
24
+ sudo gem install bundler zeus
25
+ fi
26
+
27
+ echo "sudo source $SCRIPT"
28
+ source $SCRIPT
29
+ fi
30
+ RVM
31
+
32
+ chmod +x $FILE
33
+
34
+ echo "rvm.sh: provisioning ends"
35
+ exit
@@ -0,0 +1,48 @@
1
+ #!/bin/bash
2
+
3
+ set -e
4
+
5
+ # Updating and Upgrading dependencies
6
+ sudo apt-get update -y -qq > /dev/null
7
+ sudo apt-get upgrade -y -qq > /dev/null
8
+
9
+ # Install necessary libraries for guest additions and Vagrant NFS Share
10
+ sudo apt-get -y -q install linux-headers-$(uname -r) build-essential dkms nfs-common
11
+
12
+ # Install necessary dependencies
13
+ sudo apt-get -y -q install curl wget git tmux firefox xvfb vim
14
+
15
+ # Setup sudo to allow no-password sudo for "admin"
16
+ groupadd -r admin
17
+ usermod -a -G admin vagrant
18
+ cp /etc/sudoers /etc/sudoers.orig
19
+ sed -i -e '/Defaults\s\+env_reset/a Defaults\texempt_group=admin' /etc/sudoers
20
+ sed -i -e 's/%admin ALL=(ALL) ALL/%admin ALL=NOPASSWD:ALL/g' /etc/sudoers
21
+
22
+
23
+ ##########
24
+
25
+ # # Installing vagrant keys
26
+ # mkdir ~/.ssh
27
+ # chmod 700 ~/.ssh
28
+ # cd ~/.ssh
29
+ # wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys
30
+ # chmod 600 ~/.ssh/authorized_keys
31
+ # chown -R vagrant ~/.ssh
32
+
33
+ # # Node.js Setup
34
+ # wget --retry-connrefused -q -O - https://raw.github.com/creationix/nvm/master/install.sh | sh
35
+ # source ~/.nvm/nvm.sh
36
+ #
37
+ # nvm install 0.10.18
38
+ # nvm alias default 0.10.18
39
+ #
40
+ # echo "source ~/.nvm/nvm.sh" >> ~/.bash_profile
41
+
42
+ # # RVM Install
43
+ # wget --retry-connrefused -q -O - https://get.rvm.io | bash -s stable
44
+ # source /home/vagrant/.rvm/scripts/rvm
45
+ #
46
+ # rvm autolibs read-fail
47
+ # rvm install 2.0.0-p195
48
+ # gem install bundler zeus