Browse Source

init-repo

pull/2/head
fedy95 5 years ago
parent
commit
14f1ff36bd
  1. 14
      .editorconfig
  2. 0
      .gitignore
  3. 12
      README.md
  4. 8
      ansible-desktop.yml
  5. 6
      ansible.cfg
  6. 6
      compile-default-vars.sh
  7. 6
      group_vars/all.yml
  8. 2
      hosts
  9. 23
      install.sh
  10. 26
      roles/common/tasks/main.yml
  11. 5
      roles/docker/defaults/main.yml
  12. 4
      roles/docker/handlers/main.yml
  13. 29
      roles/docker/tasks/main.yml
  14. 4
      roles/firefox/tasks/main.yml

14
.editorconfig

@ -0,0 +1,14 @@
# http://editorconfig.org
root = true
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
insert_final_newline = true
[*.yml]
indent_size = 2

0
.gitignore

12
README.md

@ -1,2 +1,12 @@
# ansible
### Ansible
## Requirements
- Git
## Installation
```shell script
sudo apt install git
git clone https://gitea.fedy95.com/experimental/ansible.git
cd ansible
./install.sh
```

8
ansible-desktop.yml

@ -0,0 +1,8 @@
---
- name: Base playbook
hosts: localhost
roles:
- { role: common, become: true }
- { role: docker, become: true }
- { role: firefox, become: true }

6
ansible.cfg

@ -0,0 +1,6 @@
[defaults]
hostfile = hosts
nocows = 1
[privilege_escalation]
become_method = sudo

6
compile-default-vars.sh

@ -0,0 +1,6 @@
#!/bin/bash
cat \
<(echo -e "---\n") \
<(cat roles/*/defaults/main.yml | grep -v '^---$' | grep -v '^[[:space:]]*$') \
> group_vars/_compiled_defaults.yml

6
group_vars/all.yml

@ -0,0 +1,6 @@
---
# http://docs.ansible.com/ansible/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable
aptcachetime: 3600
locale: "en_US.UTF-8"
timezone: "Europe/Moscow"

2
hosts

@ -0,0 +1,2 @@
[local]
localhost ansible_connection=local

23
install.sh

@ -0,0 +1,23 @@
#!/bin/bash
###################
# Install ansible #
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
#####################################
# Display real installation process #
echo ""
echo "Customize the playbook ansible-desktop.yml to suit your needs, then run ansible with :"
echo " ansible-playbook ansible-desktop.yml --ask-become-pass"
echo ""

26
roles/common/tasks/main.yml

@ -0,0 +1,26 @@
---
- name: Ensure the system can use the HTTPS transport for APT
stat: path=/usr/lib/apt/methods/https
register: apt_https_transport
- name: Install HTTPS transport for APT
apt: pkg=apt-transport-https state=installed
when: not apt_https_transport.stat.exists
- name: Enable all repositories in sources.list
replace: dest=/etc/apt/sources.list regexp='^#\s?deb(.+)http://(.+)/ubuntu(.+)$' replace='deb\1http://\2/ubuntu\3' backup=yes
- name: Ensure that Aptitude repositories are up to date
apt: update_cache=yes cache_valid_time={{ aptcachetime }}
- name: Install common packages
apt: pkg={{ item }} state=latest update_cache=yes cache_valid_time={{ aptcachetime }}
with_items:
- git
- make
- nano
- net-tools
- name: Upgrade installed packages
apt: upgrade=yes

5
roles/docker/defaults/main.yml

@ -0,0 +1,5 @@
---
docker:
start: false
service_enabled: no

4
roles/docker/handlers/main.yml

@ -0,0 +1,4 @@
---
- name: Restart Docker
service: name=docker state=restarted

29
roles/docker/tasks/main.yml

@ -0,0 +1,29 @@
---
- name: Installing apt-key
apt_key: id="F76221572C52609D" url=https://apt.dockerproject.org/gpg state=present
- name: Add deb repository
apt_repository: repo='deb https://apt.dockerproject.org/repo ubuntu-{{ ansible_distribution_release }} main' state=present
- name: Install
apt: pkg="{{ item }}" state=latest update_cache=yes
with_items:
- linux-image-extra-virtual
- docker-engine
- name: Create Docker group
group: name=docker state=present
- name: Add current user to Docker group
user: name="{{ ansible_env.USER }}" groups=docker append=yes
- name: "Ensure Docker is {{ docker.start | ternary('started','stopped') }}"
service: name=docker state={{ docker.start | ternary('restarted','stopped') }} enabled={{ docker.service_enabled }}
- name: Install docker-compose
get_url:
url: https://github.com/docker/compose/releases/download/1.27.4/docker-compose-Linux-x86_64
dest: /usr/local/bin/docker-compose
force: no
mode: 0755

4
roles/firefox/tasks/main.yml

@ -0,0 +1,4 @@
---
- name: Install Firefox
apt: pkg=firefox state=latest update_cache=yes cache_valid_time={{ aptcachetime }}