salted_rails_server 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 993832613e203582e81d1e5390f3d090fdee21ee
4
+ data.tar.gz: dec9214f44b92a28d8e929bdc1ed6f7d1bf17d04
5
+ SHA512:
6
+ metadata.gz: 84c1898a62afa2f144ea8e0931c1a9990b1fb916b8e7a89ffee8cca4376aef92ed9ea7682bee1476a08b82994587c201f52dc55e629e2c9e8ba9d75fdb260562
7
+ data.tar.gz: fb7a5e24ded3d9aaab036fc8082ce64356afd81b7fdc8c994729b99502597f0b085f3bf3228d3cb9d5a1b28a4466896278d9098bebbe949058e469d63db5b9f2
data/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
data/.travis.yml ADDED
@@ -0,0 +1,3 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.2.2
@@ -0,0 +1,13 @@
1
+ # Contributor Code of Conduct
2
+
3
+ As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
4
+
5
+ We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, age, or religion.
6
+
7
+ Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
8
+
9
+ Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
10
+
11
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
12
+
13
+ This Code of Conduct is adapted from the [Contributor Covenant](http:contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in salted_rails_server.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,128 @@
1
+ # salted_rails_server
2
+
3
+ A ruby on rails generator used to provision a new server with the following:
4
+
5
+ * User for running rails
6
+ * RVM
7
+ * NGINX
8
+ * Rails
9
+ * Elasticsearch
10
+ * NodeJS
11
+ * MySQL
12
+
13
+ ## Tested on
14
+
15
+ * Ubuntu 14.04
16
+ * Ubuntu 15.10
17
+
18
+ No reason this should not work on any other saltstack supported OS. If you have tried this on any other OS and it did not work, let me know.
19
+
20
+ ## salt-ssh installation
21
+
22
+ This code requires that you have Saltstack's salt-ssh already installed the system you are deploying from and a compatible version of python on the system you are deploying to.
23
+
24
+
25
+ Consult the following documentation for your OS:
26
+ https://docs.saltstack.com/en/latest/topics/installation/index.html
27
+
28
+ ## Installation
29
+
30
+ Add this line to your application's Gemfile:
31
+
32
+ ```ruby
33
+ gem 'salted_rails_server'
34
+ ```
35
+
36
+ And then execute:
37
+
38
+ $ bundle
39
+
40
+ And then generate code:
41
+
42
+ ```ruby
43
+ rails g salted_rails_server
44
+ ```
45
+
46
+ The following files will be generated:
47
+
48
+ * master
49
+ * roster
50
+ * Saltfile
51
+ * salted_rails_server/pillars*
52
+ * salted_rails_server/states/*
53
+
54
+ ## Configuration
55
+
56
+ Add your custom options to the following files:
57
+
58
+ * roster - remote host(s) information
59
+ * pillars/default/init.sls - usernames, password, versions of items to be installed
60
+
61
+
62
+ ## Running the code
63
+
64
+ Installing all states:
65
+
66
+ ```
67
+ sudo salt-ssh -i '*' state.apply setup
68
+ ```
69
+
70
+ Installing an individual state:
71
+
72
+ ```
73
+ sudo salt-ssh -i '*' state.apply state_file
74
+ ```
75
+
76
+ ### States to chose from
77
+
78
+ * elasticsearch
79
+ * mysql
80
+ * nginx
81
+ * node
82
+ * rails
83
+ * rvm
84
+ * user
85
+
86
+ ## Details on what the code does
87
+
88
+ ### User state
89
+
90
+ Creates a user that is defined in pillars/default/init.sls. If a user is not found it will default to user called deploy. This sate also addes the user to /etc/sudoers for executing code without the need for a password.
91
+
92
+ ### RSA state
93
+ Update pillars/default/init.sls to add your ssh key to log in as the user created in the user state
94
+
95
+ ### RVM state
96
+
97
+ Installed under the user that is created from the user state
98
+ Sets the default to the specified version in pillars/default/init.sls
99
+
100
+ ### Rails state
101
+
102
+ Installs the following gems in RVM
103
+
104
+ * Bundler
105
+ * Rails
106
+ * Unicorn
107
+
108
+ Finds or creates /var/www and sets the owner of that directory to the specified user in the user state
109
+
110
+ ### MySQL state
111
+
112
+ Creates a rails_user account with the appropriate permissions to run rails nothing more. Sets its password to what is specified in pillar/default/init.sls
113
+ Sets the root password to what is specified in pillar/default/init.sls
114
+
115
+
116
+ ## Caution
117
+
118
+ Take a look at the code before you use it to make sure that it works the way you expect or want. After the code is generated you can modify it to fit your needs before executing.
119
+
120
+ # Contributing
121
+
122
+ I am looking for constructive criticisim on making this better and easier for everyone who could use it.
123
+
124
+ 1. Fork it ( https://github.com/vmcilwain/salted_rails_server/fork )
125
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
126
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
127
+ 4. Push to the branch (`git push origin my-new-feature`)
128
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "salted_rails_server"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
data/bin/setup ADDED
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+
5
+ bundle install
6
+
7
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,56 @@
1
+ class SaltedRailsServerGenerator < Rails::Generators::Base
2
+ source_root File.expand_path('../templates', __FILE__)
3
+
4
+ desc 'create salted_rails_server directories'
5
+ def create_file_structure
6
+ run 'mkdir -p salted_rails_server/pillars'
7
+ run 'mkdir -p salted_rails_server/pillars/default'
8
+ run 'mkdir -p salted_rails_server/states'
9
+ end
10
+
11
+ desc 'generatre salted_rails_server default pillar template'
12
+ def copy_pillar_files
13
+ copy_file 'pillars/default/init.sls', 'salted_rails_server/pillars/default/init.sls'
14
+ copy_file 'pillars/top.sls', 'salted_rails_server/pillars/top.sls'
15
+ end
16
+
17
+ desc 'generate salted_rails_server state files'
18
+ def copy_state_files
19
+ copy_file 'states/elasticsearch.sls', 'salted_rails_server/states/elasticsearch.sls'
20
+ copy_file 'states/mysql.sls', 'salted_rails_server/states/mysql.sls'
21
+ copy_file 'states/nginx.sls', 'salted_rails_server/states/nginx.sls'
22
+ copy_file 'states/node.sls', 'salted_rails_server/states/node.sls'
23
+ copy_file 'states/rails.sls', 'salted_rails_server/states/rails.sls'
24
+ copy_file 'states/rvm.sls', 'salted_rails_server/states/rvm.sls'
25
+ copy_file 'states/setup.sls', 'salted_rails_server/states/setup.sls'
26
+ copy_file 'states/user.sls', 'salted_rails_server/states/user.sls'
27
+ end
28
+
29
+ desc 'generate salted_rails_server salt-ssh roster file'
30
+ def copy_roster
31
+ copy_file 'roster', 'roster'
32
+ end
33
+
34
+ desc 'generate salted_rails_server salt-ssh master file'
35
+ def generate_master
36
+ create_file 'master', <<-CODE
37
+ file_roots:
38
+ base:
39
+ - #{Rails.root}/salted_rails_server/states
40
+
41
+ pillar_roots:
42
+ base:
43
+ - #{Rails.root}/salted_rails_server/pillars
44
+ CODE
45
+ end
46
+
47
+ desc 'generate salted_rails_server salt-ssh Saltfile file'
48
+ def generate_saltfile
49
+ create_file "Saltfile", <<-CODE
50
+ salt-ssh:
51
+ config_dir: #{Rails.root}
52
+ roster_file: #{Rails.root}/roster
53
+ log_file: #{Rails.root}/saltlog.txt
54
+ CODE
55
+ end
56
+ end
@@ -0,0 +1,15 @@
1
+ default:
2
+ rails_env: development
3
+ user:
4
+ username: deploy
5
+ shell: /bin/bash
6
+ ssh:
7
+ key: ssh-rsa ......
8
+ ruby:
9
+ version: 2.2.3
10
+ mysql:
11
+ root_password: somepassword
12
+ rails_user: rails_user
13
+ rails_user_password: somepassword
14
+ elasticsearch:
15
+ version: elasticsearch-1.7.2.deb
@@ -0,0 +1,3 @@
1
+ base:
2
+ '*':
3
+ - default
@@ -0,0 +1,5 @@
1
+ managed:
2
+ host: IP or DNS Name or remote host
3
+ user: username on remote host
4
+ sudo: true
5
+ priv: /path/to/remote/user/.ssh/id_rsa
@@ -0,0 +1,27 @@
1
+ openjdk_7_jre:
2
+ pkg.installed:
3
+ - name: openjdk-7-jre
4
+
5
+ es_download:
6
+ cmd.run:
7
+ - name: wget -P /tmp/ https://download.elastic.co/elasticsearch/elasticsearch/{{ salt['pillar.get']('default:elasticsearch:version', 'elasticsearch-1.7.2.deb') }}
8
+ - require:
9
+ - pkg: openjdk_7_jre
10
+
11
+ es_install:
12
+ cmd.run:
13
+ - name: dpkg -i /tmp/{{ salt['pillar.get']('default:elasticsearch:version', 'elasticsearch-1.7.2.deb') }}
14
+ - require:
15
+ - cmd: es_download
16
+
17
+ es_auto_start:
18
+ cmd.run:
19
+ - name: update-rc.d elasticsearch defaults
20
+ - require:
21
+ - cmd: es_install
22
+
23
+ start_elasticsearch:
24
+ cmd.run:
25
+ - name: service elasticsearch start
26
+ - require:
27
+ - cmd: es_auto_start
@@ -0,0 +1,54 @@
1
+ python-mysqldb:
2
+ pkg.installed:
3
+ - name:
4
+ - python-mysqldb
5
+
6
+ debconf-utils:
7
+ pkg.installed:
8
+ - name:
9
+ - debconf-utils
10
+
11
+ mysql:
12
+ pkg.installed:
13
+ - name: mysql-server
14
+ service.running:
15
+ - restart: True
16
+ - enable: True
17
+ - require:
18
+ - pkg: mysql-server
19
+ - pkg: python-mysqldb
20
+ - watch:
21
+ - pkg: mysql-server
22
+
23
+ libmysqlclient-dev:
24
+ pkg.installed:
25
+ - name:
26
+ - libmysqlclient-dev
27
+ - require:
28
+ - pkg: mysql-server
29
+
30
+ mysql-client:
31
+ pkg.installed:
32
+ - name:
33
+ - mysql-client
34
+ - require:
35
+ - pkg: mysql-server
36
+
37
+ {{ salt['pillar.get']('default:mysql:rails_user', 'rails_user') }}:
38
+ mysql_user.present:
39
+ - host: localhost
40
+ - password: {{ salt['pillar.get']('default:mysql:rails_user_password', 'temppassword') }}
41
+ - connection_user: root
42
+ - connection_charset: utf8
43
+
44
+ rails_user_privs:
45
+ cmd.run:
46
+ - name: mysql -u root -e "GRANT Select,Insert,Update,Delete,Create,Drop,Index,Alter,Lock Tables ON *.* TO '{{ salt['pillar.get']('default:mysql:rails_user', 'rails_user') }}'@'localhost';"
47
+ - require:
48
+ - mysql_user: {{ salt['pillar.get']('default:mysql:rails_user', 'rails_user') }}
49
+
50
+ change root password:
51
+ cmd.run:
52
+ - name: mysql -u root -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('{{ salt['pillar.get']('default:mysql:root_password', 'temppassword') }}');"
53
+ - require:
54
+ - cmd: rails_user_privs
@@ -0,0 +1,5 @@
1
+ nginx:
2
+ pkg.installed: []
3
+ service.running:
4
+ - watch:
5
+ - pkg: nginx
@@ -0,0 +1,13 @@
1
+ nodejs:
2
+ pkg.installed
3
+
4
+ npm:
5
+ pkg.installed:
6
+ - require:
7
+ - pkg: nodejs
8
+
9
+ symlink:
10
+ cmd.run:
11
+ - name: ln -s /usr/bin/nodejs /usr/bin/node
12
+ - require:
13
+ - pkg: nodejs
@@ -0,0 +1,35 @@
1
+ bundler:
2
+ gem.installed:
3
+ - name: bundler
4
+ - user: {{ salt['pillar.get']('default:user:username', 'deploy') }}
5
+ - ruby: {{ salt['pillar.get']('default:ruby:version', '2.2.3') }}
6
+ rails:
7
+ gem.installed:
8
+ - name: rails
9
+ - user: {{ salt['pillar.get']('default:user:username', 'deploy') }}
10
+ - rdoc: False
11
+ - ri: False
12
+ - ruby: {{ salt['pillar.get']('default:ruby:version', '2.2.3') }}
13
+ - require:
14
+ - gem: bundler
15
+
16
+ unicorn:
17
+ gem.installed:
18
+ - name: unicorn
19
+ - user: {{ salt['pillar.get']('default:user:username', 'deploy') }}
20
+ - ruby: {{ salt['pillar.get']('default:ruby:version', '2.2.3') }}
21
+
22
+ rails_env:
23
+ cmd.run:
24
+ - name: "echo 'export RAILS_ENV={{ salt['pillar.get']('default:rails_env', 'development') }}' >> $HOME/.bashrc"
25
+ - user: {{ salt['pillar.get']('default:user:username', 'deploy') }}
26
+
27
+ mkdir /var/www:
28
+ cmd.run:
29
+ - creates: /var/www
30
+
31
+ chown /var/www:
32
+ cmd.run:
33
+ - name: chown {{ salt['pillar.get']('default:user:username', 'deploy') }}:{{ salt['pillar.get']('default:user:username', 'deploy') }} /var/www
34
+ - require:
35
+ - cmd: mkdir /var/www
@@ -0,0 +1,84 @@
1
+ # Comment out line 26 in /home/deploy/.profile. This is possibly causing issues.
2
+
3
+ gpg-deps:
4
+ pkg.installed:
5
+ - names:
6
+ - gpgv
7
+
8
+ gpg-import-D39DC0E3:
9
+ cmd.run:
10
+ - require:
11
+ - pkg: gpg-deps
12
+ - name: 'gpg --keyserver hkp://keys.gnupg.net:80 --recv-keys D39DC0E3'
13
+ - unless: "gpg --fingerprint |fgrep 'Key fingerprint = 409B 6B17 96C2 7546 2A17 0311 3804 BB82 D39D C0E3'"
14
+
15
+ rvm-deps:
16
+ pkg.installed:
17
+ - names:
18
+ - bash
19
+ - coreutils
20
+ - gzip
21
+ - bzip2
22
+ - gawk
23
+ - sed
24
+ - curl
25
+ - git-core
26
+ - subversion
27
+
28
+ mri-deps:
29
+ pkg.installed:
30
+ - names:
31
+ - build-essential
32
+ - openssl
33
+ - libreadline6
34
+ - libreadline6-dev
35
+ - curl
36
+ - git-core
37
+ - zlib1g
38
+ - zlib1g-dev
39
+ - libssl-dev
40
+ - libyaml-dev
41
+ - libsqlite3-0
42
+ - libsqlite3-dev
43
+ - sqlite3
44
+ - libxml2-dev
45
+ - libxslt1-dev
46
+ - autoconf
47
+ - libc6-dev
48
+ - libncurses5-dev
49
+ - automake
50
+ - libtool
51
+ - bison
52
+ - subversion
53
+ - ruby
54
+
55
+ rvm_install:
56
+ cmd.run:
57
+ - name: curl -sSL https://get.rvm.io | bash
58
+ - user: {{ salt['pillar.get']('default:user:username', 'deploy') }}
59
+ - unless: /home/rvm/.rvm/bin/rvm --version
60
+ - require:
61
+ - pkg: rvm-deps
62
+ - pkg: mri-deps
63
+ - cmd: gpg-import-D39DC0E3
64
+
65
+ rvm_reload:
66
+ cmd.run:
67
+ - name: source ~/.rvm/scripts/rvm
68
+ - user: {{ salt['pillar.get']('default:user:username', 'deploy') }}
69
+ - require:
70
+ - cmd: rvm_install
71
+
72
+ ruby-{{ salt['pillar.get']('default:ruby:version', '2.2.3') }}:
73
+ cmd.run:
74
+ - name: rvm install {{ salt['pillar.get']('default:ruby:version', '2.2.3') }}
75
+ - user: {{ salt['pillar.get']('default:user:username', 'deploy') }}
76
+ - require:
77
+ - cmd: rvm_reload
78
+
79
+ rvm_default:
80
+ cmd.run:
81
+ - name: /bin/bash --login -c 'rvm use {{ salt['pillar.get']('default:ruby:version', '2.2.3') }} --default'
82
+ - user: {{ salt['pillar.get']('default:user:username', 'deploy') }}
83
+ - require:
84
+ - cmd: ruby-{{ salt['pillar.get']('default:ruby:version', '2.2.3') }}
@@ -0,0 +1,8 @@
1
+ include:
2
+ - user
3
+ - mysql
4
+ - nginx
5
+ - rvm
6
+ - elasticsearch
7
+ - rails
8
+ - node
@@ -0,0 +1,21 @@
1
+ {{ salt['pillar.get']('user:username', 'deploy') }}:
2
+ user.present:
3
+ - name: {{ salt['pillar.get']('default:user:username', 'deploy') }}
4
+ - shell: {{ salt['pillar.get']('default:user:shell', '/bin/bash') }}
5
+ - home: /home/{{ salt['pillar.get']('default:user:username', 'deploy') }}
6
+
7
+ deploy-rsa:
8
+ ssh_auth:
9
+ - present
10
+ - user: {{ salt['pillar.get']('default:user:username', 'deploy') }}
11
+ - enc: rsa
12
+ - names:
13
+ - {{ salt['pillar.get']('default:ssh:key') }}
14
+ - require:
15
+ - user: {{ salt['pillar.get']('default:user:username', 'deploy') }}
16
+
17
+ add-to-sudo:
18
+ cmd.run:
19
+ - name: "echo '{{ salt['pillar.get']('default:user:username', 'deploy') }} ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers"
20
+ - require:
21
+ - user: {{ salt['pillar.get']('default:user:username', 'deploy') }}
@@ -0,0 +1,3 @@
1
+ module SaltedRailsServer
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,5 @@
1
+ require "salted_rails_server/version"
2
+
3
+ module SaltedRailsServer
4
+ # Your code goes here...
5
+ end
@@ -0,0 +1,31 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'salted_rails_server/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "salted_rails_server"
8
+ spec.version = SaltedRailsServer::VERSION
9
+ spec.authors = ["Vell"]
10
+ spec.email = ["lovell.mcilwain@gmail.com"]
11
+
12
+ spec.summary = %q{Provisiona rails server using saltstacks's salt-ssh}
13
+ spec.description = %q{Generates saltstack's salt-ssh code for provisioning a new server. Code creates a user to run the rails application; gives that user sudo privileges without a password; installs: elasticsearch, nodejs, mysql, nginx, and rails. In the case of mysql, the code setsup a user with only the privileges needed to run a rails application.}
14
+ spec.homepage = "https://github.com/vmcilwain/salted_rails_server"
15
+
16
+ # Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
17
+ # delete this section to allow pushing this gem to any host.
18
+ # if spec.respond_to?(:metadata)
19
+ # spec.metadata['allowed_push_host'] = 'http://rubygems.org'
20
+ # else
21
+ # raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
22
+ # end
23
+
24
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
25
+ spec.bindir = "exe"
26
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
+ spec.require_paths = ["lib"]
28
+
29
+ spec.add_development_dependency "bundler", "~> 1.9"
30
+ spec.add_development_dependency "rake", "~> 10.0"
31
+ end
metadata ADDED
@@ -0,0 +1,99 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: salted_rails_server
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Vell
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-03-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.9'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.9'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ description: 'Generates saltstack''s salt-ssh code for provisioning a new server.
42
+ Code creates a user to run the rails application; gives that user sudo privileges
43
+ without a password; installs: elasticsearch, nodejs, mysql, nginx, and rails. In
44
+ the case of mysql, the code setsup a user with only the privileges needed to run
45
+ a rails application.'
46
+ email:
47
+ - lovell.mcilwain@gmail.com
48
+ executables: []
49
+ extensions: []
50
+ extra_rdoc_files: []
51
+ files:
52
+ - ".gitignore"
53
+ - ".travis.yml"
54
+ - CODE_OF_CONDUCT.md
55
+ - Gemfile
56
+ - README.md
57
+ - Rakefile
58
+ - bin/console
59
+ - bin/setup
60
+ - lib/generators/salted_rails_server/salted_rails_server_generator.rb
61
+ - lib/generators/salted_rails_server/templates/pillars/default/init.sls
62
+ - lib/generators/salted_rails_server/templates/pillars/top.sls
63
+ - lib/generators/salted_rails_server/templates/roster
64
+ - lib/generators/salted_rails_server/templates/states/elasticsearch.sls
65
+ - lib/generators/salted_rails_server/templates/states/mysql.sls
66
+ - lib/generators/salted_rails_server/templates/states/nginx.sls
67
+ - lib/generators/salted_rails_server/templates/states/node.sls
68
+ - lib/generators/salted_rails_server/templates/states/rails.sls
69
+ - lib/generators/salted_rails_server/templates/states/rvm.sls
70
+ - lib/generators/salted_rails_server/templates/states/setup.sls
71
+ - lib/generators/salted_rails_server/templates/states/user.sls
72
+ - lib/salted_rails_server.rb
73
+ - lib/salted_rails_server/version.rb
74
+ - salted_rails_server.gemspec
75
+ homepage: https://github.com/vmcilwain/salted_rails_server
76
+ licenses: []
77
+ metadata: {}
78
+ post_install_message:
79
+ rdoc_options: []
80
+ require_paths:
81
+ - lib
82
+ required_ruby_version: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ required_rubygems_version: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ requirements: []
93
+ rubyforge_project:
94
+ rubygems_version: 2.4.6
95
+ signing_key:
96
+ specification_version: 4
97
+ summary: Provisiona rails server using saltstacks's salt-ssh
98
+ test_files: []
99
+ has_rdoc: