From b8b07c188d6142da54770959ffd2ea68cb51cf77 Mon Sep 17 00:00:00 2001 From: Eric Anderson Date: Fri, 24 Apr 2020 11:45:56 -0700 Subject: [PATCH] Initial commit of gcsfuse role --- roles/gcsfuse/README.md | 31 +++++++++++++++++++++++++++++++ roles/gcsfuse/defaults/main.yml | 2 ++ roles/gcsfuse/handlers/main.yml | 2 ++ roles/gcsfuse/tasks/debian.yml | 25 +++++++++++++++++++++++++ roles/gcsfuse/tasks/main.yml | 4 ++++ roles/gcsfuse/vars/main.yml | 2 ++ 6 files changed, 66 insertions(+) create mode 100644 roles/gcsfuse/README.md create mode 100644 roles/gcsfuse/defaults/main.yml create mode 100644 roles/gcsfuse/handlers/main.yml create mode 100644 roles/gcsfuse/tasks/debian.yml create mode 100644 roles/gcsfuse/tasks/main.yml create mode 100644 roles/gcsfuse/vars/main.yml diff --git a/roles/gcsfuse/README.md b/roles/gcsfuse/README.md new file mode 100644 index 0000000..2da6d4d --- /dev/null +++ b/roles/gcsfuse/README.md @@ -0,0 +1,31 @@ +# gcsfuse + +This role configures the gcsfuse repository, and installs gcsfuse on your host. +gcsfuse is a user-space file system for working with +[Google Cloud Storage](https://cloud.google.com/storage/). + +**Important:** You should run gcsfuse as the user who will be using the file +system, not as the root user. Do not use sudo either. + +After installed you can use it to mount by command: +`gcsfuse bucket-name /mount/point` + +## Example Playbook + +Including an example of how to use your role (for instance, with variables +passed in as parameters) is always nice for users too: + +```yaml +- hosts: servers + tasks: + - include_role: + name: google.cloud.gcsfuse +``` + +## License + +GPLv3 + +## Author Information + +[ericsysmin](https://ericsysmin.com) diff --git a/roles/gcsfuse/defaults/main.yml b/roles/gcsfuse/defaults/main.yml new file mode 100644 index 0000000..f519771 --- /dev/null +++ b/roles/gcsfuse/defaults/main.yml @@ -0,0 +1,2 @@ +--- +# defaults file for google.cloud.gcsfuse diff --git a/roles/gcsfuse/handlers/main.yml b/roles/gcsfuse/handlers/main.yml new file mode 100644 index 0000000..db9f8ae --- /dev/null +++ b/roles/gcsfuse/handlers/main.yml @@ -0,0 +1,2 @@ +--- +# handlers file for google.cloud.gcsfuse diff --git a/roles/gcsfuse/tasks/debian.yml b/roles/gcsfuse/tasks/debian.yml new file mode 100644 index 0000000..9443524 --- /dev/null +++ b/roles/gcsfuse/tasks/debian.yml @@ -0,0 +1,25 @@ +--- +- name: gcsfuse | Ensure gpg is installed + apt: name=gnupg + register: task_result + until: task_result is success + retries: 10 + delay: 2 + +- name: gcsfuse | Add an apt signing key + apt_key: + url: https://packages.cloud.google.com/apt/doc/apt-key.gpg + state: present + +- name: gcsfuse | Add the apt repository + apt_repository: + repo: deb http://packages.cloud.google.com/apt gcsfuse-{{ ansible_distribution_release }} main + state: present + filename: gcsfuse + +- name: gcsfuse | Install gcsfuse + apt: name=gcsfuse update_cache=yes + register: task_result + until: task_result is success + retries: 10 + delay: 2 diff --git a/roles/gcsfuse/tasks/main.yml b/roles/gcsfuse/tasks/main.yml new file mode 100644 index 0000000..c5432c5 --- /dev/null +++ b/roles/gcsfuse/tasks/main.yml @@ -0,0 +1,4 @@ +--- +# tasks file for google.cloud.gcsfuse + +- include_tasks: "{{ ansible_os_family|lower }}.yml" diff --git a/roles/gcsfuse/vars/main.yml b/roles/gcsfuse/vars/main.yml new file mode 100644 index 0000000..019372d --- /dev/null +++ b/roles/gcsfuse/vars/main.yml @@ -0,0 +1,2 @@ +--- +# vars file for google.cloud.gcsfuse