module Vpsb module Resources class WebRoleJson < BaseResource res :web_role_json def call(data) template(data) end private def template(data) { name: "web", description: "Web Server Role", chef_type: "role", json_class: "Chef::Role", default_attributes: { build_essential: { compiletime: true }, rvm:{ user_autolibs: "disabled", rvm_gem_options: "--rdoc --ri", default_ruby: data.get(:ruby_version), rubies: [ data.get(:ruby_version) ], user_installs:[ { user: "deploy", default_ruby: data.get(:ruby_version), rubies: [ data.get(:ruby_version) ], global_gems: [ {name: "bundler"}, {name: "rake"} ] } ] }, nginx:{ version: "1.4.1", user: "www-data", default_site_enabled: false, source: {use_existing_user: true}, init_style: "init", binary: "/opt/nginx/sbin", modules: [ "http_stub_status_module", "http_ssl_module", "http_gzip_static_module" ], gzip_types: [ "text/plain", "text/html", "text/css", "text/xml", "text/javascript", "application/json", "application/x-javascript", "application/xml", "application/xml+rss" ] }, unicorn: { options: { backlog: "64" }, preload_app: true, worker_processes: data.get(:unicorn_worker_processes), worker_timeout: data.get(:unicorn_worker_timeout) } }, run_list: [ "recipe[unattended-upgrades]", "recipe[base]", "recipe[nodejs]", "recipe[nodejs::npm]", "recipe[base::user_deploy]", "recipe[apt]", "recipe[build-essential]", "recipe[rvm::user]", "recipe[nginx]", "recipe[nginx::source]", "recipe[simple_iptables]", "recipe[base::iptables]", "recipe[runit]", "recipe[unicorn]", "recipe[base::webapps]", "recipe[base::components]" ] } end end end end