Files
Workstation/ansible/arch_developer_tools/tasks/main.yml
ducoterra 8fbf384b2d Add fedora compatibility
Add fedora installation for Framework.
2022-02-06 17:29:55 -05:00

177 lines
4.3 KiB
YAML

---
# Sync and update Pacman
- name: Sync and update Pacman
community.general.pacman:
update_cache: yes
upgrade: yes
become: yes
tags: update
# Install Pacman developer tools
- name: Ensure common developer tools installed
community.general.pacman:
name:
- vim
- wine
- winetricks
- wine-mono
- wine_gecko
- iputils
- dnsutils
- iperf3
- python
- python-pip
- grub
- glances
- htop
- curl
- wget
- dconf-editor
- yay
- unzip
become: yes
# Install yay developer tools
- name: Install vscode
command: yay -S visual-studio-code-bin --noconfirm
# Install snap developer tools
- name: Ensure snap installed
community.general.pacman:
name: snapd
state: present
become: yes
- name: Ensure snapd service running
ansible.builtin.systemd:
name: snapd.socket
state: started
enabled: yes
become: yes
- name: Link /var/lib/snapd/snap /snap
ansible.builtin.file:
src: /var/lib/snapd/snap
dest: /snap
owner: root
group: root
state: link
become: yes
- name: Install snap packages
community.general.snap:
name:
- yq
state: present
become: yes
retries: 6
delay: 10
- name: Install classic snap packages
community.general.snap:
name:
- kubectl
- helm
state: present
classic: yes
become: yes
retries: 6
delay: 10
# AWS CLI
- name: Download awscli v2 installer - latest version
unarchive:
src: https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip
dest: '{{ executable_temp_dir }}'
remote_src: true
creates: '{{ executable_temp_dir }}/aws'
mode: 0755
when: awscli_version is not defined
tags: ["awscli", "awscliv2"]
- name: Download awscli v2 installer - specific version {{ awscli_version }}
unarchive:
src: 'https://awscli.amazonaws.com/awscli-exe-linux-x86_64-{{ awscli_version }}.zip'
dest: "{{ executable_temp_dir }}"
remote_src: true
creates: '{{ executable_temp_dir }}/aws'
mode: 0755
when: awscli_version is defined
tags: ["awscli", "awscliv2"]
- name: Run the installer for awscli v2
command:
args:
cmd: '{{ executable_temp_dir }}/aws/install -i {{ awscli_install_dir }} -b /usr/local/bin'
creates: /usr/local/bin/aws
become: yes
tags: ["awscli", "awscliv2"]
# Ansible
- name: Install ansible
pip:
name: ansible
extra_args: --user
# Docker
- name: Ensure docker installed
community.general.pacman:
name:
- docker
- docker-compose
state: present
become: yes
- name: Ensure ducoterra in the "docker" group
ansible.builtin.user:
name: ducoterra
groups: docker
append: yes
become: yes
# Vault CLI
- name: Download vault binary
unarchive:
src: https://releases.hashicorp.com/vault/{{vault_version}}/vault_{{vault_version}}_linux_amd64.zip
dest: '{{ executable_temp_dir }}'
remote_src: true
creates: '{{ executable_temp_dir }}/vault'
mode: 0755
- name: Move vault binary to /usr/local/bin
ansible.builtin.copy:
src: '{{ executable_temp_dir }}/vault'
dest: /usr/local/bin/vault
owner: root
group: root
mode: '0755'
become: yes
# Terraform CLI
- name: Download vault binary
unarchive:
src: https://releases.hashicorp.com/terraform/{{tf_version}}/terraform_{{tf_version}}_linux_amd64.zip
dest: '{{ executable_temp_dir }}'
remote_src: true
creates: '{{ executable_temp_dir }}/terraform'
mode: 0755
- name: Move terraform binary to /usr/local/bin
ansible.builtin.copy:
src: '{{ executable_temp_dir }}/terraform'
dest: /usr/local/bin/terraform
owner: root
group: root
mode: '0755'
become: yes
# Packer CLI
- name: Download packer binary
unarchive:
src: https://releases.hashicorp.com/packer/{{packer_version}}/packer_{{packer_version}}_linux_amd64.zip
dest: '{{ executable_temp_dir }}'
remote_src: true
creates: '{{ executable_temp_dir }}/packer'
mode: 0755
- name: Move packer binary to /usr/local/bin
ansible.builtin.copy:
src: '{{ executable_temp_dir }}/packer'
dest: /usr/local/bin/packer
owner: root
group: root
mode: '0755'
become: yes
# Wireguard Configuration
- name: Ensure wireguard-tools installed
community.general.pacman:
name: wireguard-tools
state: present
become: yes
- name: Ensure /etc/wireguard directory
file:
path: /etc/wireguard
state: directory
become: yes