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 |
- 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_bin: "/usr/local/bin/docker-compose" |
||||
docker_compose_version: "1.27.4" |
|
||||
... |
... |
@ -1,4 +1,4 @@ |
|||||
--- |
--- |
||||
goland_bin: "/usr/local/bin/goland" |
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_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