https://github.com/tpot/chef-fossology
Chef cookbook for FOSSology Open Source data analysis tool
https://github.com/tpot/chef-fossology
Last synced: 17 days ago
JSON representation
Chef cookbook for FOSSology Open Source data analysis tool
- Host: GitHub
- URL: https://github.com/tpot/chef-fossology
- Owner: tpot
- License: apache-2.0
- Created: 2014-03-26T06:08:15.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2014-10-28T23:20:27.000Z (over 11 years ago)
- Last Synced: 2023-04-12T11:51:16.411Z (about 3 years ago)
- Language: Ruby
- Size: 188 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# fossology-cookbook
This cookbook installs and configures the
[FOSSology](http://fossology.org) open source analysis tool.
FOSSology describes its mission as to
> ... build a community to facilitate the study of Free and Open Source
> Software by providing free and open source data analysis tools.
Single-server and multi-node configurations are supported by this cookbook.
## Supported Platforms
FOSSology itself supports the following distributions:
* Debian
* RHEL
* Ubuntu
* Fedora
However the cookbook only supports Ubuntu at this time.
## Attributes
The following attributes are supported by the cookbook:
Key
Type
Description
Default
['fossology']['version']
String
FOSSology release to install
2.4.0
['fossology']['server_name']
String
Virtual host name used for the web interface
localhost
['fossology']['server']
Hash
Attributes of server node
{"name" => "localhost, "max_jobs" => 10}
['fossology']['ssh_public_key']
String
Public key for FOSSology user
nil
['fossology']['ssh_private_key']
String
Private key for FOSSology user
nil
## Data bags
### fossology_hosts
This data bag defines the attributes of agent nodes, or "hosts" in the
parlance of FOSSology configuration. Each data bag entry declares the
DNS name or IP address of the host, and the maximum number of jobs
supported by that host.
For example:
```
{
"id": "10-0-0-2",
"name": "10.0.0.2",
"max_jobs: 10
}
```
The FOSSology scheduler automatically disables hosts that are
unreachable so it's possible to define a range of hosts that don't
necessarily exist currently. The scheduler will enable or disable
these hosts appropriately as they are created or destroyed.
## Usage
### fossology::server
Including this recipe in a node's run list installs and configures the
node to act as a FOSSology server. At present the server node
includes the front-end web server, NFS file server for storing and a 10 job host.
Incoming TCP connections must be allowed for the following ports:
* HTTP (port 80)
* NFS (ports 32765 - 32768)
* PostgreSQL (port 5432)
### fossology::agent
This recipe installs and configures a worker node that performs jobs
at the behest of the FOSSology scheduler. Note that this recipe is
not necessary under a single-node configuration as the single node
includes a 10 job agent by default.
## Contributing
1. Fork the repository on Github
2. Create a named feature branch (i.e. `add-new-recipe`)
3. Write you change
4. Write tests for your change (if applicable)
5. Run the tests, ensuring they all pass
6. Submit a Pull Request
## License and Authors
Author:: Tim Potter ()