Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status


transmission (33) Versions 5.0.3

Installs and configures transmission

cookbook 'transmission', '= 5.0.3', :supermarket
cookbook 'transmission', '= 5.0.3'
knife supermarket install transmission
knife supermarket download transmission
Quality 83%

transmission Cookbook

Cookbook Version
CI State

Installs the Transmission BitTorrent Client and includes a transmission_torrent_file LWRP.


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



  • 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 14+


  • build-essential - for compiling the source.
  • openssl - for generating a secure password.


  • 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
  • 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



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.


  • :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.


Download the lucid ISO

transmission_torrent_file "/home/ubuntu/ubuntu.iso"  do
  torrent ""
  owner 'ubuntu'
  group 'ubuntu'
  rpc_username node['transmission']['rpc_username']
  rpc_password node['transmission']['rpc_password']
  action :create

Continue seeding after download

transmission_torrent_file "/home/ubuntu/ubuntu.iso"  do
  torrent ""
  owner 'ubuntu'
  group 'ubuntu'
  continue_seeding true
  rpc_username node['transmission']['rpc_username']
  rpc_password node['transmission']['rpc_password']
  action :create



Include default recipe in a run list, to get some Transmission installed. Installs Transmission by package or source depending on the platform.


Installs Transmission from packages. This should only be loaded by the default recipe.


Installs Transmission from source. This should only be loaded by the default recipe.


This project exists thanks to all the people who contribute.


Thank you to all our backers!


Support this project by becoming a sponsor. Your logo will show up here with a link to your website.

Dependent cookbooks

openssl >= 0.0.0
yum-epel >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

transmission Cookbook CHANGELOG

This file is used to list changes made in each version of the transmission cookbook.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

5.0.3 - 2021-08-14

  • Standardising files in line with updated recommendations

5.0.2 - 2021-06-01

5.0.1 - 2021-03-25

  • resolved cookstyle error: providers/torrent_file.rb:120:21 convention: Style/RedundantBegin
  • resolved cookstyle error: providers/torrent_file.rb:121:1 convention: Layout/EmptyLinesAroundMethodBody
  • resolved cookstyle error: providers/torrent_file.rb:121:1 convention: Layout/TrailingWhitespace

5.0.0 (2020-11-13)


  • Sous Chefs Adoption
  • Update Changelog to Sous Chefs
  • Update to use Sous Chefs GH workflow
  • Update README to sous-chefs
  • Update metadata.rb to Sous Chefs
  • Update test-kitchen to Sous Chefs
  • Update to version 3.00 for source installation


  • InSpec test profile


  • resolved cookstyle error: providers/torrent_file.rb:76:60 convention: Style/RedundantParentheses
  • resolved cookstyle error: attributes/default.rb:20:14 warning: Lint/SendWithMixinArgument
  • resolved cookstyle error: metadata.rb:12:1 refactor: ChefStyle/OverlyComplexSupportsDependsMetadata
  • resolved cookstyle error: metadata.rb:13:1 refactor: ChefModernize/UnnecessaryDependsChef14
  • Cookstyle fixes
  • Yamllint fixes
  • MDL fixes
  • Fix CentOS/Fedora installation
  • Source installation issues
  • Fix SUSE source installation


  • Remove Amazon Linux 1 testing
  • Remove EL 6 testing
  • Remove init.d scripts
  • Remove Oracle Linux testing

4.0.1 (2017-08-18)

  • Add attributes for controling seed ratio

4.0.0 (2017-01-18)

  • Use multipackage to speed up package installs
  • Expand platform testing and fix 16.04 package tests
  • Make sure we have ssl libs on debian systems
  • Remove the chef 11 compatibility check in chef_gem
  • Switch back to stable ChefDK builds for testing
  • Require Chef 12.14 to get ruby 2.2.2+ which is needed for the gems that are installed by this cookbook

3.0.0 (2016-09-08)

  • Add matchers
  • Require Chef 12.1+

2.2.1 (2016-09-01)

  • Add chef_version
  • Testing updates
  • Pull transmission from Github and use 2.92

2.2.0 (2016-08-11)

  • Fix up chef_gem compile time warnings.
  • Add support for transmission whitelist settings.
  • Add use_inline_resources
  • Add conditional to support older versions of chef.
  • Update testing
  • Specif version 4.x of activesupport to fix installs on Ruby 2.1 Chef omnibus

v2.1.1 (2016-01-08)

  • Add supports metadata for all supported platforms

v2.1.0 (2016-01-08)

  • Fixed installation via source on RHEL systems by adding openssl / tar packages to the source recipe
  • Switched to platform_family to better support derivitive operating systems
  • Updated to the latest version of Transmission for source installs
  • Switched from .bz2 to .xz format archives for source installs as .bz2 archives are no longer being published. Xz tools will now be installed in the source recipe
  • Added source test suite in Test Kitchen
  • Removed support for RHEL releases before 7 as the version of libevent shipped in these distros is too old to compile tranmission

v2.0.10 (2015-12-14)

  • Set the minimum supported Chef release to 11
  • Removed the monkeypatch to Ruby 1.8.6 support
  • Resolved all rubocop warnings
  • Added testing with Travis CI
  • Added chefignore file
  • Swaped Digital Ocean Test Kitchen config for Docker
  • Added standard Chef .rubocop.yml
  • Updated contributing and testing docs
  • Added Gemfile with development deps
  • Added maintainers file
  • Added a Rakefile for simplified testing

v2.0.9 (2015-02-18)

  • reverting OpenSSL module namespace change

v2.0.8 (2015-02-18)

  • reverting chef_gem compile_time work

v2.0.7 (2015-02-18)

  • Updating to use the latest openssl

v2.0.6 (2015-02-18)

  • Fixing chef_gem for Chef below 12.1.0

v2.0.4 (2014-09-18)

  • [#11] prevent circular symlink for settings.json on Ubuntu 14.04
  • Add Berksfile and test-kitchen config

v2.0.2 (2014-03-19)

  • [COOK-4424] Updates Transmission url in README'


Requires Ruby 1.9 or higher!


  • COOK-3451 - Use Hash#key to silence Hash#index deprecation warnings
  • COOK-3450 - Delete torrent local data when not seeding
  • COOK-3449 - Prevent torrent status of checking from prematurely ending blocking downloads
  • COOK-3324 - Use BEncode.load_file to load torrent file when hashing to avoid UTF-8 encoding issues




  • [COOK-2981]: transmission cookbook has foodcritic errors


  • [COOK-729]: transmission_torrent_file doesn't work for more than a single torrent
  • [COOK-732]: link to file in swarm not created if torrent already completely downloaded

Collaborator Number Metric

5.0.3 passed this metric

Contributing File Metric

5.0.3 passed this metric

Foodcritic Metric

5.0.3 failed this metric

FC085: Resource using new_resource.updated_by_last_action to converge resource: transmission/providers/torrent_file.rb:50
FC085: Resource using new_resource.updated_by_last_action to converge resource: transmission/providers/torrent_file.rb:63
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric

5.0.3 passed this metric

Testing File Metric

5.0.3 passed this metric

Version Tag Metric

5.0.3 passed this metric