diff --git a/README.md b/README.md new file mode 100644 index 0000000..774c664 --- /dev/null +++ b/README.md @@ -0,0 +1,83 @@ +# sonarr + +#### Table of Contents + +1. [Description](#description) +1. [Setup - The basics of getting started with sonarr](#setup) + * [What sonarr affects](#what-sonarr-affects) + * [Setup requirements](#setup-requirements) + * [Beginning with sonarr](#beginning-with-sonarr) +1. [Usage - Configuration options and additional functionality](#usage) +1. [Reference - An under-the-hood peek at what the module is doing and how](#reference) +1. [Limitations - OS compatibility, etc.](#limitations) +1. [Development - Guide for contributing to the module](#development) + +## Description + +Start with a one- or two-sentence summary of what the module does and/or what +problem it solves. This is your 30-second elevator pitch for your module. +Consider including OS/Puppet version it works with. + +You can give more descriptive information in a second paragraph. This paragraph +should answer the questions: "What does this module *do*?" and "Why would I use +it?" If your module has a range of functionality (installation, configuration, +management, etc.), this is the time to mention it. + +## Setup + +### What sonarr affects **OPTIONAL** + +If it's obvious what your module touches, you can skip this section. For +example, folks can probably figure out that your mysql_instance module affects +their MySQL instances. + +If there's more that they should know about, though, this is the place to mention: + +* A list of files, packages, services, or operations that the module will alter, + impact, or execute. +* Dependencies that your module automatically installs. +* Warnings or other important notices. + +### Setup Requirements **OPTIONAL** + +If your module requires anything extra before setting up (pluginsync enabled, +etc.), mention it here. + +If your most recent release breaks compatibility or requires particular steps +for upgrading, you might want to include an additional "Upgrading" section +here. + +### Beginning with sonarr + +The very basic steps needed for a user to get the module up and running. This +can include setup steps, if necessary, or it can be an example of the most +basic use of the module. + +## Usage + +This section is where you describe how to customize, configure, and do the +fancy stuff with your module here. It's especially helpful if you include usage +examples and code samples for doing things with your module. + +## Reference + +Here, include a complete list of your module's classes, types, providers, +facts, along with the parameters for each. Users refer to this section (thus +the name "Reference") to find specific details; most users don't read it per +se. + +## Limitations + +This is where you list OS compatibility, version compatibility, etc. If there +are Known Issues, you might want to include them under their own heading here. + +## Development + +Since your module is awesome, other users will want to play with it. Let them +know what the ground rules for contributing are. + +## Release Notes/Contributors/Etc. **Optional** + +If you aren't using changelog, put your release notes here (though you should +consider using changelog). You can also add any additional sections you feel +are necessary or important to include here. Please use the `## ` header. diff --git a/manifests/init.pp b/manifests/init.pp new file mode 100644 index 0000000..d5269f6 --- /dev/null +++ b/manifests/init.pp @@ -0,0 +1,73 @@ +# Class: sonarr +# =========================== +# +# Full description of class sonarr here. +# +# Parameters +# ---------- +# +# Document parameters here. +# +# * `sample parameter` +# Explanation of what this parameter affects and what it defaults to. +# e.g. "Specify one or more upstream ntp servers as an array." +# +# Variables +# ---------- +# +# Here you should define a list of variables that this module would require. +# +# * `sample variable` +# Explanation of how this variable affects the function of this class and if +# it has a default. e.g. "The parameter enc_ntp_servers must be set by the +# External Node Classifier as a comma separated list of hostnames." (Note, +# global variables should be avoided in favor of class parameters as +# of Puppet 2.6.) +# +# Examples +# -------- +# +# @example +# class { 'sonarr': +# servers => [ 'pool.ntp.org', 'ntp.local.company.com' ], +# } +# +# Authors +# ------- +# +# Ruben Bosch +# +# Copyright +# --------- +# +# Copyright 2019 Ruben Bosch. +# +class sonarr ( + $manage_epel = false, + $mono = true, +) { + if $manage_epel { + package { 'epel-release': + ensure => 'installed', + } + } + if $mono { + yumrepo { 'mono': + ensure => present, + baseurl => 'http://download.mono-project.com/repo/centos/', + gpgkey => "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF", + } -> + package { + [ + 'wget', 'mediainfo', 'libzen', 'libmediainfo', + 'curl', 'gettext', 'mono-core', 'mono-devel', + 'sqlite.x86_64', 'git', 'par2cmdline', 'p7zip', + 'unar.x86_64', 'unzip', 'tar', 'gcc', + 'python-feedparser', 'python-configobj', + 'python-cheetah', 'python-dbus', 'python-devel', + 'libxslt-devel' + ]: + ensure => installed, + } + } +} diff --git a/metadata.json b/metadata.json new file mode 100644 index 0000000..3ef82bf --- /dev/null +++ b/metadata.json @@ -0,0 +1,15 @@ +{ + "name": "rubueno-sonarr", + "version": "0.1.0", + "author": "rubueno", + "summary": "A Puppet implementation of Sonarr", + "license": "GPL-3.0", + "source": "https://github.com/Rubueno/rubueno-sonarr", + "project_page": "https://github.com/Rubueno/rubueno-sonarr", + "issues_url": "https://github.com/Rubueno/rubueno-sonarr/issues", + "dependencies": [ + {"name":"puppetlabs-stdlib","version_requirement":">= 1.0.0"} + ], + "data_provider": null +} +