diff --git a/roles/stefangweichinger.rclone/.travis.yml b/roles/stefangweichinger.rclone/.travis.yml deleted file mode 100644 index e0daefd0..00000000 --- a/roles/stefangweichinger.rclone/.travis.yml +++ /dev/null @@ -1,31 +0,0 @@ ---- -language: python -services: docker - -env: - global: - - ROLE_NAME: ansible-rclone - matrix: - - MOLECULE_DISTRO: centos7 - - MOLECULE_DISTRO: centos8 - - MOLECULE_DISTRO: debian10 - - MOLECULE_DISTRO: debian9 - - MOLECULE_DISTRO: fedora32 - - MOLECULE_DISTRO: fedora31 - - MOLECULE_DISTRO: fedora30 - - MOLECULE_DISTRO: ubuntu2004 - - MOLECULE_DISTRO: ubuntu1804 - - MOLECULE_DISTRO: ubuntu1604 - -install: - # Install test dependencies. - - pip install molecule docker yamllint ansible-lint - -script: - - molecule --version - - ansible --version - # Run tests. - - molecule test -s travis - -notifications: - webhooks: https://galaxy.ansible.com/api/v1/notifications/ diff --git a/roles/stefangweichinger.rclone/.yamllint b/roles/stefangweichinger.rclone/.yamllint deleted file mode 100644 index 55be306b..00000000 --- a/roles/stefangweichinger.rclone/.yamllint +++ /dev/null @@ -1,8 +0,0 @@ ---- - -extends: default - -rules: - line-length: - max: 140 - level: warning diff --git a/roles/stefangweichinger.rclone/README.md b/roles/stefangweichinger.rclone/README.md deleted file mode 100644 index 967eb906..00000000 --- a/roles/stefangweichinger.rclone/README.md +++ /dev/null @@ -1,142 +0,0 @@ -# ansible-rclone -AKA `ansible_rclone` and formerly `rclone` - -[![Build Status](https://travis-ci.org/stefangweichinger/ansible-rclone.svg?branch=master)](https://travis-ci.org/stefangweichinger/ansible-rclone) - -[![GitHub Open Issues](https://img.shields.io/github/issues/stefangweichinger/ansible-rclone.svg)](https://github.com/stefangweichinger/ansible-rclone/issues) -[![GitHub Stars](https://img.shields.io/github/stars/stefangweichinger/ansible-rclone.svg)](https://github.com/stefangweichinger/ansible-rclone) -[![GitHub Forks](https://img.shields.io/github/forks/stefangweichinger/ansible-rclone.svg)](https://github.com/stefangweichinger/ansible-rclone) - -[![Ansible Role](https://img.shields.io/ansible/role/46861.svg)](https://galaxy.ansible.com/stefangweichinger/ansible_rclone) -[![Ansible Role Downloads](https://img.shields.io/ansible/role/d/46861.svg)](https://galaxy.ansible.com/stefangweichinger/ansible_rclone) - - -An Ansible role to install [rclone](https://github.com/ncw/rclone) - -Please note that this role installs rclone from the upstream repository and not from the OS repositories! - -## Usage - -1. Clone this repo into your local roles-directory or install via `ansible-galaxy install stefangweichinger.ansible_rclone` -2. Add role to the hosts you want rclone installed to. - -## Supported Platforms - -(2020-may-25) - -* CentOS 7,8 -* Debian 8,9,10 -* Fedora 30,31,32 -* Ubuntu 1604,1804,2004 -* Ubuntu derivated distros: Linux Mint, Pop!\_OS - -Some older releases also work with this role, but I decided to remove some of them from `galaxy_info`. -PRs welcome, but we can't test on every platform. - -## Role Variables - -Available variables are listed below, along with default values (see `defaults/main.yml`): - - install_manpages: "true" - -This can be used to toggle the installation of manpages. - - rclone_arch: "amd64" - -This variable chooses the target architecture (for example 'amd64'). - - rclone_version: "" - -The version of rclone to install. `rclone_version` is no longer set as a default, but if provided as a variable, can be set to a specific version number or "beta" to install the latest beta version. - - rclone_config_location: "/root/.config/rclone/rclone.conf" - -The location to install the rclone config file if you provide `rclone_configs` - - rclone_configs: "" - -This variable allows for predefined remote configs to be loaded. `rclone_configs` must be a YAML list with a name variable and a properties variable which is another list of arbitrary key value pairs. See the example below which would configure a Google Drive remote: - -``` -rclone_configs: - - name: ExampleGoogleDriveRemote - properties: - type: drive - client_id: 12345 - client_secret: 67890 - token: {"access_token":"","token_type":"","refresh_token":"","expiry":""} -``` - -### rclone_configs detailed example - -The `rclone_configs` variable is used to recreate the `rclone.conf` file. This config file stores the rclone remotes that have been defined and are usable. This is an alternative to simply copying a stored `rclone.conf` file directly. - -The `rclone_configs` simply takes a list of YAML objects which must have a `name` which will map to the name of the remote, and a `properties` which can be any key, value pairs which will map to the variables stored under that remote. These should be the ones expected by the `rclone.conf` file for the remote type you're configuring. - -For example, to recreate a standard encrypted Google Drive mount setup, the `rclone.conf` will look similar to below, assuming you have your encypted files stored in the "media" folder on Google Drive: - -``` -[google-drive] -type = drive -client_id = -client_secret = -token = {"access_token":"","token_type":"Bearer","refresh_token":"","expiry":""} -root_folder_id = - -[encrypted-media] -type = crypt -remote = google-drive:media -filename_encryption = standard -password = -password2 = -``` - -To enable ansible-rclone to recreate that config file, you can provide an `rclone_configs` variable as follows. -Note that this should always be encrypted if stored publicly as it gives access to your remotes: - -``` -rclone_configs: - - name: google-drive - properties: - type: drive - client_id: - client_secret: - token: {"access_token":"","token_type":"Bearer","refresh_token":"","expiry":""} - root_folder_id = - - name: encrypted-media - properties: - type: crypt - remote: google-drive:media - filename_encryption: standard - password: - password2: - -``` - -## Dependencies - -None. - -## Example Playbook - - - hosts: rclone-hosts - roles: - - rclone - -## Troubleshooting - -**Module Name Issue**: -``` -[WARNING]: - stefangweichinger.rclone was NOT installed successfully: - sorry, stefangweichinger.rclone was not found on https://galaxy.ansible.com/api/ -``` - -Note that this module has undergone a name change. It was previously known as `stefangweichinger.rclone`, however Galaxy changed it's naming methods. We are working on a change that will put move it back to this name for simplicity. Ansible Galaxy substitutes `-` to `_` and used to strip a prefix or `ansible`. For more information, see the [this issue](https://github.com/stefangweichinger/ansible-rclone/issues/48). - -## Tests - -New tests using [molecule](https://molecule.readthedocs.io/en/latest/index.html) - -pls feel free to review my first steps into testing the role with molecule -additional distros might be added/tested soon - -Check the travis logs at https://travis-ci.org/github/stefangweichinger/ansible-rclone diff --git a/roles/stefangweichinger.rclone/defaults/main.yml b/roles/stefangweichinger.rclone/defaults/main.yml deleted file mode 100644 index d2f4c424..00000000 --- a/roles/stefangweichinger.rclone/defaults/main.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- -# rclone_arch can be defined as an architecture (e.g. arm, mips, 386) listed at https://github.com/ncw/rclone/releases -rclone_arch: amd64 - -install_manpages: true - -# Defaults in case no variables for OS are chosen -rclone_setup_tmp_dir: "/tmp/rclone_setup" - -# The location to install the config file if configured -rclone_config_location: "/root/.config/rclone/rclone.conf" - -PACKAGES: - - unzip - -MAN_PAGES: - OWNER: root - GROUP: root diff --git a/roles/stefangweichinger.rclone/meta/main.yml b/roles/stefangweichinger.rclone/meta/main.yml deleted file mode 100644 index 36c4687e..00000000 --- a/roles/stefangweichinger.rclone/meta/main.yml +++ /dev/null @@ -1,32 +0,0 @@ ---- - -dependencies: [] - -galaxy_info: - author: 'Stefan G. Weichinger' - description: 'Install rclone' - company: 'oops' - license: 'GNU General Public License v3' - min_ansible_version: '2.0' - platforms: - - name: EL - versions: - - 7 - - 8 - - name: Debian - versions: - - buster - - stretch - - name: Fedora - versions: - - 32 - - 31 - - 30 - - name: Ubuntu - versions: - - focal - - bionic - - xenial - galaxy_tags: - - networking - - system diff --git a/roles/stefangweichinger.rclone/molecule/default/converge.yml b/roles/stefangweichinger.rclone/molecule/default/converge.yml deleted file mode 100644 index 9f52e0f4..00000000 --- a/roles/stefangweichinger.rclone/molecule/default/converge.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- -- name: Converge - hosts: all - become: true - - pre_tasks: - - name: Update apt cache. - apt: update_cache=true cache_valid_time=600 - when: ansible_os_family == 'Debian' - - name: Wait for systemd to complete initialization. # noqa 303 - command: systemctl is-system-running - register: systemctl_status - until: > - 'running' in systemctl_status.stdout or - 'degraded' in systemctl_status.stdout - retries: 30 - delay: 5 - when: ansible_distribution == 'Fedora' - changed_when: false - - roles: - - role: ansible-rclone diff --git a/roles/stefangweichinger.rclone/molecule/default/molecule.yml b/roles/stefangweichinger.rclone/molecule/default/molecule.yml deleted file mode 100644 index ac3497fa..00000000 --- a/roles/stefangweichinger.rclone/molecule/default/molecule.yml +++ /dev/null @@ -1,23 +0,0 @@ ---- -dependency: - name: galaxy -driver: - name: docker -lint: | - set -e - yamllint . - ansible-lint -platforms: - - name: instance - image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest" - command: ${MOLECULE_DOCKER_COMMAND:-""} - volumes: - - /sys/fs/cgroup:/sys/fs/cgroup:ro - privileged: false - pre_build_image: true -provisioner: - name: ansible - playbooks: - converge: ${MOLECULE_PLAYBOOK:-converge.yml} - lint: - name: ansible-lint diff --git a/roles/stefangweichinger.rclone/molecule/playbook.yml b/roles/stefangweichinger.rclone/molecule/playbook.yml deleted file mode 100644 index 30fe2165..00000000 --- a/roles/stefangweichinger.rclone/molecule/playbook.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- name: Converge - hosts: all - roles: - - role: ansible-rclone diff --git a/roles/stefangweichinger.rclone/molecule/tests/__pycache__/test_default.cpython-37-PYTEST.pyc b/roles/stefangweichinger.rclone/molecule/tests/__pycache__/test_default.cpython-37-PYTEST.pyc deleted file mode 100644 index 4fcc9a54..00000000 Binary files a/roles/stefangweichinger.rclone/molecule/tests/__pycache__/test_default.cpython-37-PYTEST.pyc and /dev/null differ diff --git a/roles/stefangweichinger.rclone/molecule/tests/__pycache__/test_default.cpython-37.pyc b/roles/stefangweichinger.rclone/molecule/tests/__pycache__/test_default.cpython-37.pyc deleted file mode 100644 index 855617b0..00000000 Binary files a/roles/stefangweichinger.rclone/molecule/tests/__pycache__/test_default.cpython-37.pyc and /dev/null differ diff --git a/roles/stefangweichinger.rclone/molecule/tests/test_default.py b/roles/stefangweichinger.rclone/molecule/tests/test_default.py deleted file mode 100644 index f328ddcc..00000000 --- a/roles/stefangweichinger.rclone/molecule/tests/test_default.py +++ /dev/null @@ -1,14 +0,0 @@ -import os - -import testinfra.utils.ansible_runner - -testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( - os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all') - - -def test_hosts_file(host): - f = host.file('/usr/bin/rclone') - - assert f.exists - assert f.user == 'root' - assert f.group == 'root' diff --git a/roles/stefangweichinger.rclone/molecule/travis/converge.yml b/roles/stefangweichinger.rclone/molecule/travis/converge.yml deleted file mode 100644 index 9f52e0f4..00000000 --- a/roles/stefangweichinger.rclone/molecule/travis/converge.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- -- name: Converge - hosts: all - become: true - - pre_tasks: - - name: Update apt cache. - apt: update_cache=true cache_valid_time=600 - when: ansible_os_family == 'Debian' - - name: Wait for systemd to complete initialization. # noqa 303 - command: systemctl is-system-running - register: systemctl_status - until: > - 'running' in systemctl_status.stdout or - 'degraded' in systemctl_status.stdout - retries: 30 - delay: 5 - when: ansible_distribution == 'Fedora' - changed_when: false - - roles: - - role: ansible-rclone diff --git a/roles/stefangweichinger.rclone/molecule/travis/molecule.yml b/roles/stefangweichinger.rclone/molecule/travis/molecule.yml deleted file mode 100644 index b618f367..00000000 --- a/roles/stefangweichinger.rclone/molecule/travis/molecule.yml +++ /dev/null @@ -1,23 +0,0 @@ ---- -dependency: - name: galaxy -driver: - name: docker -lint: | - set -e - yamllint . - ansible-lint -platforms: - - name: instance - image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest" - command: ${MOLECULE_DOCKER_COMMAND:-""} - volumes: - - /sys/fs/cgroup:/sys/fs/cgroup:ro - privileged: true - pre_build_image: true -provisioner: - name: ansible - playbooks: - converge: ${MOLECULE_PLAYBOOK:-converge.yml} - lint: - name: ansible-lint diff --git a/roles/stefangweichinger.rclone/tasks/beta.yml b/roles/stefangweichinger.rclone/tasks/beta.yml deleted file mode 100644 index 1de1f35b..00000000 --- a/roles/stefangweichinger.rclone/tasks/beta.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- -- block: - - name: Check latest beta rclone version number - uri: - url: https://beta.rclone.org/version.txt - return_content: true - register: - rclone_latest_beta_version - - name: Set variable for beta version - set_fact: - rclone_version: "{{ rclone_latest_beta_version.content | replace ('rclone v', '', 1) | trim }}" - -- name: Get rclone latest beta version - unarchive: - src: https://beta.rclone.org/rclone-beta-latest-linux-{{ rclone_arch }}.zip - dest: "{{ rclone_setup_tmp_dir }}" - remote_src: true - creates: "{{ rclone_setup_tmp_dir }}/rclone-v{{ rclone_version }}-linux-{{ rclone_arch }}" diff --git a/roles/stefangweichinger.rclone/tasks/main.yml b/roles/stefangweichinger.rclone/tasks/main.yml deleted file mode 100644 index 2b1690d5..00000000 --- a/roles/stefangweichinger.rclone/tasks/main.yml +++ /dev/null @@ -1,86 +0,0 @@ ---- -- name: Gather OS specific variables - include_vars: "{{ item }}" - with_first_found: - - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml' - - '{{ ansible_distribution }}.yml' - - '{{ ansible_os_family }}.yml' - tags: - - vars - -- name: Update repositories cache on Ubuntu - apt: - update_cache: true - become: true - when: ansible_distribution == 'Ubuntu' - -- name: Install required packages - package: - name: '{{ item }}' - state: present - become: true - with_items: '{{ PACKAGES }}' - -- name: Create temporary working directory - file: - path: "{{ rclone_setup_tmp_dir }}" - state: directory - mode: '0775' - -- name: Do stable install - include_tasks: stable.yml - when: rclone_version is undefined or rclone_version != 'beta' - -- name: Do beta install - include_tasks: beta.yml - when: rclone_version == 'beta' - -- name: Copy rclone binary - copy: - src: "{{ rclone_setup_tmp_dir }}/rclone-v{{ rclone_version }}-linux-{{ rclone_arch }}/rclone" - dest: "/usr/local/bin/rclone" - mode: '0755' - owner: root - group: root - remote_src: true - become: true - -- name: Create config directory - file: - path: '{{ rclone_config_location | dirname }}' - state: directory - mode: '0700' - when: rclone_configs is defined - -- name: Set up rclone config - template: - src: rclone.conf.j2 - dest: '{{ rclone_config_location }}' - when: rclone_configs is defined - -- name: Make dir for local manpages - file: - path: '{{ MAN_PAGES.PATH }}' - state: directory - mode: '0775' - owner: '{{ MAN_PAGES.OWNER }}' - group: '{{ MAN_PAGES.GROUP }}' - become: true - when: install_manpages - -- name: Copy rclone manpage - copy: - src: "{{ rclone_setup_tmp_dir }}/rclone-v{{ rclone_version }}-linux-{{ rclone_arch }}/rclone.1" - dest: "{{ MAN_PAGES.PATH }}/rclone.1" - mode: '0644' - owner: root - group: root - remote_src: true - become: true - when: install_manpages - -- name: Update mandb - command: mandb - become: true - changed_when: false - when: install_manpages diff --git a/roles/stefangweichinger.rclone/tasks/stable.yml b/roles/stefangweichinger.rclone/tasks/stable.yml deleted file mode 100644 index 0a42ba37..00000000 --- a/roles/stefangweichinger.rclone/tasks/stable.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -- block: - - name: Check latest stable rclone version number - uri: - url: https://downloads.rclone.org/version.txt - return_content: true - register: - rclone_latest_version - check_mode: false - - name: Set variable to latest stable version number - set_fact: - rclone_version: "{{ rclone_latest_version.content | replace ('rclone v', '', 1) | trim }}" - when: rclone_version is undefined - -- name: Get rclone stable version {{ rclone_version }} - unarchive: - src: https://downloads.rclone.org/v{{ rclone_version }}/rclone-v{{ rclone_version }}-linux-{{ rclone_arch }}.zip - dest: "{{ rclone_setup_tmp_dir }}" - remote_src: true - creates: "{{ rclone_setup_tmp_dir }}/rclone-v{{ rclone_version }}-linux-{{ rclone_arch }}" diff --git a/roles/stefangweichinger.rclone/templates/rclone.conf.j2 b/roles/stefangweichinger.rclone/templates/rclone.conf.j2 deleted file mode 100644 index 6068cdd9..00000000 --- a/roles/stefangweichinger.rclone/templates/rclone.conf.j2 +++ /dev/null @@ -1,7 +0,0 @@ -{% for config in rclone_configs %} -[{{ config.name }}] -{% for key, value in config.properties.items() %} -{{ key }} = {{ value }} -{% endfor %} - -{% endfor %} \ No newline at end of file diff --git a/roles/stefangweichinger.rclone/tests/inventory b/roles/stefangweichinger.rclone/tests/inventory deleted file mode 100644 index d18580b3..00000000 --- a/roles/stefangweichinger.rclone/tests/inventory +++ /dev/null @@ -1 +0,0 @@ -localhost \ No newline at end of file diff --git a/roles/stefangweichinger.rclone/tests/test.yml b/roles/stefangweichinger.rclone/tests/test.yml deleted file mode 100644 index b890747e..00000000 --- a/roles/stefangweichinger.rclone/tests/test.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- hosts: localhost - remote_user: root - roles: - - ansible-rclone diff --git a/roles/stefangweichinger.rclone/vars/CentOS-6.yml b/roles/stefangweichinger.rclone/vars/CentOS-6.yml deleted file mode 100644 index caec5f56..00000000 --- a/roles/stefangweichinger.rclone/vars/CentOS-6.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -PACKAGES: - - unzip - - man - -MAN_PAGES: - OWNER: root - GROUP: root - PATH: '/usr/local/share/man/man1' diff --git a/roles/stefangweichinger.rclone/vars/CentOS-7.yml b/roles/stefangweichinger.rclone/vars/CentOS-7.yml deleted file mode 100644 index bd057be7..00000000 --- a/roles/stefangweichinger.rclone/vars/CentOS-7.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -PACKAGES: - - unzip - - man-db - -MAN_PAGES: - OWNER: root - GROUP: root - PATH: '/usr/local/share/man/man1' diff --git a/roles/stefangweichinger.rclone/vars/Debian.yml b/roles/stefangweichinger.rclone/vars/Debian.yml deleted file mode 100644 index 7c0a33b7..00000000 --- a/roles/stefangweichinger.rclone/vars/Debian.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -PACKAGES: - - unzip - - man-db - -MAN_PAGES: - OWNER: root - GROUP: root - PATH: '/usr/share/man/man1' diff --git a/roles/stefangweichinger.rclone/vars/Fedora.yml b/roles/stefangweichinger.rclone/vars/Fedora.yml deleted file mode 100644 index 6949be28..00000000 --- a/roles/stefangweichinger.rclone/vars/Fedora.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- - -PACKAGES: - - unzip - - man - - file - -MAN_PAGES: - OWNER: root - GROUP: root - PATH: '/usr/local/share/man/man1' diff --git a/roles/stefangweichinger.rclone/vars/Linuxmint.yml b/roles/stefangweichinger.rclone/vars/Linuxmint.yml deleted file mode 100644 index bd057be7..00000000 --- a/roles/stefangweichinger.rclone/vars/Linuxmint.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -PACKAGES: - - unzip - - man-db - -MAN_PAGES: - OWNER: root - GROUP: root - PATH: '/usr/local/share/man/man1' diff --git a/roles/stefangweichinger.rclone/vars/Pop!_OS.yml b/roles/stefangweichinger.rclone/vars/Pop!_OS.yml deleted file mode 100644 index bd057be7..00000000 --- a/roles/stefangweichinger.rclone/vars/Pop!_OS.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -PACKAGES: - - unzip - - man-db - -MAN_PAGES: - OWNER: root - GROUP: root - PATH: '/usr/local/share/man/man1' diff --git a/roles/stefangweichinger.rclone/vars/RedHat.yml b/roles/stefangweichinger.rclone/vars/RedHat.yml deleted file mode 100644 index 6949be28..00000000 --- a/roles/stefangweichinger.rclone/vars/RedHat.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- - -PACKAGES: - - unzip - - man - - file - -MAN_PAGES: - OWNER: root - GROUP: root - PATH: '/usr/local/share/man/man1' diff --git a/roles/stefangweichinger.rclone/vars/Ubuntu.yml b/roles/stefangweichinger.rclone/vars/Ubuntu.yml deleted file mode 100644 index bd057be7..00000000 --- a/roles/stefangweichinger.rclone/vars/Ubuntu.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -PACKAGES: - - unzip - - man-db - -MAN_PAGES: - OWNER: root - GROUP: root - PATH: '/usr/local/share/man/man1'