/transmission

Development repository for the transmission cookbook

Primary LanguageRubyApache License 2.0Apache-2.0

transmission Cookbook

Cookbook Version CI State OpenCollective OpenCollective License

Installs the Transmission BitTorrent Client 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 or come chat with us on the Chef Community Slack in #sous-chefs.

Requirements

Platforms

  • Debian/Ubuntu
  • RHEL/CentOS/Scientific/Amazon/Oracle 7+
  • Fedora

Note: 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. The usage semantics are like that of the existing file and remote_file 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

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

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.

Backers

Thank you to all our backers!

https://opencollective.com/sous-chefs#backers

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/1/website https://opencollective.com/sous-chefs/sponsor/2/website https://opencollective.com/sous-chefs/sponsor/3/website https://opencollective.com/sous-chefs/sponsor/4/website https://opencollective.com/sous-chefs/sponsor/5/website https://opencollective.com/sous-chefs/sponsor/6/website https://opencollective.com/sous-chefs/sponsor/7/website https://opencollective.com/sous-chefs/sponsor/8/website https://opencollective.com/sous-chefs/sponsor/9/website