resolv conflict
This commit is contained in:
commit
218e0f3afa
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
|||||||
*.retry
|
*.retry
|
||||||
|
.vaultpassword
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[submodule "library/ansible-aur"]
|
||||||
|
path = library/ansible-aur
|
||||||
|
url = https://github.com/pigmonkey/ansible-aur.git
|
50
README.md
50
README.md
@ -3,13 +3,16 @@
|
|||||||
## commande ansible
|
## commande ansible
|
||||||
|
|
||||||
***launch playbook on staging***
|
***launch playbook on staging***
|
||||||
`ansible-playbook -i staging site.yml --ask-become-pass`
|
`ansible-playbook -i staging site.yml --vault-password-file=.vaultpassword`
|
||||||
|
|
||||||
***init new role architecture***
|
***init new role architecture***
|
||||||
`ansible-galaxy user_config init `
|
`ansible-galaxy user_config init `
|
||||||
|
|
||||||
***launch ansible bootstrap***
|
***launch ansible bootstrap***
|
||||||
` ansible-playbook -i staging bootstrap.yml -u root --ask-pass`
|
` ansible-playbook -i nas, bootstrap.yml -u root --ask-pass`
|
||||||
|
|
||||||
|
***encrypt string***
|
||||||
|
`ansible-vault encrypt_string`
|
||||||
|
|
||||||
|
|
||||||
## Prerequis
|
## Prerequis
|
||||||
@ -35,11 +38,15 @@
|
|||||||
- create user
|
- create user
|
||||||
- copy clé RSA
|
- copy clé RSA
|
||||||
|
|
||||||
- [ ] autofs role
|
- [x] samba automount role
|
||||||
- géré les credential en fichier
|
- géré les credential en fichier
|
||||||
- initialisé les variable pour les diferent périphérique
|
- initialisé les variable pour les diferent périphérique
|
||||||
|
|
||||||
- [ ] VM server
|
- [x] davfs mount
|
||||||
|
|
||||||
|
- [x] VM server
|
||||||
|
|
||||||
|
- [x] syncthing role
|
||||||
|
|
||||||
### Workstation roles
|
### Workstation roles
|
||||||
|
|
||||||
@ -50,32 +57,35 @@
|
|||||||
- install ansible aur module
|
- install ansible aur module
|
||||||
- clone ansible repo
|
- clone ansible repo
|
||||||
|
|
||||||
- [ ] workstation role
|
- [x] workstation role
|
||||||
- install wm software
|
- -need to check for nvidia drver
|
||||||
- install worstation software (firefox keepass,pulseaudio,ncmpcc)
|
- [x] cups
|
||||||
|
- [x] bluetooth et tlp pour laptop
|
||||||
|
|
||||||
- [ ] grubtheme
|
- [x] grubtheme
|
||||||
|
|
||||||
- [ ] syncthing role
|
|
||||||
|
|
||||||
|
|
||||||
### Server Roles
|
### Server Roles
|
||||||
|
|
||||||
- [server role]
|
- terminfo
|
||||||
- cron
|
|
||||||
- ssmtp
|
|
||||||
- controle du reboot
|
|
||||||
|
|
||||||
- [ ] rsyncd role
|
- server role
|
||||||
|
- [x] cron
|
||||||
|
- [x] ssmtp
|
||||||
|
|
||||||
- [ ] backup role?
|
|
||||||
|
|
||||||
- [ ] ssmtp role
|
- [x] rsyncd role
|
||||||
|
|
||||||
|
- [x] failtoban role
|
||||||
|
|
||||||
- [ ] nginx/php role
|
- [ ] nginx/php role
|
||||||
- install
|
- install
|
||||||
- config
|
- config
|
||||||
|
|
||||||
|
- [ ] dns role
|
||||||
|
-slave/primary
|
||||||
|
|
||||||
|
|
||||||
- [ ] mariadb role
|
- [ ] mariadb role
|
||||||
- install
|
- install
|
||||||
- config
|
- config
|
||||||
@ -83,6 +93,7 @@
|
|||||||
|
|
||||||
- [ ] tt-rss role
|
- [ ] tt-rss role
|
||||||
- depend nginx & madiadb role
|
- depend nginx & madiadb role
|
||||||
|
- fail2ban jail
|
||||||
|
|
||||||
- [ ] gitea role
|
- [ ] gitea role
|
||||||
- depend of mariadb role
|
- depend of mariadb role
|
||||||
@ -90,6 +101,11 @@
|
|||||||
- [ ] dns role
|
- [ ] dns role
|
||||||
-slave/primary
|
-slave/primary
|
||||||
|
|
||||||
|
- [ ] backup role?
|
||||||
|
- controle du reboot
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### global improvment
|
#### global improvment
|
||||||
|
|
||||||
- voir pour compatibiliser debian
|
- voir pour compatibiliser debian
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
- hosts: nas
|
- hosts: all
|
||||||
gather_facts: no
|
gather_facts: no
|
||||||
roles:
|
roles:
|
||||||
- ansible_bootstrap
|
- ansible_bootstrap
|
||||||
|
6
global.yml
Normal file
6
global.yml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
- hosts: all
|
||||||
|
roles:
|
||||||
|
- system
|
||||||
|
- autofs
|
||||||
|
- syncthing
|
@ -1,2 +0,0 @@
|
|||||||
##ansible_python_interpreter: /usr/bin/python2
|
|
||||||
username: 'vincent'
|
|
8
group_vars/all/all
Normal file
8
group_vars/all/all
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
##ansible_python_interpreter: /usr/bin/python2
|
||||||
|
user:
|
||||||
|
name: vincent
|
||||||
|
uid: 1024
|
||||||
|
mail: vincent@ducamps.win
|
||||||
|
|
||||||
|
domain:
|
||||||
|
name: ducamps.win
|
10
group_vars/all/all_vault
Normal file
10
group_vars/all/all_vault
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
36336139353839303537376234623535363838613761633137633166636261353862643935393563
|
||||||
|
6363356531376261333364306238343961343435336637380a623134636661326262623635326266
|
||||||
|
62623433343939353866373365343966656533376230323835313131326130326265316364336537
|
||||||
|
6332306265643336630a326530656536373662613636353735666164326461333232363534316564
|
||||||
|
36643333636464663734666364366436366235326136313134393965626636643034396662383261
|
||||||
|
34363236653530326635303239643166313966363062333534616332383736626430346633396438
|
||||||
|
61353964643930353731316664393534356366373563326337303964323366333733386134646337
|
||||||
|
31303736383735366662323637336635656161376337313563386438376136653365656433663336
|
||||||
|
3530
|
@ -0,0 +1,88 @@
|
|||||||
|
systemd_mounts:
|
||||||
|
diskstation_git:
|
||||||
|
share: 192.168.1.10:/volume1/git
|
||||||
|
mount: /mnt/diskstation/git
|
||||||
|
type: nfs
|
||||||
|
options:
|
||||||
|
- " "
|
||||||
|
automount: true
|
||||||
|
backup_disk:
|
||||||
|
share: /dev/sda1
|
||||||
|
mount: /mnt/backup
|
||||||
|
type: ntfs-3g
|
||||||
|
options:
|
||||||
|
- uid=1024
|
||||||
|
- guid=100
|
||||||
|
automount: true
|
||||||
|
|
||||||
|
systemd_mounts_enabled:
|
||||||
|
- diskstation_git
|
||||||
|
- backup_disk
|
||||||
|
|
||||||
|
syncthing_address: "{{inventory_hostname}}:8384"
|
||||||
|
syncthing_gui_user: "{{user.name}}"
|
||||||
|
syncthing_gui_password: $2a$10$nJZ8YN/1mB84Cbi79BKka.6SFMAKF.CBwyCNJDA9qUgXdkcuBilx2
|
||||||
|
|
||||||
|
notification_mail: "{{ user.mail }}"
|
||||||
|
ssmtp_mailhub: smtp.{{ domain.name }}:587
|
||||||
|
ssmtp_hostname: "{{ domain.name }}"
|
||||||
|
ssmtp_auth_user: "{{ user.mail }}"
|
||||||
|
ssmtp_auth_pass: "{{ vault_default_password }}"
|
||||||
|
|
||||||
|
rsynclocations:
|
||||||
|
- name: backup nas
|
||||||
|
location: /mnt/backup
|
||||||
|
readonly: "no"
|
||||||
|
|
||||||
|
rsynchostalloawed: 192.168.1.10
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
fail2ban_destmail: "{{ user.mail }}"
|
||||||
|
fail2ban_sendmail: "{{ user.mail }}"
|
||||||
|
|
||||||
|
Gandi_API_KEYS: "{{ vault_gandi_API_Keys }}"
|
||||||
|
Gandi_Domain: "{{ domain.name }}"
|
||||||
|
Gandi_Record: www
|
||||||
|
|
||||||
|
|
||||||
|
nginx_vhosts:
|
||||||
|
- listen: "80"
|
||||||
|
server_name: "localhost"
|
||||||
|
root: "/usr/share/nginx/html/"
|
||||||
|
error_page: "404 /404/404.html"
|
||||||
|
filename: "default.conf"
|
||||||
|
state: "present"
|
||||||
|
template: "{{ nginx_vhost_template }}"
|
||||||
|
extra_parameters: |
|
||||||
|
error_page 500 502 503 504 /50x.html;
|
||||||
|
location = /50x.html {
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
}
|
||||||
|
|
||||||
|
location =/ {
|
||||||
|
rewrite ^ /starter;
|
||||||
|
}
|
||||||
|
location / {
|
||||||
|
index index.php index.html index.htm ;
|
||||||
|
default_type text/html;
|
||||||
|
|
||||||
|
}
|
||||||
|
location ~ \.php$ {
|
||||||
|
# try_files $uri =404;
|
||||||
|
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||||
|
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
|
fastcgi_read_timeout 800;
|
||||||
|
fastcgi_index index.php;
|
||||||
|
include fastcgi_params;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
nginx_realIP_Proxy: 192.168.1.10/24
|
||||||
|
|
||||||
|
php_extention_enable:
|
||||||
|
- iconv
|
||||||
|
- mysqli
|
||||||
|
- pdo_mysql
|
||||||
|
- soap
|
@ -4,73 +4,72 @@ systemd_mounts:
|
|||||||
mount: /mnt/diskstation/media
|
mount: /mnt/diskstation/media
|
||||||
type: cifs
|
type: cifs
|
||||||
options:
|
options:
|
||||||
- rw
|
|
||||||
- credentials=/etc/creds/.diskstation_credentials
|
- credentials=/etc/creds/.diskstation_credentials
|
||||||
- uid=1000
|
- uid=1024
|
||||||
|
- gid=100
|
||||||
automount: true
|
automount: true
|
||||||
diskstation_music:
|
diskstation_music:
|
||||||
share: //diskstation/music
|
share: //diskstation/music
|
||||||
mount: /mnt/diskstation/music
|
mount: /mnt/diskstation/music
|
||||||
type: cifs
|
type: cifs
|
||||||
options:
|
options:
|
||||||
- rw
|
|
||||||
- credentials=/etc/creds/.diskstation_credentials
|
- credentials=/etc/creds/.diskstation_credentials
|
||||||
- uid=1000
|
- uid=1024
|
||||||
|
- gid=100
|
||||||
automount: true
|
automount: true
|
||||||
|
diskstation_home:
|
||||||
diskstation_ebook:
|
share: //diskstation/homes/admin
|
||||||
share: //diskstation/ebook
|
mount: /mnt/diskstation/home
|
||||||
mount: /mnt/diskstation/ebook
|
|
||||||
type: cifs
|
type: cifs
|
||||||
options:
|
options:
|
||||||
- rw
|
|
||||||
- credentials=/etc/creds/.diskstation_credentials
|
- credentials=/etc/creds/.diskstation_credentials
|
||||||
- uid=1000
|
- uid=1024
|
||||||
|
- gid=100
|
||||||
automount: true
|
automount: true
|
||||||
diskstation_photo:
|
diskstation_photo:
|
||||||
share: //diskstation/photo
|
share: //diskstation/photo
|
||||||
mount: /mnt/diskstation/photo
|
mount: /mnt/diskstation/photo
|
||||||
type: cifs
|
type: cifs
|
||||||
options:
|
options:
|
||||||
-rw
|
|
||||||
- credentials=/etc/creds/.diskstation_credentials
|
- credentials=/etc/creds/.diskstation_credentials
|
||||||
- uid=1000
|
- uid=1024
|
||||||
|
- gid=100
|
||||||
automount: true
|
automount: true
|
||||||
diskstation_home:
|
diskstation_ebook:
|
||||||
share: //diskstation/home
|
share: //diskstation/ebook
|
||||||
mount: /mnt/diskstation/home
|
mount: /mnt/diskstation/ebook
|
||||||
type: cifs
|
type: cifs
|
||||||
options:
|
options:
|
||||||
- rw
|
|
||||||
- credentials=/etc/creds/.diskstation_credentials
|
- credentials=/etc/creds/.diskstation_credentials
|
||||||
- uid=1000
|
- uid=1024
|
||||||
|
- gid=100
|
||||||
automount: true
|
automount: true
|
||||||
diskstation_keepass:
|
davfs_share:
|
||||||
share: https://diskstation.ducamps.win\:5006/home/keepass
|
share: https://diskstation.ducamps.win:5006/home/keepass
|
||||||
mount: /mnt/diskstation/keepass
|
mount: /mnt/diskstation/keepass
|
||||||
type: davfs
|
type: davfs
|
||||||
options:
|
options:
|
||||||
- rw
|
- uid=1024
|
||||||
- uid=1000
|
automount: true
|
||||||
automount: true
|
|
||||||
|
|
||||||
share_credential_file:
|
|
||||||
samba_dikstation:
|
|
||||||
path: /etc/creds/.diskstation_credentials
|
|
||||||
content:
|
|
||||||
- username=admin
|
|
||||||
- password=XiEhusW6
|
|
||||||
- domain=WORKGROUP
|
|
||||||
davfs:
|
|
||||||
path: /etc/creds/.diskstation_credentials
|
|
||||||
content:
|
|
||||||
- https://diskstation.ducamps.win:5006/home/keepass admin XiEhusW6
|
|
||||||
|
|
||||||
|
|
||||||
systemd_mounts_enabled:
|
systemd_mounts_enabled:
|
||||||
- diskstation_media
|
- diskstation_media
|
||||||
- diskstation_music
|
- diskstation_music
|
||||||
- diskstation_ebook
|
- diskstation_ebook
|
||||||
|
- davfs_share
|
||||||
- diskstation_photo
|
- diskstation_photo
|
||||||
- diskstation_home
|
- diskstation_home
|
||||||
- diskstation_keepass
|
|
||||||
|
credentials_files:
|
||||||
|
1:
|
||||||
|
type: smb
|
||||||
|
path: /etc/creds/.diskstation_credentials
|
||||||
|
username: admin
|
||||||
|
password: "{{ vault_default_password }}"
|
||||||
|
2:
|
||||||
|
type: davfs
|
||||||
|
path: /etc/davfs2/secrets
|
||||||
|
adress: https://diskstation.ducamps.win:5006/home/keepass
|
||||||
|
username: admin
|
||||||
|
password: "{{ vault_default_password }}"
|
||||||
|
@ -1,2 +1,6 @@
|
|||||||
##ansible_python_interpreter: /usr/bin/python2
|
##ansible_python_interpreter: /usr/bin/python2
|
||||||
music_directory: '/mnt/diskstation/music'
|
music_directory: '/mnt/diskstation/music'
|
||||||
|
|
||||||
|
gpu:
|
||||||
|
nvidia: true
|
||||||
|
bumblebee: false
|
@ -1,6 +0,0 @@
|
|||||||
$ANSIBLE_VAULT;1.1;AES256
|
|
||||||
61393533323364663463346439613732316134373930616464613930383831653263633831303261
|
|
||||||
6162336166663662373062653038643136376137303336390a616231396334333137313065323635
|
|
||||||
31616164393831373838376532616532316136306639383832666234666565336330313336313163
|
|
||||||
3836626539323630620a343036373533306635373032626466333132326635633937343562323461
|
|
||||||
37343534386430313439356432366134353666633865383838373234373437653965
|
|
3
host_vars/zen-pc
Normal file
3
host_vars/zen-pc
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
gpu:
|
||||||
|
nvidia: true
|
||||||
|
bumblebee: true
|
1
library/ansible-aur
Submodule
1
library/ansible-aur
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 9761bfd931b2f8abb830ad48a8fefd87c12e723f
|
@ -5,3 +5,5 @@ pi2
|
|||||||
fixe-pc
|
fixe-pc
|
||||||
zen-pc
|
zen-pc
|
||||||
|
|
||||||
|
[laptop]
|
||||||
|
zen-pc
|
@ -0,0 +1,5 @@
|
|||||||
|
notification_mail: vincent@ducamps.win
|
||||||
|
ssmtp_mailhub: smtp.ducamps.win:587
|
||||||
|
ssmtp_hostname: ducamps.win
|
||||||
|
ssmtp_auth_user: vincent@ducamps.win
|
||||||
|
ssmtp_auth_pass: the_mandrill_api_key
|
@ -0,0 +1,35 @@
|
|||||||
|
|
||||||
|
- name: Install SSMTP
|
||||||
|
aur: name=ssmtp skip_installed=yes
|
||||||
|
become_user: aur_builder
|
||||||
|
|
||||||
|
|
||||||
|
- name: Set up ssmtp.conf
|
||||||
|
template:
|
||||||
|
src: ssmtp_conf.j2
|
||||||
|
dest: /etc/ssmtp/ssmtp.conf
|
||||||
|
owner: root
|
||||||
|
group: mail
|
||||||
|
mode: 0640
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Set up revaliases
|
||||||
|
template:
|
||||||
|
src: revaliases.j2
|
||||||
|
dest: /etc/ssmtp/revaliases
|
||||||
|
owner: root
|
||||||
|
group: mail
|
||||||
|
mode: 0640
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: set right on /usr/sbin/ssmtp
|
||||||
|
file:
|
||||||
|
path: /usr/sbin/ssmtp # required. Path to the file being managed.
|
||||||
|
group: mail # not required. Name of the group that should own the file/directory, as would be fed to I(chown).
|
||||||
|
mode: 2711 # not required. Mode the file or directory should be. For those used to I(/usr/bin/chmod) remember that modes are actually octal numbers. You must either add a leading zero so that Ansible's YAML parser knows it is an octal number (like C(0644) or C(01777)) or quote it (like C('644') or C('1777')) so Ansible receives a string and can do its own conversion from string into number. Giving Ansible a number without following one of these rules will end up with a decimal number which will have unexpected results. As of version 1.8, the mode may be specified as a symbolic mode (for example, C(u+rwx) or C(u=rw,g=r,o=r)).
|
||||||
|
owner: root # not required. Name of the user that should own the file/directory, as would be fed to I(chown).
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
#sudo chown root:mail /usr/sbin/ssmtp /etc/ssmtp{,/{ssmtp.conf,revaliases}}
|
||||||
|
#sudo chmod 2711 /usr/sbin/ssmtp
|
||||||
|
#sudo chmod o-rwx /etc/ssmtp /etc/ssmtp/ssmtp.conf;
|
3
roles/ssmtp/templates/revaliases.j2
Normal file
3
roles/ssmtp/templates/revaliases.j2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
|
||||||
|
root:{{ notification_mail }}:{{ ssmtp_mailhub }}
|
||||||
|
{{ user.name }}:{{ notification_mail }}:{{ ssmtp_mailhub }}
|
12
roles/ssmtp/templates/ssmtp_conf.j2
Normal file
12
roles/ssmtp/templates/ssmtp_conf.j2
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
# ---- basic config
|
||||||
|
root={{notification_mail}}
|
||||||
|
AuthMethod=LOGIN
|
||||||
|
UseSTARTTLS=Yes
|
||||||
|
UseTLS=NO
|
||||||
|
hostname={{ssmtp_hostname}}
|
||||||
|
FromLineOverride=Yes
|
||||||
|
|
||||||
|
AuthUser={{ ssmtp_auth_user }}
|
||||||
|
mailhub={{ ssmtp_mailhub }}
|
||||||
|
AuthPass={{ ssmtp_auth_pass }}
|
19
server.yml
19
server.yml
@ -1,10 +1,23 @@
|
|||||||
---
|
---
|
||||||
- hosts: server
|
- hosts: server
|
||||||
|
tasks:
|
||||||
|
- name: install terminfo
|
||||||
|
pacman:
|
||||||
|
state: present # not required. choices: absent;latest;present. Desired state of the package.
|
||||||
|
name:
|
||||||
|
- termite-terminfo # not required. Name or list of names of the packages to install, upgrade, or remove.
|
||||||
|
become: yes
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
- system
|
|
||||||
- autofs
|
|
||||||
- dns
|
|
||||||
- ssmtp
|
- ssmtp
|
||||||
|
- cronie
|
||||||
|
- rsyncd
|
||||||
|
- gandi-dyn-dns
|
||||||
|
- fail2ban
|
||||||
|
- dns
|
||||||
|
- {role: nginx, become: yes }
|
||||||
|
- php
|
||||||
- tt-rss
|
- tt-rss
|
||||||
- gitea
|
- gitea
|
||||||
- user_config
|
- user_config
|
||||||
|
|
||||||
|
1
site.yml
1
site.yml
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
|
- import_playbook: global.yml
|
||||||
- import_playbook: server.yml
|
- import_playbook: server.yml
|
||||||
- import_playbook: workstation.yml
|
- import_playbook: workstation.yml
|
9
staging
9
staging
@ -1,5 +1,12 @@
|
|||||||
---
|
---
|
||||||
[workstation]
|
[workstation]
|
||||||
nas
|
arch2
|
||||||
debian
|
debian
|
||||||
|
|
||||||
|
[laptop]
|
||||||
|
arch2
|
||||||
|
|
||||||
|
[server]
|
||||||
|
nas
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,10 +1,17 @@
|
|||||||
---
|
---
|
||||||
- hosts: workstation
|
- hosts: workstation
|
||||||
roles:
|
roles:
|
||||||
- system
|
|
||||||
- user_config
|
- user_config
|
||||||
- ansible-manager
|
- ansible-manager
|
||||||
- autofs
|
|
||||||
- mpd
|
- mpd
|
||||||
|
- virt
|
||||||
|
- workstation
|
||||||
|
- cups
|
||||||
|
- grub_themes
|
||||||
|
- nvidia
|
||||||
|
- hosts: laptop
|
||||||
|
roles:
|
||||||
|
- laptop
|
||||||
|
- bluetooth
|
||||||
|
|
||||||
# - Windows_manager
|
# - Windows_manager
|
||||||
|
Loading…
Reference in New Issue
Block a user