From 651909ff71bc66440fbefc88091480cd16f1b3a8 Mon Sep 17 00:00:00 2001 From: "Kenneth Benzie (Benie)" Date: Sun, 5 Jun 2022 20:38:48 +0100 Subject: [PATCH] Add op role for Linux, macOS, and Windows --- Unix.yaml | 1 + Windows.yaml | 1 + roles/op/tasks/Darwin.yaml | 5 +++++ roles/op/tasks/Debian.yaml | 38 +++++++++++++++++++++++++++++++++++++ roles/op/tasks/Windows.yaml | 5 +++++ roles/op/tasks/main.yaml | 2 ++ 6 files changed, 52 insertions(+) create mode 100644 roles/op/tasks/Darwin.yaml create mode 100644 roles/op/tasks/Debian.yaml create mode 100644 roles/op/tasks/Windows.yaml create mode 100644 roles/op/tasks/main.yaml diff --git a/Unix.yaml b/Unix.yaml index 46629d8..3bb0f63 100644 --- a/Unix.yaml +++ b/Unix.yaml @@ -10,6 +10,7 @@ - role: ag - role: bat - role: git + - role: op - role: tree - role: llvm diff --git a/Windows.yaml b/Windows.yaml index b78e6ee..8c258f2 100644 --- a/Windows.yaml +++ b/Windows.yaml @@ -8,6 +8,7 @@ - role: ag - role: git + - role: op - role: tree - role: llvm diff --git a/roles/op/tasks/Darwin.yaml b/roles/op/tasks/Darwin.yaml new file mode 100644 index 0000000..52a9c70 --- /dev/null +++ b/roles/op/tasks/Darwin.yaml @@ -0,0 +1,5 @@ +--- +- name: install homebrew package + homebrew_cask: + name: 1password-cli + state: latest diff --git a/roles/op/tasks/Debian.yaml b/roles/op/tasks/Debian.yaml new file mode 100644 index 0000000..821b35c --- /dev/null +++ b/roles/op/tasks/Debian.yaml @@ -0,0 +1,38 @@ +--- +- name: get html of latest versions + uri: + url: https://raw.githubusercontent.com/kbenzie/op-release-scraper/main/op-releases.json + register: op_releases + +- when: ansible_machine == "x86" + set_fact: {op_arch: '386'} +- when: ansible_machine == "x86_64" + set_fact: {op_arch: 'amd64'} +- when: ansible_machine == "arm" + set_fact: {op_arch: 'arm'} +- when: ansible_machine == "arm64" + set_fact: {op_arch: 'arm64'} + +- set_fact: + op_zip_url: '{{op_releases.json[0].downloads.Linux[op_arch]}}' + +- name: create directory for downloaded package + file: + state: directory + dest: ~/.local/src/op + +- name: download latest release package + get_url: + url: '{{op_zip_url}}' + dest: ~/.local/src/op/op.zip + +- name: extract zip package + unarchive: + src: ~/.local/src/op/op.zip + dest: ~/.local/src/op + +- name: create symbolic links + file: + src: ~/.local/src/op/op + dest: ~/.local/bin/op + state: link diff --git a/roles/op/tasks/Windows.yaml b/roles/op/tasks/Windows.yaml new file mode 100644 index 0000000..66ef6d5 --- /dev/null +++ b/roles/op/tasks/Windows.yaml @@ -0,0 +1,5 @@ +--- +- name: install chocolatey package + win_chocolatey: + name: op + state: latest diff --git a/roles/op/tasks/main.yaml b/roles/op/tasks/main.yaml new file mode 100644 index 0000000..6853678 --- /dev/null +++ b/roles/op/tasks/main.yaml @@ -0,0 +1,2 @@ +--- +- include_tasks: '{{ansible_os_family}}.yaml'