3 Commits

Author SHA1 Message Date
719dd8618b rajout gestion fichier 2021-06-10 13:59:38 +02:00
a1e2666e83 solution tp dependances 2021-04-20 14:04:37 +02:00
7720a58487 solution 2021-04-20 11:08:36 +02:00
15 changed files with 161 additions and 54 deletions

View File

@@ -1,29 +0,0 @@
## Rôles
**Tâche**: Écrire un rôle
**Condition**: pour améliorer l'organisation et la maintenance de nos playbooks
**Norme**: ansible-galaxy, vim
## Pratique:
Convertir en un rôle nommé "setup" le 1er playbook mis au point lors de l'atelier "adhoc to playbook".
Pour rappel, les commandes AdHoc correspondantes:
```
ansible localhost -m openssh_keypair -a "path=/home/formation/.ssh/id_rsa owner=formation group=formation" -u formation
ansible cibles -u formation -k -m user -a "user=ansible password={{ '123Soleil2020%'| password_hash( 'sha512', 65534 | random( seed=inventory_hostname ) | string ) }} create_home=yes home=/home/ansible"
ansible cibles -u formation -k -m lineinfile -a "path=/etc/sudoers.d/ansible state=present create=yes line='ansible ALL=(ALL) NOPASSWD: ALL' validate='/usr/sbin/visudo -cf %s'"
ansible cibles -u formation -k -m copy -a "dest=/etc/sudoers.d/ansible content='ansible ALL=(ALL) NOPASSWD: ALL' validate='/usr/sbin/visudo -cf %s'"
ansible cibles -u formation -k -m authorized_key -a "key={{ lookup( 'file', '~/.ssh/id_rsa.pub') }} user=ansible"
```
## Performance
Le playbook s'exécute correctement, le rôle est joué sur les machines cibles

View File

@@ -1,23 +0,0 @@
## Dépendances entre rôles
**Tâche**: Écrire un rôle dépendant d'un autre
**Condition**: pour améliorer l'organisation et la maintenance de nos playbooks
**Norme**: ansible-galaxy, vim, meta
### Préparation
Créez un rôle "vim" qui s'assure:
- de la présence du paquet vim-enhanced
- de l'absence du paquet nano
- de la présence du fichier https://cours.opendoor.fr/Fichiers/vimrc dans /etc/vimrc
### Pratique
Faire en sorte que ce rôle "vim" dépende du rôle "setup" précédemment mis en place, c'est à dire que utiliser le rôle "vim" entraîne automatiquement l'utilisation du rôle "setup"
### Validation
Les 2 rôles sont exécutés

3
setup/files/sudo Normal file
View File

@@ -0,0 +1,3 @@
#Configuration sudo
# en nopassword pour ansible
ansible ALL=(ALL) NOPASSWD: ALL

View File

@@ -37,7 +37,7 @@
- name: configure sudo - name: configure sudo
tags: sudo tags: sudo
copy: copy:
content: "ansible ALL=(ALL) NOPASSWD: ALL" src: sudo
dest: /etc/sudoers.d/ansible dest: /etc/sudoers.d/ansible
validate: "/usr/sbin/visudo -cf %s" validate: "/usr/sbin/visudo -cf %s"

View File

@@ -1,5 +1,5 @@
--- ---
- name: setup target to be managed by ansible using setup role - name: setup target to be managed by ansible using setup role
hosts: centos hosts: cibles
roles: roles:
- setup - setup

4
vim.yml Normal file
View File

@@ -0,0 +1,4 @@
---
- hosts: all
roles:
- vim

29
vim/.travis.yml Normal file
View File

@@ -0,0 +1,29 @@
---
language: python
python: "2.7"
# Use the new container infrastructure
sudo: false
# Install ansible
addons:
apt:
packages:
- python-pip
install:
# Install ansible
- pip install ansible
# Check ansible version
- ansible --version
# Create ansible.cfg with correct roles_path
- printf '[defaults]\nroles_path=../' >ansible.cfg
script:
# Basic role syntax check
- ansible-playbook tests/test.yml -i tests/inventory --syntax-check
notifications:
webhooks: https://galaxy.ansible.com/api/v1/notifications/

38
vim/README.md Normal file
View File

@@ -0,0 +1,38 @@
Role Name
=========
Install vim
Ensure setup role is also applied, using role dependencies
Requirements
------------
None
Role Variables
--------------
None
Dependencies
------------
none
Example Playbook
----------------
- hosts: servers
roles:
- vim
License
-------
BSD
Author Information
------------------
Thomas C <thomas@opendoor.fr>

2
vim/defaults/main.yml Normal file
View File

@@ -0,0 +1,2 @@
---
# defaults file for vim

2
vim/handlers/main.yml Normal file
View File

@@ -0,0 +1,2 @@
---
# handlers file for vim

54
vim/meta/main.yml Normal file
View File

@@ -0,0 +1,54 @@
galaxy_info:
author: Thomas C
description: install vim
company: OpenDoor
# 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.9
# 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:
- role: setup
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
# if you add dependencies to this list.

18
vim/tasks/main.yml Normal file
View File

@@ -0,0 +1,18 @@
---
# tasks file for vim
- name: install vim
yum:
name: vim-enhanced
state: present
- name: remove nano
yum:
name: nano
state: absent
- name: config vim
get_url:
url: https://cours.opendoor.fr/Fichiers/vimrc
dest: /etc/vimrc
mode: 0644

2
vim/tests/inventory Normal file
View File

@@ -0,0 +1,2 @@
localhost

5
vim/tests/test.yml Normal file
View File

@@ -0,0 +1,5 @@
---
- hosts: localhost
remote_user: root
roles:
- vim

2
vim/vars/main.yml Normal file
View File

@@ -0,0 +1,2 @@
---
# vars file for vim