Skip to content

Commit 9e164aa

Browse files
author
Derek
committed
fix: Add Session Manager Plugin and aws-vault for AWS CLI
- Session Manager Plugin for `aws ssm start-session` (Fedora RPM, Ubuntu DEB, macOS Homebrew) - aws-vault for secure credential storage in OS keychain (GitHub binary for Linux, Homebrew for macOS)
1 parent 782a9fe commit 9e164aa

1 file changed

Lines changed: 50 additions & 0 deletions

File tree

ansible/roles/dfe_developer/tasks/cloud.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,46 @@
7979

8080
when: ansible_distribution in ['Fedora', 'Ubuntu']
8181

82+
# ============================================================================
83+
# AWS SESSION MANAGER PLUGIN (for aws ssm start-session)
84+
# ============================================================================
85+
86+
- name: Install Session Manager Plugin (Fedora)
87+
ansible.builtin.dnf:
88+
name: https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm
89+
state: present
90+
disable_gpg_check: true
91+
when: ansible_distribution == 'Fedora'
92+
93+
- name: Install Session Manager Plugin (Ubuntu)
94+
ansible.builtin.apt:
95+
deb: https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb
96+
when: ansible_distribution == 'Ubuntu'
97+
98+
# ============================================================================
99+
# AWS-VAULT (secure credential storage in OS keychain)
100+
# ============================================================================
101+
102+
- name: Install aws-vault (Linux)
103+
block:
104+
- name: Get latest aws-vault version from GitHub API
105+
ansible.builtin.uri:
106+
url: https://api.github.com/repos/99designs/aws-vault/releases/latest
107+
return_content: true
108+
register: aws_vault_release
109+
110+
- name: Set aws-vault version fact
111+
ansible.builtin.set_fact:
112+
aws_vault_version: "{{ aws_vault_release.json.tag_name }}"
113+
114+
- name: Download aws-vault binary
115+
ansible.builtin.get_url:
116+
url: "https://github.com/99designs/aws-vault/releases/download/{{ aws_vault_version }}/aws-vault-linux-amd64"
117+
dest: /usr/local/bin/aws-vault
118+
mode: '0755'
119+
120+
when: ansible_distribution in ['Fedora', 'Ubuntu']
121+
82122
# ============================================================================
83123
# HELM (Linux binary install)
84124
# ============================================================================
@@ -198,6 +238,16 @@
198238
failed_when: false
199239
changed_when: false
200240

241+
- name: Install Session Manager Plugin
242+
community.general.homebrew_cask:
243+
name: session-manager-plugin
244+
state: present
245+
246+
- name: Install aws-vault
247+
community.general.homebrew_cask:
248+
name: aws-vault
249+
state: present
250+
201251
become: false
202252
environment: "{{ homebrew_env }}"
203253
when: ansible_distribution == 'MacOSX'

0 commit comments

Comments
 (0)