Split fedora and manjaro playbooks

Split playbooks to better accomodate development of both.
This commit is contained in:
ducoterra
2022-04-03 16:48:30 -04:00
parent 2ca110134a
commit 494e91f293
191 changed files with 1195 additions and 1314 deletions

View File

@@ -0,0 +1,52 @@
galaxy_info:
author: Reese Wells
description: Installs common developer tools
company: ""
# If the issue tracker for your role is not on github, uncomment the
# next line and provide a value
# issue_tracker_url: http://example.com/issue/tracker
# Choose a valid license ID from https://spdx.org - some suggested licenses:
# - BSD-3-Clause (default)
# - MIT
# - GPL-2.0-or-later
# - GPL-3.0-only
# - Apache-2.0
# - CC-BY-4.0
license: license (GPL-2.0-or-later, MIT, etc)
min_ansible_version: 2.1
# If this a Container Enabled role, provide the minimum Ansible Container version.
# min_ansible_container_version:
#
# Provide a list of supported platforms, and for each platform a list of versions.
# If you don't wish to enumerate all versions for a particular platform, use 'all'.
# To view available platforms and versions (or releases), visit:
# https://galaxy.ansible.com/api/v1/platforms/
#
# platforms:
# - name: Fedora
# versions:
# - all
# - 25
# - name: SomePlatform
# versions:
# - all
# - 1.0
# - 7
# - 99.99
galaxy_tags: []
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
# if you add dependencies to this list.

View File

@@ -0,0 +1,168 @@
---
# Install developer tools
- name: Ensure common developer tools installed
dnf:
name:
- vim-enhanced
- iperf3
- python3-pip
- glances
- htop
- dconf-editor
- dnf-plugins-core
- ufw
become: yes
# Enable ufw
- name: Enable UFW
community.general.ufw:
state: enabled
become: yes
# Install snap developer tools
- name: Ensure snap installed
dnf:
name: snapd
state: present
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: Ensure snapd service running
ansible.builtin.systemd:
name: snapd.socket
state: started
enabled: yes
become: yes
- name: Install snap packages
community.general.snap:
name:
- yq
state: present
become: yes
- name: Install classic snap packages
community.general.snap:
name:
- code
- kubectl
- helm
state: present
classic: yes
become: yes
# 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: Add Docker dnf repo
command: dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
become: yes
- name: Ensure Docker installed
dnf:
name:
- docker-ce
- docker-ce-cli
- containerd.io
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
become: yes
- name: Move vault binary to /usr/local/bin
ansible.builtin.copy:
remote_src: yes
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
become: yes
- name: Move terraform binary to /usr/local/bin
ansible.builtin.copy:
remote_src: yes
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
become: yes
- name: Move packer binary to /usr/local/bin
ansible.builtin.copy:
remote_src: yes
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
dnf:
name: wireguard-tools
state: present
become: yes
- name: Ensure /etc/wireguard directory
file:
path: /etc/wireguard
state: directory
become: yes