cookbook 'mruby', '= 0.3.2'
mruby (8) Versions 0.3.2 Follow0
Installs/Configures mruby
cookbook 'mruby', '= 0.3.2', :supermarket
knife supermarket install mruby
knife supermarket download mruby
mruby Cookbook
This cookbook installs mruby.
- /usr/local/bin/mruby
- /usr/local/bin/mirb
- /usr/local/bin/mrbc
Includes recipe ngx_mruby helper.
Platform
The following platforms are supported and tested under test kitchen:
- Ubuntu 12.04
- CentOS 6.4
TODO
- create LWRP
Requirements
- gcc (package or source)
- make (package or source)
Recommends
- 'build-essential' (Opscode)
Suggests
- 'nginx' (Opscode)
Attributes
default.rb
-
node[:mruby][:build_dir] - directory to build
- default:
'/opt/chef_mruby'
- default:
-
node[:mruby][:use_chef_ruby]
- Use ruby chef runtime.- default:
true
- default:
-
node[:mruby][:add_path]
- create symlink to. If you don't need link, set nil.- default:
'/usr/local/bin'
- default:
-
node[:mruby][:git_refernce]
- branch or tag of mruby repository- default:
'master'
- default:
-
node[:mruby][:build_options][:bins]
- symlink target binaries- default:
%w(mruby mrbc mirb)
- default:
-
node[:mruby][:build_options][:user_gems]
- user mgem to install- default:
[]
- Add user Gem example: Arrays of methd(Stting like a symbol) and url(Stting).
- default:
node[:mruby][:build_options][:user_gems] = [
[':git', 'https://github.com/iij/mruby-io.git']
]
depends.rb
-
node[:mruby][:depend_pkgs]
- packcage dependencies(action :upgrade
)- default:
['git','rsync']
- default:
ngx_mruby.rb
-
node[:mruby][:ngx_mruby][:git_refernce]
- branch or tag of ngx_mruby repository- default:
'master'
- default:
Recipes
default.rb
Install mruby to /usr/local/bin
.
suggests cookbooks
- 'build-essential' (Opscode)
Usage
add mruby::default
to run_list.
depends.rb
Install package dependencies.
It's included by default.rb. Nothing to do.
ruby_install(instability support)
install ruby-2.0.0-p247
with rbenv to system global.
depends cookbooks
- rbenv cookbook(Community shared)
Usage
add mruby::ruby_install
to run_list.
ngx_mruby
Regist config option to nginx build options.
suggests cookbooks
- nginx(Opscode)
Usage
add mruby::ngx_mruby,nginx::default
to run_list.
Example
Attributes(test-kitchen format)
- name: ngx_mruby
run_list:
- "recipe[build-essential::default]"
- "recipe[mruby::ngx_mruby]"
- "recipe[nginx]"
attributes:
nginx:
install_method: source
version: 1.4.2
configure_flags: ["--with-debug"]
source:
modules:
- http_ssl_module
- http_geoip_module
- http_realip_module
- http_stub_status_module
- http_gzip_static_module
mruby:
force_rebuild: true
build_options:
user_gems:
- [':git', 'https://github.com/iij/mruby-io.git']
ChefClient converges below.
# /opt/nginx-1.4.2/sbin/nginx -V
nginx version: nginx/1.4.2
built by gcc 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
TLS SNI support enabled
configure arguments:
--prefix=/opt/nginx-1.4.2
--conf-path=/etc/nginx/nginx.conf
--sbin-path=/opt/nginx-1.4.2/sbin/nginx
--with-debug
--add-module=/opt/chef_mruby/ngx_mruby
--add-module=/opt/chef_mruby/ngx_mruby/dependence/ngx_devel_kit
--with-http_ssl_module
--with-http_geoip_module
--with-ld-opt='-Wl,-R,/usr/local/lib -L /usr/local/lib'
--with-http_realip_module
--with-http_stub_status_module
--with-http_gzip_static_module
Test
Install test dependencies
bundle
test
kitchen test
Contributing
- Fork the repository on Github
- Create a named feature branch (like
add_component_x
) - Write you change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request using Github
License and Authors
Authors: Yukihiko Sawanobori (HiganWorks LLC)
under MIT License
Dependent cookbooks
This cookbook has no specified dependencies.
Contingent cookbooks
There are no cookbooks that are contingent upon this one.