https://github.com/fgimenez/orientdb-cookbook
Chef cookbook for installing orientdb
https://github.com/fgimenez/orientdb-cookbook
Last synced: about 1 year ago
JSON representation
Chef cookbook for installing orientdb
- Host: GitHub
- URL: https://github.com/fgimenez/orientdb-cookbook
- Owner: fgimenez
- Created: 2013-07-22T17:28:19.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2016-02-20T17:23:23.000Z (over 10 years ago)
- Last Synced: 2025-02-06T18:52:15.540Z (over 1 year ago)
- Language: Ruby
- Homepage:
- Size: 62.5 KB
- Stars: 10
- Watchers: 3
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://travis-ci.org/fgimenez/orientdb-cookbook)
OrientDB Cookbook
=================
This cookbook installs OrientDB
Requirements
------------
It has been tested on Ubuntu 12.04, but should work on any platform where Java 1.6 works.
The java and apt cookbooks are needed, as usual may be handled with Berkshelf.
General Attributes:
|Attribute|Description|Default value|
|---------|-----------|-------------|
|`node['orientdb']['user']['id']`|User name|`orientdb`|
|`node['orientdb']['version']`|Database version|`2.0.3`|
|`node['orientdb']['flavour']`|Flavour to be installed, now only community|`community`|
|`node['orientdb']['base_tarball_url']`|Partial location of the tarball url, flavour, version and extension removed|`http://www.orientechnologies.com/download.php?email=unknown@unknown.com&os=linux&file=orientdb`|
|`node['orientdb']['installation_directory']`|Absolute install dir, dependent on the base install dir|`/opt/orientdb`|
|`node['orientdb']['default_init_script']`|Full path to tarball's init script|`/opt/orientdb/bin/orientdb.sh`|
|`node['orientdb']['init_script']`|Full path to actual init script|`/etc/init.d/orientdb`|
|`node['orientdb']['db_user']`|Admin DB user|`admin`|
|`node['orientdb']['db_password']`|Admin DB password|`admin`|
Distributed Attributes:
|Attribute|Description|Default value|
|---------|-----------|-------------|
|`node['orientdb']['hazelcast']['nodeName']`|Node Name|`{node.name}`|
|`node['orientdb']['hazelcast']['enabled']`|Enable Hazelcast plugin|`true`|
|`node['orientdb']['hazelcast']['group']['name']`|Hazelcast group name|`orientdb`|
|`node['orientdb']['hazelcast']['group']['password']`|Hazelcast group password|`orientdb`|
|`node['orientdb']['hazelcast']['network']['join']['mode']`|Hazelcast mode, one of `multicast`, `tcp-ip` or `aws`|`multicast`|
|`node['orientdb']['hazelcast']['network']['join']['multicast']['group']`|Hazelcast multicast host|`orientdb`|
|`node['orientdb']['hazelcast']['network']['join']['multicast']['port']`|Hazelcast multicast port|`orientdb`|
|`node['orientdb']['node_search_criteria']`|Chef Search criteria for locating peers.|Match on hazelcast group name & password (from above)|
|`node['orientdb']['hazelcast']['network']['join']['tcp-ip']['members']`|Array of hostname:port of peer hazelcast members to populate hazelcast.xml file.|hostname:port list from node_search_criteria (above)|
|`node['orientdb']['hazelcast']['network']['join']['aws']['access-key']`|EC2 access key|`my-access-key`|
|`node['orientdb']['hazelcast']['network']['join']['aws']['secret-key']`|EC2 secret key|`my-secret-key`|
|`node['orientdb']['hazelcast']['network']['join']['aws']['region']`|Optional, EC2 region|`us-west-1`|
|`node['orientdb']['hazelcast']['network']['join']['aws']['host-header']`|Optional, EC2 host header. If set region shouldn't be set as it will override this property|`ec2.amazonaws.com`|
|`node['orientdb']['hazelcast']['network']['join']['aws']['security-group-name']`|EC2 security group|`hazelcast-sg`|
|`node['orientdb']['hazelcast']['network']['join']['aws']['tag-key']`|EC2 tag key|`type`|
|`node['orientdb']['hazelcast']['network']['join']['aws']['tag-value']`|EC2 tag value|`hz-nodes`|
|`node['orientdb']['distributed']['clusters']['servers']`|Array of hostnames to populate default-distributed-db-config.json file.|hostname list from node_search_criteria (above)|
Running the tests
-----------------
For the unit tests just execute the default rake task:
$ bundle install
$ bundle exec rake
Run the integration tests through test kitchen (Vagrant and VirtualBox are needed for this):
$ bundle exec kitchen test
Vagrant usage
-------------
For testing the cookbook with Vagrant 1.2+ you just have to execute bootstrap.sh:
$ bootstrap.sh
It installs the required Vagrant plugins and launchs the machine. After the process you have a orientdb instance running in ```orientdb.local``` host, ip 33.33.33.33 (you may need to provide root privileges to allow vagrant-hostmanager do its duty).
Contributing
------------
1. Fork the repository on Github
2. Create a named feature branch (like `add_component_x`)
3. Write you change
4. Write tests for your change
5. Run the tests, ensuring they all pass
6. Submit a Pull Request
License and Authors
-------------------
MIT License
Authors: Federico Gimenez Nieto