add role laptop

This commit is contained in:
vincent 2019-04-11 18:52:29 +02:00
commit c79e04304a
5 changed files with 166 additions and 0 deletions

11
defaults/main.yml Normal file
View File

@ -0,0 +1,11 @@
---
# defaults file for syncthing
syncthing_address: 127.0.0.1:8384
syncthing_listen: tcp://0.0.0.0:22000
syncthing_home: /home/{{ user.name }}
syncthing_localannounce: true
syncthing_globalannounce: true
syncthing_upnp: true
#syncthing_gui_user: root
#password: root
#syncthing_gui_password: $2a$10$nJZ8YN/1mB84Cbi79BKka.6SFMAKF.CBwyCNJDA9qUgXdkcuBilx2

5
handlers/main.yml Normal file
View File

@ -0,0 +1,5 @@
---
# handlers file for syncthing
- name: restart syncthing
service: name=syncthing@{{ user.name }} state=restarted
become: yes

60
meta/main.yml Normal file
View File

@ -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.

88
tasks/main.yml Normal file
View File

@ -0,0 +1,88 @@
---
# tasks file for syncthing
- name: install syncthing
pacman:
state: present
name: syncthing # not required. Name or list of names of the packages to install, upgrade, or remove.
become: yes
- debug:
msg: "{{ user }}"
- name: start and enable syncthing
systemd:
name: syncthing@{{ user.name }} # required. Name of the service.
enabled: true # not required. Whether the service should start on boot. B(At least one of state and enabled are required.)
state: started
become: yes
- name: waiting for configfile (takes some time)
wait_for: path={{ syncthing_home }}/.config/syncthing/config.xml
- name: syncthing | config.xml set webinterface address
xml:
file={{ syncthing_home }}/.config/syncthing/config.xml
xpath=/configuration/gui/address
value={{ syncthing_address }}
notify: restart syncthing
become_user: "{{ user.name }}"
- name: syncthing | config.xml set listen address
xml:
file={{ syncthing_home }}/.config/syncthing/config.xml
xpath=/configuration/options/listenAddress
value={{ syncthing_listen }}
notify: restart syncthing
become_user: "{{ user.name }}"
- name: syncthing | config.xml set localAnnounceEnabled
xml:
file={{ syncthing_home }}/.config/syncthing/config.xml
xpath=/configuration/options/localAnnounceEnabled
value={{ syncthing_localannounce|lower }}
notify: restart syncthing
become_user: "{{ user.name }}"
- name: syncthing | config.xml set globalAnnounceEnabled
xml:
file={{ syncthing_home }}/.config/syncthing/config.xml
xpath=/configuration/options/globalAnnounceEnabled
value={{ syncthing_globalannounce|lower }}
notify: restart syncthing
become_user: "{{ user.name }}"
- name: syncthing | config.xml set upnpEnabled
xml:
file={{ syncthing_home }}/.config/syncthing/config.xml
xpath=/configuration/options/upnpEnabled
value={{ syncthing_upnp|lower }}
notify: restart syncthing
become_user: "{{ user.name }}"
- name: syncthing | config.xml set user
xml:
file={{ syncthing_home }}/.config/syncthing/config.xml
xpath=/configuration/gui/user
value={{ syncthing_gui_user }}
when: syncthing_gui_user is defined
notify: restart syncthing
become_user: "{{ user.name }}"
- name: syncthing | config.xml set password
xml:
file={{ syncthing_home }}/.config/syncthing/config.xml
xpath=/configuration/gui/password
value={{ syncthing_gui_password }}
when: syncthing_gui_password is defined
notify: restart syncthing
become_user: "{{ user.name }}"
- name: syncthing | config.xml set dark theme
xml:
file={{ syncthing_home }}/.config/syncthing/config.xml
xpath=/configuration/gui/theme
value=dark
notify: restart syncthing
become_user: "{{ user.name }}"

2
vars/main.yml Normal file
View File

@ -0,0 +1,2 @@
---
# vars file for syncthing