Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sous-chefs/transmission
Development repository for the transmission cookbook
https://github.com/sous-chefs/transmission
chef chef-cookbook chef-resource hacktoberfest managed-by-terraform transmission
Last synced: about 1 month ago
JSON representation
Development repository for the transmission cookbook
- Host: GitHub
- URL: https://github.com/sous-chefs/transmission
- Owner: sous-chefs
- License: apache-2.0
- Created: 2012-03-14T18:41:02.000Z (almost 13 years ago)
- Default Branch: main
- Last Pushed: 2024-02-01T01:21:44.000Z (11 months ago)
- Last Synced: 2024-04-14T00:53:40.722Z (8 months ago)
- Topics: chef, chef-cookbook, chef-resource, hacktoberfest, managed-by-terraform, transmission
- Language: Ruby
- Homepage: https://supermarket.chef.io/cookbooks/transmission
- Size: 231 KB
- Stars: 14
- Watchers: 45
- Forks: 29
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# transmission Cookbook
[![Cookbook Version](https://img.shields.io/cookbook/v/transmission.svg)](https://supermarket.chef.io/cookbooks/transmission)
[![CI State](https://github.com/sous-chefs/transmission/workflows/ci/badge.svg)](https://github.com/sous-chefs/transmission/actions?query=workflow%3Aci)
[![OpenCollective](https://opencollective.com/sous-chefs/backers/badge.svg)](#backers)
[![OpenCollective](https://opencollective.com/sous-chefs/sponsors/badge.svg)](#sponsors)
[![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://opensource.org/licenses/Apache-2.0)Installs the [Transmission BitTorrent Client](http://www.transmissionbt.com) and includes a `transmission_torrent_file` LWRP.
## Maintainers
This cookbook is maintained by the Sous Chefs. The Sous Chefs are a community of Chef cookbook maintainers working together to maintain important cookbooks. If you’d like to know more please visit [sous-chefs.org](https://sous-chefs.org/) or come chat with us on the Chef Community Slack in [#sous-chefs](https://chefcommunity.slack.com/messages/C2V7B88SF).
## Requirements
### Platforms
- Debian/Ubuntu
- RHEL/CentOS/Scientific/Amazon/Oracle 7+
- FedoraNote: Package installs are only available on Ubuntu/Debian. Source installs are possible on all platforms
### Chef
- Chef 14+
### Cookbooks
- build-essential - for compiling the source.
- openssl - for generating a secure password.## Attributes
- `node["transmission"]["peer_port"]` - The port Transmission listens on for peering, default `51413`.
- `node["transmission"]["rpc_bind_address"]` - Where to listen for RPC connections, default `0.0.0.0`.
- `node["transmission"]["rpc_port"]` - The port Transmission listens on for remote services, default `9091`.
- `node["transmission"]["rpc_username"]` - The username required to access remote services, default `transmission`.
- `node["transmission"]["rpc_password"]` - The sha1 encrypted password, default generated by `secure_password`.
- `node["transmission"]["incomplete_dir_enabled"]` - Whether the incomplete file directory is used, default `false`.
- `node["transmission"]["speed_limit_down"]` - The KB/s limit for downloading files, default `100`.
- `node["transmission"]["speed_limit_down_enabled"]` - Whether the download limit is used, default `false`.
- `node["transmission"]["speed_limit_up"]` - The KB/s limit for uploading files, default `100`.
- `node["transmission"]["speed_limit_up_enabled"]` - Whether the upload limit is used, default `false`.
- `node["transmission"]["ratio_limit"]` - Ratio at which to seed the torrent, default `2.0000`.
- `node["transmission"]["ratio_limit_enabled"]` - Whether the ratio limit is used, default `false`.
- `node["transmission"]["watch_dir_enabled"]` - Whether the watch file directory is used, default `false`.The file also contains the following attribute types:
- platform specific locations and settings.
- source installation settings## Resource/Provider
### `transmission_torrent_file`
Download a file via the [BitTorrent protocol](http://en.wikipedia.org/wiki/BitTorrent). The usage semantics are like that of the existing [file](http://wiki.chef.io/display/chef/Resources#Resources-File) and [remote_file](http://wiki.chef.io/display/chef/Resources#Resources-RemoteFile) resources. This allows very fast downloads for files that are part of large BitTorrent swarms. The Ubuntu 10.04 LTS ISO (around 700MB) downloads in about 50 seconds.
#### Actions
- :create: Download a file via the BitTorrent protocol
#### Attribute Parameters
- path: name attribute. the path to the file
- torrent: torrent file of the swarm to join. can either be a url or local file path
- blocking: should the file be downloaded in a blocking way? If `true` Chef will download the file in a single Chef run, if `false` Chef will check for a completed download during each Chef run until the download is complete. default is `true`.
- continue_seeding: should the file continue to be seeded to the swarm after download? default is `false`.
- owner: The owner for the file
- group: The group owner of the file (string or id)
- rpc_host: the address of the Transmission RPC host to connect to. default is `localhost`.
- rpc_port: the port of the Transmission RPC host to connect to. default is `9091`.
- rpc_username: the username of the Transmission RPC account. default is `transmission`.
- rpc_password: the password of the Transmission RPC account . should probably be `node['transmission']['rpc_password']` which by default is a secure password generated for this node.#### Examples
Download the lucid ISO
```ruby
transmission_torrent_file "/home/ubuntu/ubuntu.iso" do
torrent "http://releases.ubuntu.com/lucid/ubuntu-10.04.1-server-i386.iso.torrent"
owner 'ubuntu'
group 'ubuntu'
rpc_username node['transmission']['rpc_username']
rpc_password node['transmission']['rpc_password']
action :create
end
```Continue seeding after download
```ruby
transmission_torrent_file "/home/ubuntu/ubuntu.iso" do
torrent "http://releases.ubuntu.com/lucid/ubuntu-10.04.1-server-i386.iso.torrent"
owner 'ubuntu'
group 'ubuntu'
continue_seeding true
rpc_username node['transmission']['rpc_username']
rpc_password node['transmission']['rpc_password']
action :create
end
```## Usage
### default
Include default recipe in a run list, to get some Transmission installed. Installs Transmission by package or source depending on the platform.
### package
Installs Transmission from packages. This should only be loaded by the default recipe.
### source
Installs Transmission from source. This should only be loaded by the default recipe.
## Contributors
This project exists thanks to all the people who [contribute.](https://opencollective.com/sous-chefs/contributors.svg?width=890&button=false)
### Backers
Thank you to all our backers!
![https://opencollective.com/sous-chefs#backers](https://opencollective.com/sous-chefs/backers.svg?width=600&avatarHeight=40)
### Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website.
![https://opencollective.com/sous-chefs/sponsor/0/website](https://opencollective.com/sous-chefs/sponsor/0/avatar.svg?avatarHeight=100)
![https://opencollective.com/sous-chefs/sponsor/1/website](https://opencollective.com/sous-chefs/sponsor/1/avatar.svg?avatarHeight=100)
![https://opencollective.com/sous-chefs/sponsor/2/website](https://opencollective.com/sous-chefs/sponsor/2/avatar.svg?avatarHeight=100)
![https://opencollective.com/sous-chefs/sponsor/3/website](https://opencollective.com/sous-chefs/sponsor/3/avatar.svg?avatarHeight=100)
![https://opencollective.com/sous-chefs/sponsor/4/website](https://opencollective.com/sous-chefs/sponsor/4/avatar.svg?avatarHeight=100)
![https://opencollective.com/sous-chefs/sponsor/5/website](https://opencollective.com/sous-chefs/sponsor/5/avatar.svg?avatarHeight=100)
![https://opencollective.com/sous-chefs/sponsor/6/website](https://opencollective.com/sous-chefs/sponsor/6/avatar.svg?avatarHeight=100)
![https://opencollective.com/sous-chefs/sponsor/7/website](https://opencollective.com/sous-chefs/sponsor/7/avatar.svg?avatarHeight=100)
![https://opencollective.com/sous-chefs/sponsor/8/website](https://opencollective.com/sous-chefs/sponsor/8/avatar.svg?avatarHeight=100)
![https://opencollective.com/sous-chefs/sponsor/9/website](https://opencollective.com/sous-chefs/sponsor/9/avatar.svg?avatarHeight=100)