From a5a49113f306b2c23dfebc2a733d6a97197c3cde Mon Sep 17 00:00:00 2001 From: vincent Date: Mon, 7 Jan 2019 21:12:48 +0100 Subject: [PATCH] add mpd role completed --- defaults/main.yml | 3 +++ handlers/main.yml | 5 ++++ meta/main.yml | 60 +++++++++++++++++++++++++++++++++++++++++++ tasks/main.yml | 14 ++++++++++ templates/mpd.conf.j2 | 26 +++++++++++++++++++ vars/main.yml | 2 ++ 6 files changed, 110 insertions(+) create mode 100644 defaults/main.yml create mode 100644 handlers/main.yml create mode 100644 meta/main.yml create mode 100644 tasks/main.yml create mode 100644 templates/mpd.conf.j2 create mode 100644 vars/main.yml diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000..5432436 --- /dev/null +++ b/defaults/main.yml @@ -0,0 +1,3 @@ +--- +# defaults file for mpd +music_directory: "/home/{{username}}/Music" \ No newline at end of file diff --git a/handlers/main.yml b/handlers/main.yml new file mode 100644 index 0000000..5c2c79b --- /dev/null +++ b/handlers/main.yml @@ -0,0 +1,5 @@ +--- +# handlers file for mpd +- name: start_mpd + become: yes + service: name=mpd.service state=started enabled=yes diff --git a/meta/main.yml b/meta/main.yml new file mode 100644 index 0000000..5d50bf4 --- /dev/null +++ b/meta/main.yml @@ -0,0 +1,60 @@ +galaxy_info: + author: your name + description: your description + company: your company (optional) + + # If the issue tracker for your role is not on github, uncomment the + # next line and provide a value + # issue_tracker_url: http://example.com/issue/tracker + + # Some suggested licenses: + # - BSD (default) + # - MIT + # - GPLv2 + # - GPLv3 + # - Apache + # - CC-BY + license: license (GPLv2, CC-BY, etc) + + min_ansible_version: 2.4 + + # If this a Container Enabled role, provide the minimum Ansible Container version. + # min_ansible_container_version: + + # Optionally specify the branch Galaxy will use when accessing the GitHub + # repo for this role. During role install, if no tags are available, + # Galaxy will use this branch. During import Galaxy will access files on + # this branch. If Travis integration is configured, only notifications for this + # branch will be accepted. Otherwise, in all cases, the repo's default branch + # (usually master) will be used. + #github_branch: + + # + # Provide a list of supported platforms, and for each platform a list of versions. + # If you don't wish to enumerate all versions for a particular platform, use 'all'. + # To view available platforms and versions (or releases), visit: + # https://galaxy.ansible.com/api/v1/platforms/ + # + # platforms: + # - name: Fedora + # versions: + # - all + # - 25 + # - name: SomePlatform + # versions: + # - all + # - 1.0 + # - 7 + # - 99.99 + + galaxy_tags: [] + # List tags for your role here, one per line. A tag is a keyword that describes + # and categorizes the role. Users find roles by searching for tags. Be sure to + # remove the '[]' above, if you add tags to this list. + # + # NOTE: A tag is limited to a single word comprised of alphanumeric characters. + # Maximum 20 tags per role. + +dependencies: [] + # List your role dependencies here, one per line. Be sure to remove the '[]' above, + # if you add dependencies to this list. \ No newline at end of file diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100644 index 0000000..2777cae --- /dev/null +++ b/tasks/main.yml @@ -0,0 +1,14 @@ +--- +# tasks file for mpd +- name: install mpd + pacman: + state: present # not required. choices: absent;latest;present. Desired state of the package. + name: ['mpd' , 'mpc' , 'ncmpcpp' ] # not required. Name or list of names of the packages to install, upgrade, or remove. + become: yes + +- name: apply mpd.conf template + become: yes + template: + dest: /etc/mpd.conf # required. Location to render the template to on the remote machine. + src: ../templates/mpd.conf.j2 # required. Path of a Jinja2 formatted template on the Ansible controller. This can be a relative or absolute path. + notify: start_mpd diff --git a/templates/mpd.conf.j2 b/templates/mpd.conf.j2 new file mode 100644 index 0000000..aa6635d --- /dev/null +++ b/templates/mpd.conf.j2 @@ -0,0 +1,26 @@ +# See: /usr/share/doc/mpd/mpdconf.example +mixer_type "software" +music_directory "{{music_directory}}" +audio_output { + type "alsa" + name "Sound Card" + options "dev=dmixer" + device "plug:dmix" +} +audio_output { + type "pulse" + name "pulse audio" + server "localhost" +} +audio_output { + type "fifo" + name "my_fifo" + path "/tmp/mpd.fifo" + format "44100:16:2" +} + +pid_file "/run/mpd/mpd.pid" +db_file "/var/lib/mpd/mpd.db" +state_file "/var/lib/mpd/mpdstate" +playlist_directory "/var/lib/mpd/playlists" +max_output_buffer_size "16384" diff --git a/vars/main.yml b/vars/main.yml new file mode 100644 index 0000000..127ac03 --- /dev/null +++ b/vars/main.yml @@ -0,0 +1,2 @@ +--- +# vars file for mpd \ No newline at end of file