16 changed files with 91 additions and 151 deletions
-
4.drone.yml
-
6Makefile
-
2ansible-desktop.yml
-
6compile-default-vars.sh
-
1group_vars/all.yml
-
19install.sh
-
2roles/docker/handlers/main.yml
-
24roles/docker/tasks/docker-compose.yml
-
52roles/docker/tasks/docker.yml
-
76roles/docker/tasks/main.yml
-
2roles/docker/vars/main.yml
-
2roles/ide_goland/vars/main.yml
-
2roles/ide_phpstorm/vars/main.yml
-
11roles/krdc/tasks/main.yml
-
29roles/materia-kde/tasks/main.yml
-
4run.sh
@ -1,6 +0,0 @@ |
|||
#!/bin/bash |
|||
|
|||
cat \ |
|||
<(echo -e "---\n") \ |
|||
<(cat roles/*/defaults/main.yml | grep -v '^---$' | grep -v '^[[:space:]]*$') \ |
|||
> group_vars/_compiled_defaults.yml |
@ -1,19 +0,0 @@ |
|||
#!/bin/bash |
|||
|
|||
if ! grep -q "ansible/ansible" /etc/apt/sources.list /etc/apt/sources.list.d/*; then |
|||
echo "Adding Ansible PPA" |
|||
sudo apt-add-repository ppa:ansible/ansible -y |
|||
fi |
|||
|
|||
if ! hash ansible >/dev/null 2>&1; then |
|||
echo "Installing Ansible..." |
|||
sudo apt-get update |
|||
sudo apt-get install software-properties-common ansible git python-apt -y |
|||
else |
|||
echo "Ansible already installed" |
|||
fi |
|||
|
|||
echo "" |
|||
echo "Run ansible with:" |
|||
echo " make" |
|||
echo "" |
@ -1,4 +1,4 @@ |
|||
--- |
|||
- name: Restart Docker |
|||
service: name=docker state=restarted |
|||
service: "name=docker state={{ docker_restart_handler_state }}" |
|||
... |
@ -0,0 +1,24 @@ |
|||
--- |
|||
- name: Check current docker-compose version |
|||
command: "{{ docker_compose_bin }} --version" |
|||
register: docker_compose_current_version |
|||
changed_when: false |
|||
failed_when: false |
|||
|
|||
- name: Renew existing docker-compose version if it's different |
|||
file: |
|||
path: "{{ docker_compose_bin }}" |
|||
state: absent |
|||
when: > |
|||
docker_compose_current_version.stdout is defined |
|||
and docker_compose_version not in docker_compose_current_version.stdout |
|||
|
|||
- name: Install Docker Compose |
|||
get_url: |
|||
url: https://github.com/docker/compose/releases/download/{{ docker_compose_version }}/docker-compose-Linux-x86_64 |
|||
dest: "{{ docker_compose_bin }}" |
|||
mode: 0755 |
|||
when: > |
|||
docker_compose_current_version.stdout is not defined |
|||
or docker_compose_version not in docker_compose_current_version.stdout |
|||
... |
@ -0,0 +1,52 @@ |
|||
--- |
|||
- name: Update apt cache |
|||
apt: |
|||
update_cache: yes |
|||
cache_valid_time: "{{ aptcachetime }}" |
|||
|
|||
- name: Upgrade all apt packages |
|||
apt: upgrade=dist |
|||
|
|||
- name: Install docker packages |
|||
apt: |
|||
name: "{{ item }}" |
|||
state: present |
|||
update_cache: yes |
|||
loop: |
|||
- 'apt-transport-https' |
|||
- 'ca-certificates' |
|||
- 'curl' |
|||
- 'gnupg' |
|||
- 'lsb-release' |
|||
|
|||
- name: Add Docker GPG key |
|||
apt_key: |
|||
url: https://download.docker.com/linux/ubuntu/gpg |
|||
state: present |
|||
|
|||
- name: Add deb repository |
|||
apt_repository: |
|||
repo: deb https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable |
|||
state: present |
|||
update_cache: yes |
|||
|
|||
- name: Install docker |
|||
apt: |
|||
name: "{{ item }}" |
|||
state: present |
|||
update_cache: yes |
|||
loop: |
|||
- 'docker-ce' |
|||
- 'docker-ce-cli' |
|||
- 'containerd.io' |
|||
|
|||
- name: Ensure docker users are added to the docker group. |
|||
user: |
|||
name: "{{ item }}" |
|||
groups: docker |
|||
append: true |
|||
with_items: "{{ ansible_env.USER }}" |
|||
|
|||
- name: "Ensure Docker is {{ docker.start | ternary('started','stopped') }}" |
|||
service: name=docker state={{ docker.start | ternary('restarted','stopped') }} enabled={{ docker.service_enabled }} |
|||
... |
@ -1,76 +1,4 @@ |
|||
--- |
|||
- name: Test if folder exist |
|||
stat: |
|||
path: "{{ docker_compose_bin }}" |
|||
register: docker_compose_bin_exist |
|||
|
|||
- name: Update apt cache |
|||
apt: |
|||
update_cache: yes |
|||
cache_valid_time: "{{ aptcachetime }}" |
|||
|
|||
- name: Upgrade all apt packages |
|||
apt: upgrade=dist |
|||
when: docker_compose_bin_exist.stat.exists == False |
|||
|
|||
- name: Install docker packages |
|||
apt: |
|||
name: "{{ item }}" |
|||
state: present |
|||
update_cache: yes |
|||
cache_valid_time: "{{ aptcachetime }}" |
|||
loop: [ 'apt-transport-https', 'ca-certificates', 'curl', 'gnupg-agent', 'software-properties-common' ] |
|||
when: docker_compose_bin_exist.stat.exists == False |
|||
|
|||
- name: Add Docker GPG key |
|||
apt_key: |
|||
url: https://download.docker.com/linux/ubuntu/gpg |
|||
state: present |
|||
when: docker_compose_bin_exist.stat.exists == False |
|||
|
|||
- name: Verify that we have the key with the fingerprint |
|||
apt_key: |
|||
id: 0EBFCD88 |
|||
state: present |
|||
when: docker_compose_bin_exist.stat.exists == False |
|||
|
|||
#- name: Add deb repository |
|||
# apt_repository: |
|||
# repo: deb [arch=amd64] https://download.docker.com/linux/ubuntu groovy stable |
|||
# update_cache: yes |
|||
# state: present |
|||
# when: docker_compose_bin_exist.stat.exists == False |
|||
|
|||
- name: Install docker |
|||
apt: |
|||
name: "{{ item }}" |
|||
state: present |
|||
update_cache: yes |
|||
cache_valid_time: "{{ aptcachetime }}" |
|||
loop: [ 'docker-ce', 'docker-ce-cli', 'containerd.io' ] |
|||
when: docker_compose_bin_exist.stat.exists == False |
|||
|
|||
- name: Create Docker group |
|||
group: name=docker state=present |
|||
when: docker_compose_bin_exist.stat.exists == False |
|||
|
|||
- name: Add current user to Docker group |
|||
user: name="{{ ansible_env.USER }}" groups=docker append=yes |
|||
when: docker_compose_bin_exist.stat.exists == False |
|||
|
|||
- name: "Ensure Docker is {{ docker.start | ternary('started','stopped') }}" |
|||
service: name=docker state={{ docker.start | ternary('restarted','stopped') }} enabled={{ docker.service_enabled }} |
|||
when: docker_compose_bin_exist.stat.exists == False |
|||
|
|||
- name: Install docker-compose |
|||
get_url: |
|||
url: https://github.com/docker/compose/releases/download/{{ docker_compose_version }}/docker-compose-Linux-x86_64 |
|||
dest: /usr/local/bin/docker-compose |
|||
force: no |
|||
mode: 0755 |
|||
when: docker_compose_bin_exist.stat.exists == False |
|||
|
|||
- name: Upgrade installed packages |
|||
apt: upgrade=yes |
|||
when: docker_compose_bin_exist.stat.exists == False |
|||
- include_tasks: docker.yml |
|||
- include_tasks: docker-compose.yml |
|||
... |
@ -1,4 +1,4 @@ |
|||
--- |
|||
docker_compose_version: "1.29.1" |
|||
docker_compose_bin: "/usr/local/bin/docker-compose" |
|||
docker_compose_version: "1.27.4" |
|||
... |
@ -1,4 +1,4 @@ |
|||
--- |
|||
goland_bin: "/usr/local/bin/goland" |
|||
goland_version: "2020.3.3" |
|||
goland_version: "2021.1" |
|||
... |
@ -1,4 +1,4 @@ |
|||
--- |
|||
phpstorm_bin: "/usr/local/bin/phpstorm" |
|||
phpstorm_version: "2020.3.2" |
|||
phpstorm_version: "2021.1.1" |
|||
... |
@ -1,11 +0,0 @@ |
|||
--- |
|||
- name: Install KRDC |
|||
apt: |
|||
pkg: krdc |
|||
state: latest |
|||
update_cache: yes |
|||
cache_valid_time: "{{ aptcachetime }}" |
|||
|
|||
- name: Upgrade installed packages |
|||
apt: upgrade=yes |
|||
... |
@ -1,29 +0,0 @@ |
|||
--- |
|||
- name: Update apt cache |
|||
apt: |
|||
update_cache: yes |
|||
cache_valid_time: "{{ aptcachetime }}" |
|||
|
|||
- name: Upgrade all apt packages |
|||
apt: upgrade=dist |
|||
|
|||
- name: Add deb repository |
|||
apt_repository: |
|||
repo: ppa:papirus/papirus |
|||
state: present |
|||
update_cache: no |
|||
|
|||
- name: Install Materia-KDE |
|||
apt: |
|||
name: "{{ item }}" |
|||
install_recommends: yes |
|||
state: latest |
|||
update_cache: yes |
|||
cache_valid_time: "{{ aptcachetime }}" |
|||
loop: [ 'materia-kde', 'papirus-icon-theme' ] |
|||
|
|||
- name: Apply global theme |
|||
command: "lookandfeeltool -a com.github.varlesh.materia-dark" |
|||
become: true |
|||
become_user: "{{ ansible_env.USER }}" |
|||
... |
@ -0,0 +1,4 @@ |
|||
#!/bin/sh |
|||
|
|||
sudo apt install ansible |
|||
ansible-playbook ansible-desktop.yml --ask-become-pass |
Reference in new issue