salted_rails_server 0.1.0
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.
- checksums.yaml +7 -0
 - data/.gitignore +9 -0
 - data/.travis.yml +3 -0
 - data/CODE_OF_CONDUCT.md +13 -0
 - data/Gemfile +4 -0
 - data/README.md +128 -0
 - data/Rakefile +1 -0
 - data/bin/console +14 -0
 - data/bin/setup +7 -0
 - data/lib/generators/salted_rails_server/salted_rails_server_generator.rb +56 -0
 - data/lib/generators/salted_rails_server/templates/pillars/default/init.sls +15 -0
 - data/lib/generators/salted_rails_server/templates/pillars/top.sls +3 -0
 - data/lib/generators/salted_rails_server/templates/roster +5 -0
 - data/lib/generators/salted_rails_server/templates/states/elasticsearch.sls +27 -0
 - data/lib/generators/salted_rails_server/templates/states/mysql.sls +54 -0
 - data/lib/generators/salted_rails_server/templates/states/nginx.sls +5 -0
 - data/lib/generators/salted_rails_server/templates/states/node.sls +13 -0
 - data/lib/generators/salted_rails_server/templates/states/rails.sls +35 -0
 - data/lib/generators/salted_rails_server/templates/states/rvm.sls +84 -0
 - data/lib/generators/salted_rails_server/templates/states/setup.sls +8 -0
 - data/lib/generators/salted_rails_server/templates/states/user.sls +21 -0
 - data/lib/salted_rails_server/version.rb +3 -0
 - data/lib/salted_rails_server.rb +5 -0
 - data/salted_rails_server.gemspec +31 -0
 - metadata +99 -0
 
    
        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
    
    
    
        data/.travis.yml
    ADDED
    
    
    
        data/CODE_OF_CONDUCT.md
    ADDED
    
    | 
         @@ -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
    
    
    
        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,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,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,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,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,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: 
         
     |