Add base files

This commit is contained in:
Jeremy Gardais 2021-10-21 10:26:36 +02:00
parent 828b143609
commit 0b70e40706
Signed by: jegardai
GPG Key ID: E759BAA22501AF32
27 changed files with 10509 additions and 0 deletions

View File

@ -0,0 +1,39 @@
## Installation de DebOps
La [documentation de DebOps indique différentes méthodes d'installation][debops doc installation],
ici je vais l'installer avec un environnement virtuel de Python.
1. Installation des dépendances :
sudo aptitude install build-essential python3-virtualenv virtualenv python3-dev libffi-dev libssl-dev libsasl2-dev libldap2-dev python3-pip
1. Création d'un répertoire dédié à l'environnement virtuel :
mkdir -p -- ~/src
virtualenv ~/src/debops-venv
cd ~/src/debops-venv
source bin/activate
1. Mise à jour de quelques paquets Python puis installation de Ansible
et DebOps avec les dernières versions de quelques paquets Python :
python3 -m pip install --upgrade pip setuptools wheel
python3 -m pip install ansible debops dnspython future netaddr passlib pyopenssl python-ldap
1. Désactiver ensuite l'environnement virtuel :
deactivate
* Il y a ensuite plusieurs façons d'utiliser DebOps :
* En activant l'environnement virtuel Python (qui sera utilisée
dans la suite de ce tuto) :
`source ~/src/debops-venv/bin/activate`
* En plaçant le répertoire **~/src/debops-venv/bin** dans son
**$PATH** (via ~/.zshrc, ~/.bashrc,…).
* En créant des liens symboliques depuis un répertoire présent dans le
$PATH (ex. ~/bin) qui pointent vers les binaires qui nous intéressent
(debops, ansible, ansible-vault,…).
* …
<!--Liste des URLs utilisées dans le doc :-->
[debops doc installation]: https://docs.debops.org/en/master/introduction/install.html

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,30 @@
## Initialisation d'un nouveau projet avec DebOps
1. Activer l'environnement virtuel de DebOps :
source ~/src/debops-venv/bin/activate
1. Créer un nouveau répertoire et y initier un nouveau projet DebOps :
mkdir ~/src/cargoday.debops
cd ~/src/cargoday.debops
debops-init .
1. Ce répertoire dispose maintenant d'une arborescence Ansible de base
similaire à celle présentée dans les [bonnes pratiques][ansible inventaire doc].
tree
.
└── ansible
├── inventory
│ ├── group_vars <= Contiendra les fichiers (ou sous-dossiers) pour
│ │ │ définir des variables par groupes
│ │ └── all <= Variables pour tous les hôtes de l'inventaire
│ ├── hosts <= Définition des machines à administrer avec DebOps
│ └── host_vars <= Contiendra les fichiers avec les variables de propres à chaques hôtes
├── playbooks <= Playbooks supplémentaires
└── roles <= Rôles supplémentaires
<!--Liste des URLs utilisées dans le doc :-->
[ansible inventaire doc]: https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#splitting-out-vars

View File

@ -0,0 +1,21 @@
# -*- conf -*-
[paths]
;data-home: /opt/debops
[ansible defaults]
display_skipped_hosts = False
retry_files_enabled = False
stdout_callback = yaml
;callback_plugins = /my/plugins/callback
;roles_path = /my/roles
[ansible inventory]
host_pattern_mismatch = ignore
[ansible paramiko]
;record_host_keys=True
[ansible ssh_connection]
;ssh_args = -o ControlMaster=auto -o ControlPersist=60s

View File

@ -0,0 +1,4 @@
# Uncomment the lines below to encrypt your secrets with git-crypt
#/ansible/secret/** filter=git-crypt diff=git-crypt
#/secret/** filter=git-crypt diff=git-crypt

View File

@ -0,0 +1,54 @@
## DebOps project environment
# See https://docs.debops.org/en/master/user-guide/project-directories.html
# Autogenerated by the debops script
/ansible.cfg
# Symlink your debops package here for path consistency
/debops
# Workshop directories for unfinished roles
/roles
/playbooks
## Debops secrets, EncFS implementation
# If you'll be using git-crypt instead
# Remove this whole section
# and uncomment the lines in .gitattributes
# EncFS mount targets
/ansible/secret
/secret
# EncFS encrypted folders
# Remove this when you're ready to commit it to git
.encfs.secret
#-- python
*.py[co]
#-- vim
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
*.un~
Session.vim
.netrwhist
*~
#-- Emacs
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*
#-- SublimeText
*.sublime-workspace
#*.sublime-project
#-- sftp configuration file
sftp-config.json

View File

@ -0,0 +1,18 @@
# This is an Ansible inventory file in INI format. You can define a list of
# hosts and groups to be managed by this particular inventory.
# Hosts listed under [debops_all_hosts] will have common DebOps plays
# ran against them. It will include services such as iptables, DNS, Postfix,
# sshd configuration and more.
#
# View the list here:
# https://github.com/debops/debops/blob/master/ansible/playbooks/common.yml
#
# You should check Getting Started guide for useful suggestions:
# https://docs.debops.org/en/master/introduction/getting-started.html
# Your host is eligible to be managed by DebOps' common playbook. If you want
# that functionality and more, then uncomment your hostname below.
[debops_all_hosts]
#cargoday12 ansible_host=cargoday12.ipr.univ-rennes1.fr ansible_connection=local

View File

@ -0,0 +1,32 @@
Script started on 2021-10-18 14:44:56+02:00 [TERM="screen-256color" TTY="/dev/pts/2" COLUMNS="88" LINES="22"]
% 14:44 cargoday12 ~%  [?2004h14:44 cargoday12 ~% ssosouurrcsource ~~//ssrrc//ddeebops-venv//bbiin//aaccttivate
activate activate.fish activate_this.py
activate.csh activate.ps1 activate.xsh  MM source ~/src/debops-venv/bin/activate[?1l>[?2004l
% (debops-venv) 14:45 cargoday12 ~% ✔ -INS- [?2004h(debops-venv) 14:45 cargoday12 ~% ✔ -INS-mmkmkddimkdir ~~//ssrrc/~/src/cargoday.debops[?1l>[?2004l
% (debops-venv) 14:45 cargoday12 ~% ✔ -INS- [?2004h(debops-venv) 14:45 cargoday12 ~% ✔ -INS-ccd !!$[?1l>[?2004l
% (debops-venv) 14:45 cargoday12 ~% cd ~/src/cargoday.debops✔ -INS- [?2004h(debops-venv) 14:45 cargoday12 ~% cd ~/src/cargoday.debops✔ -INS-[?1l>[?2004l
% (debops-venv) 14:45 cargoday12 cargoday.debops% ✔ -INS- [?2004h(debops-venv) 14:45 cargoday12 cargoday.debops% ✔ -INS-ddedebboopdebops
debops debops-init debops-task debops-venv/
debops-defaults debops-padlock debops-update debops_venv_bin  MM debops✔ -INS-debops--idebops-init  .[?1l>[?2004l
Creating new DebOps project directory in . ...
/home/marvin/src/debops-venv/bin/debops-init:202: DeprecationWarning: distro.linux_distribution() is deprecated. It should only be used as a compatibility shim with Python's platform.linux_distribution(). Please use distro.id(), distro.version() and distro.name() instead.
(distro.linux_distribution(full_distribution_name=False)[0]
% (debops-venv) 14:45 cargoday12 cargoday.debops% ✔ -INS- [?2004h(debops-venv) 14:45 cargoday12 cargoday.debops% ✔ -INS-[?1l>[?2004l
% (debops-venv) 14:45 cargoday12 cargoday.debops% ✔ -INS- [?2004h(debops-venv) 14:45 cargoday12 cargoday.debops% ✔ -INS-[?1l>[?2004l
% (debops-venv) 14:45 cargoday12 cargoday.debops% ✔ -INS- [?2004h(debops-venv) 14:45 cargoday12 cargoday.debops% ✔ -INS-ttrtretree[?1l>[?2004l
.
└── ansible
├── inventory
│   ├── group_vars
│   │   └── all
│   ├── hosts
│   └── host_vars
├── playbooks
└── roles
7 directories, 1 file
% (debops-venv) 14:45 cargoday12 cargoday.debops% ✔ -INS- [?2004h(debops-venv) 14:45 cargoday12 cargoday.debops% ✔ -INS-[?1l>[?2004l
% (debops-venv) 14:45 cargoday12 cargoday.debops% ✔ -INS- [?2004h(debops-venv) 14:45 cargoday12 cargoday.debops% ✔ -INS-[?1l>[?2004l
% (debops-venv) 14:45 cargoday12 cargoday.debops% ✔ -INS- [?2004h(debops-venv) 14:45 cargoday12 cargoday.debops% ✔ -INS-eexexiexit[?1l>[?2004l
Script done on 2021-10-18 14:45:21+02:00 [COMMAND_EXIT_CODE="0"]

View File

@ -0,0 +1,137 @@
0.144228 112
0.000332 67
0.008649 76
0.253821 11
0.149733 30
0.490378 41
0.097013 30
0.110341 30
0.416721 66
0.253897 1
0.404066 10
0.260325 16
0.201815 16
0.151015 16
0.196500 29
0.159308 20
0.129077 16
0.147675 37
0.395615 20
0.186350 16
0.173948 29
0.233487 20
0.114122 16
0.158145 16
0.215877 20
0.000082 3
0.000043 241
0.299262 7
0.008864 14
0.012500 112
0.000438 78
0.000062 32
0.016559 119
0.861131 19
0.135751 30
0.151088 41
0.208686 30
0.103178 55
0.272080 1
0.393027 10
0.255182 16
0.184356 16
0.185549 16
0.408523 29
1.599166 47
0.096277 1
0.099873 1
0.198399 1
0.203009 1
0.240821 1
0.115404 1
0.250937 1
0.203860 1
0.266747 1
0.100911 1
0.162400 1
0.129764 1
0.120282 1
0.114039 1
0.778489 7
0.009724 11
0.005243 112
0.000133 78
0.000078 32
0.009607 119
0.553564 11
0.094373 18
0.093849 1
0.233520 1
0.168590 18
0.113206 7
0.008487 123
0.000285 134
0.022450 162
0.220780 7
0.009416 11
0.000392 112
0.000266 124
0.015552 133
0.699273 19
0.099668 30
0.124006 41
0.118947 30
0.087030 30
0.389888 69
0.000046 271
0.635720 85
0.110738 30
0.216126 106
0.410968 16
0.668645 7
0.007595 14
0.107885 48
0.000940 337
0.065323 112
0.000718 92
0.000098 32
0.015445 133
1.157838 7
0.004459 11
0.000087 112
0.000341 124
0.015552 133
0.132578 7
0.004559 11
0.000084 112
0.000304 124
0.018500 133
0.375837 19
0.049702 22
0.150153 41
0.145177 44
0.461572 7
0.006956 11
0.007659 16
0.000084 32
0.000140 38
0.000248 47
0.000274 220
0.000309 112
0.000339 124
0.015328 133
1.147548 7
0.004874 11
0.000086 112
0.000535 124
0.015669 133
0.146962 7
0.004236 123
0.000395 124
0.016226 133
0.239187 19
0.262932 22
0.207762 41
0.106414 44
1.031445 7
0.006506 11

View File

@ -0,0 +1,138 @@
## Ajout de la gestion d'une nouvelle machine
1. Activer l'environnement virtuel de DebOps et se placer à la racine
de son projet DebOps :
source ~/src/debops-venv/bin/activate
cd ~/src/cargoday.debops/ansible
1. Éditer le fichier **ansible/inventory/hosts** et ajouter une
nouvelle machine dans le groupe **debops\_all\_hosts** :
[debops_all_hosts]
bullseye.ipr ansible_ssh_host=bullseye.ipr.univ-rennes1.fr
1. Créer une clef SSH pour son utilisateur si ce n'est pas déjà
fait :
ssh-keygen -t ed25519
1. S'assurer que l'utilisateur actuel est bien autorisé à se
connecter en tant que **root** via SSH avec sa clef privée :
ANS_HOST_FQDN="bullseye.ipr.univ-rennes1.fr
ANS_HOST="bullseye.ipr
ssh-copy-id root@"${ANS_HOST_FQDN:=/dev/null}"
/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "~/.ssh/id_ed25519.pub"
The authenticity of host 'bullseye.ipr.univ-rennes1.fr (WWW.XXX.YYY.ZZZ)' can't be established.
ECDSA key fingerprint is SHA256:HxPXY3xoXHzEynZA3lppYueGXds77hLxXRawWmSeVWY.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes <=========
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@bullseye.ipr.univ-rennes1.fr's password: <=========
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@bullseye.ipr.univ-rennes1.fr'"
and check to make sure that only the key(s) you wanted were added.
1. Créer un premier fichier de variables pour toutes les machines
afin d'autoriser les connexions SSH des utilisateurs avec un mot
de passe.
Le fichier [ansible/inventory/group_vars/all/sshd.yml][sshd file]
permettra de surcharger les valeurs par défaut des variables du
rôle **debops.sshd** :
---
# vars file for all hosts to configure sshd role
# Allow password authentication
sshd__password_authentication: 'yes'
1. Lors de l'ajout d'une nouvelle machine, la première chose à faire
est d'appliquer l'un des playbooks DebOps dédié au **bootstrap** :
Ces playbooks permettent entre autre d'installer le minimum
requis pour qu'Ansible et DebOps s'appliquent correctement sur la
nouvelle machine.
* `debops bootstrap -u root -l "${ANS_HOST:=/dev/null}"`
Ce premier playbook **bootstrap** va automatiquement créer un
premier utilisateur sur la machine distante avec le même nom
d'utilisateur que celui utilisé pour lancer la commande
`debops` et y transférer sa clef SSH.
Cet utilisateur sera également placé dans le groupe **admins**
et pourra lancer des commandes via `sudo`.
* `debops bootstrap-ldap -u root -l "${ANS_HOST:=/dev/null}"`
Ce second playbook **bootstrap-ldap** va configurer une
authentification LDAP via le rôle **debops.nslcd** et nécessite
donc une petite configuration supplémentaire via un fichier
d'inventaire dédié (ex. ansible/inventory/group\_vars/all/nslcd.conf).
Voir [la documentation dédiée à debops.nslcd][debops doc nslcd]
et au minimum les paramètres :
* nslcd\_\_ldap\_binddn
* nslcd\_\_ldap\_bindpw (possibilité de chiffrer via ansible-vault)
* nslcd\_\_ldap\_base\_dn
* Un exemple de fichier de configuration est également disponible
sous [cargoday.debops/ansible/inventory/group_vars/all/nslcd.yml][nslcd file]
* Exemple de résultat après l'application d'un playbook bootstrap :
PLAY RECAP *****************************************************************************
bullseye.ipr : ok=250 changed=124 unreachable=0 failed=0 skipped=103 rescued=0 ignored=0
Install PKI packages ---------------------------------------------------- 9.25s
Create base directory hierarchy ----------------------------------------- 8.26s
Flush handlers for PKI -------------------------------------------------- 7.38s
Install packages for nslcd support -------------------------------------- 6.32s
Install required APT packages ------------------------------------------- 4.77s
Install required packages ----------------------------------------------- 4.20s
Install atd ------------------------------------------------------------- 4.18s
Install Libuser requested packages -------------------------------------- 4.02s
Gather Ansible facts if needed ------------------------------------------ 3.91s
Ensure that requested UNIX system groups exist -------------------------- 3.83s
1. Il est ensuite normalement possible de se connecter en SSH :
ssh "${ANS_HOST_FQDN}"
marvin@bullseye.ipr.univ-rennes1.fr's password:
Creating directory '/home/marvin'.
Linux bullseye 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64
----------------------------------------------------------------------
This system is managed by Ansible, manual changes will be lost
----------------------------------------------------------------------
$ hostname -f
bullseye.univ-rennes1.fr
### DH params
L'exécution de la toute première commande `debops` peut être un peu
longue car elle va générer des paramètres Diffie-Hellman qui seront
utilisés par défaut une première fois sur les nouvelles machines.
Un job `atd` est ensuite placé sur les machines pour les régénérer
afin qu'ils soient uniques et propres à chaque hôte.
Pour plus d'informations, voir les documentations relatives à :
* [la configuration d'une nouvelle machine][debops doc configuration machine]
* [les informations liées au premier lancement de dhparam][debops doc dhparam]
<!--Liste des URLs utilisées dans le doc :-->
[debops doc bootstrap]: https://docs.debops.org/en/master/introduction/getting-started.html#bootstrap-a-new-host
[debops doc nslcd]: https://docs.debops.org/en/master/ansible/roles/nslcd/defaults/main.html#ldap-environment
[sshd file]: cargoday.debops/ansible/inventory/group_vars/all/sshd.yml
[nslcd file]: cargoday.debops/ansible/inventory/group_vars/all/nslcd.yml
[debops doc configurahttps://docs.debops.org/en/master/introduction/getting-started.html#bootstrap-a-new-hosttion machine]: https://docs.debops.org/en/master/introduction/getting-started.html#configure-the-remote-host
[debops doc dhparam]: https://docs.debops.org/en/master/ansible/roles/dhparam/getting-started.html#initial-configuration

View File

@ -0,0 +1,21 @@
# -*- conf -*-
[paths]
;data-home: /opt/debops
[ansible defaults]
display_skipped_hosts = False
retry_files_enabled = False
stdout_callback = yaml
;callback_plugins = /my/plugins/callback
;roles_path = /my/roles
[ansible inventory]
host_pattern_mismatch = ignore
[ansible paramiko]
;record_host_keys=True
[ansible ssh_connection]
;ssh_args = -o ControlMaster=auto -o ControlPersist=60s

View File

@ -0,0 +1,4 @@
# Uncomment the lines below to encrypt your secrets with git-crypt
#/ansible/secret/** filter=git-crypt diff=git-crypt
#/secret/** filter=git-crypt diff=git-crypt

View File

@ -0,0 +1,54 @@
## DebOps project environment
# See https://docs.debops.org/en/master/user-guide/project-directories.html
# Autogenerated by the debops script
/ansible.cfg
# Symlink your debops package here for path consistency
/debops
# Workshop directories for unfinished roles
/roles
/playbooks
## Debops secrets, EncFS implementation
# If you'll be using git-crypt instead
# Remove this whole section
# and uncomment the lines in .gitattributes
# EncFS mount targets
/ansible/secret
/secret
# EncFS encrypted folders
# Remove this when you're ready to commit it to git
.encfs.secret
#-- python
*.py[co]
#-- vim
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
*.un~
Session.vim
.netrwhist
*~
#-- Emacs
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*
#-- SublimeText
*.sublime-workspace
#*.sublime-project
#-- sftp configuration file
sftp-config.json

View File

@ -0,0 +1,41 @@
---
# .. vim: foldmarker=[[[,]]]:foldmethod=marker
# vars file for all hosts to configure nslcd role
# binddn to use to contact LDAP server
nslcd__ldap_binddn: 'cn=BIND_USER,dc=univ-rennes1,dc=fr'
# bind password
nslcd__ldap_bindpw: 'CHANGE_ME'
# Use People base to search users
nslcd__ldap_base_dn: [
"ou=People",
"dc=univ-rennes1",
"dc=fr"
]
# Filter to allow only admins
nslcd__ldap_host_filter: '(memberof=cn=mygroup,ou=Grouper,dc=univ-rennes1,dc=fr)'
# Set nslcd configuration
nslcd__configuration:
- name: 'uri'
comment: 'Use LDAP UR1 server'
value: 'ldap://ldap.univ-rennes1.fr'
- name: 'nss_min_uid'
comment: |
First valid UID/GID number expected to be in the LDAP directory.
UIDs/GIDs lower than this value will be ignored.
value: '1000'
- name: 'nss_initgroups_ignoreusers'
value: 'postfix,root,sshd,www-data'
comment: |
prevents group membership lookups through LDAP for those users.
- name: 'map_homeDirectory'
comment: |
Use the standard /home base for user's home directory.
option: 'map'
map: 'passwd'
value: 'homeDirectory "${homeDirectory:+/home/$uid}"'

View File

@ -0,0 +1,19 @@
# This is an Ansible inventory file in INI format. You can define a list of
# hosts and groups to be managed by this particular inventory.
# Hosts listed under [debops_all_hosts] will have common DebOps plays
# ran against them. It will include services such as iptables, DNS, Postfix,
# sshd configuration and more.
#
# View the list here:
# https://github.com/debops/debops/blob/master/ansible/playbooks/common.yml
#
# You should check Getting Started guide for useful suggestions:
# https://docs.debops.org/en/master/introduction/getting-started.html
# Your host is eligible to be managed by DebOps' common playbook. If you want
# that functionality and more, then uncomment your hostname below.
[debops_all_hosts]
#cargoday12 ansible_host=cargoday12.ipr.univ-rennes1.fr ansible_connection=local
bullseye.ipr ansible_ssh_host=bullseye.ipr.univ-rennes1.fr

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,839 @@
0.158471 201
0.000331 67
0.011531 76
0.528342 11
0.143372 30
0.087980 41
0.134219 30
0.134653 30
0.117606 66
0.125057 1
0.517646 10
0.264969 16
0.212340 16
0.176857 16
0.176355 29
0.235954 20
0.151647 16
0.163231 37
0.826890 20
0.171673 16
0.145367 29
0.237449 20
0.085858 16
0.171234 16
0.116690 20
0.000057 3
0.000213 212
0.293235 7
0.009558 14
0.043997 201
0.000237 112
0.019568 121
0.463578 11
0.078838 18
0.190819 1
0.555343 10
0.298947 16
0.246677 16
0.164846 16
0.158281 29
0.530669 20
0.140293 16
0.074244 16
0.167051 40
0.350619 20
0.097624 16
0.078649 16
0.146113 32
0.711509 30
0.004415 11
0.000215 201
0.000244 118
0.017747 127
1.285706 11
0.081232 18
0.149786 1
0.424161 10
0.097747 16
0.131614 35
0.435566 20
0.107632 16
0.153563 17
0.000259 142
0.400644 16
0.356949 7
0.007977 8
0.000131 1
0.000074 2
0.000087 3
0.109131 15
0.000891 233
0.000174 17
0.004680 65
0.001227 2047
0.000357 1969
0.000252 2007
0.000069 2024
0.000136 2024
0.000050 493
0.571872 58
0.246073 151
0.245797 353
0.226702 343
0.286816 134
0.236708 134
0.082327 134
0.569738 135
0.155008 135
0.161074 135
0.156996 309
0.487226 134
0.238632 134
0.065966 134
0.185041 134
0.218020 135
0.131075 135
0.225018 135
0.200783 135
0.215531 136
0.176179 135
0.201243 135
0.082377 135
0.149774 174
0.660525 174
0.039430 174
0.039932 174
0.040876 174
0.040044 174
0.042309 175
0.156686 150
0.129903 135
0.067758 135
0.138950 135
0.136141 135
0.098222 135
0.111738 135
0.358301 135
0.217914 135
0.367739 136
0.237275 135
0.358675 135
0.297564 135
0.131628 135
0.111153 135
0.092857 135
0.365728 135
0.448196 135
0.231817 135
0.062021 136
0.169001 135
0.174964 135
0.061891 135
0.205151 135
0.182853 135
0.178509 135
0.176574 135
0.188992 135
0.071894 135
0.153099 136
0.178471 135
0.096001 135
0.118059 135
0.102869 135
0.172285 135
0.210121 135
0.115312 135
0.100041 135
0.149701 135
0.100079 136
0.071951 135
0.254771 135
0.235203 135
0.114948 135
0.130903 135
0.554207 51
0.000693 51
0.764710 51
0.254411 1
0.301966 1
0.768680 1
0.000347 6
0.000723 17
0.072001 18
0.002792 2
0.000205 2
0.000162 15
0.000162 19
0.003407 201
0.000800 84
0.000063 34
0.020323 127
1.073439 7
0.004486 11
0.000066 201
0.000212 118
0.018661 127
0.822703 19
0.120859 30
0.064212 41
0.377168 30
0.399073 30
0.158446 30
0.381672 30
0.083811 30
0.400093 30
0.297332 30
0.203294 30
0.253344 30
0.568189 32
0.193778 30
0.216271 30
0.330585 136
0.168507 11
0.242122 18
0.734786 20
0.231720 18
0.246555 18
0.048917 18
0.171757 18
0.195530 18
0.119941 18
0.176754 18
0.217387 18
0.172401 18
0.166115 18
0.198621 18
0.098056 18
0.102648 18
0.164680 18
0.090334 18
0.141467 18
0.097722 18
0.173008 18
0.194095 18
0.157246 18
0.077935 18
0.149857 18
0.109105 18
0.063784 18
0.263059 18
0.218028 18
0.187835 18
0.155676 18
0.200604 18
0.246671 7
0.008996 8
0.000128 1
0.000069 2
0.000647 201
0.000342 84
0.000142 34
0.019006 127
0.660211 19
0.140228 30
0.072790 41
0.362679 30
0.328218 30
0.169728 30
0.103093 30
0.080818 30
0.489652 85
0.659031 11
0.533145 18
0.212072 18
0.085666 18
0.162329 18
0.174595 18
0.110150 18
0.190996 18
0.211504 18
0.200849 18
0.172539 18
0.193906 18
0.071919 18
0.211928 18
0.381407 7
0.010337 11
0.000235 201
0.000210 118
0.019291 127
0.585062 7
0.004017 212
0.000309 118
0.017984 127
0.376051 11
0.156086 18
0.159115 25
0.266226 52
0.134166 30
0.211862 30
0.208603 30
0.432730 30
0.135853 105
0.327406 7
0.240900 43
0.156754 1
0.138377 1
0.096476 1
0.160511 14
0.331752 7
0.000062 7
0.005171 11
0.014204 45
0.002157 68
1.017900 2
0.001081 85
1.523992 2
0.000221 29
1.379766 2
0.000489 68
0.000267 425
0.001323 201
0.000963 84
0.000129 34
0.019405 127
0.932422 7
0.003938 212
0.000232 118
0.019023 127
0.134365 7
0.004391 212
0.000351 118
0.014542 127
0.529978 11
0.142698 18
0.185785 25
0.256021 52
0.207590 30
0.091676 30
0.146838 90
1.213118 16
0.575189 16
0.199656 15
0.113433 1
0.488095 1
0.219391 11
0.194966 18
0.364056 26
0.502326 11
0.110752 18
0.064941 18
0.362042 18
0.323892 18
0.246032 18
0.109084 18
0.081228 18
0.452151 18
0.342115 18
0.201466 18
0.202042 18
0.181149 18
0.363379 127
0.236370 11
0.468788 7
0.009651 8
0.000187 1
0.000052 2
0.026094 94
0.065945 1
0.000285 94
0.000143 2
0.000125 76
0.000124 2
0.000178 69
0.679752 1
0.150140 1
0.127797 1
0.249977 2
0.064804 112
0.101414 114
0.091995 1
0.000312 46
2.880444 2
0.127880 186
0.000903 201
0.000773 84
0.000055 34
0.018728 127
0.919609 7
0.004230 212
0.000223 118
0.019669 127
0.288701 7
0.003938 11
0.000067 201
0.000213 118
0.018086 127
5.860091 19
0.101673 30
0.091444 41
0.145069 30
0.101497 30
0.221329 66
0.000062 3
0.000052 249
0.362691 1
0.515430 1
0.142838 1
0.159196 1
0.134049 1
0.619469 1
0.085235 1
0.111131 1
0.118602 1
0.098644 1
0.145748 1
0.196551 1
0.103273 43
0.199348 1
0.163249 10
0.110490 16
0.169143 15
0.121343 1
0.201772 1
0.210815 1
0.242863 43
0.199045 1
0.217806 11
0.189772 18
0.321489 26
0.447625 11
0.105560 18
0.055433 18
0.346500 18
0.272657 18
0.360017 18
0.124789 18
0.083390 18
0.327960 18
0.278888 11
0.366256 18
0.280402 18
0.101076 18
0.079697 18
0.212930 18
0.280926 18
0.226964 18
0.072112 18
0.147986 18
0.246825 54
0.255858 11
0.910853 7
0.014295 14
0.061107 125
1.195912 2
0.000158 177
0.000044 2
0.308749 181
0.002017 31
3.630588 2
0.000181 177
0.000064 2
0.000223 34
0.000074 2
0.082545 181
3.391901 181
0.000036 31
0.823947 181
0.000576 29
0.000015 2
21.907814 181
0.000254 36
0.508105 181
0.000598 36
1.393850 181
0.000305 36
1.573222 2
0.000102 177
0.000043 2
0.000141 29
0.000123 2
0.510987 181
0.000247 31
1.019398 181
0.000594 86
0.751876 181
0.000294 31
0.559115 2
0.000293 177
0.000165 2
0.000527 36
1.267358 181
0.000248 36
3.487557 181
0.000298 36
1.077741 181
0.000279 31
0.645395 2
0.000243 177
0.000218 2
0.000469 34
0.000159 2
1.313796 181
0.000234 31
0.033581 181
1.259080 2
0.000157 177
0.000044 2
0.000197 29
0.000051 2
0.789364 181
0.000269 31
1.156978 2
0.000248 177
0.000187 2
0.000473 29
0.000159 2
0.089559 2
0.000247 177
0.000161 2
0.000462 29
0.000155 2
0.516611 181
0.000260 31
0.935215 2
0.000333 177
0.000175 2
0.000576 49
0.000169 2
0.824434 51
1.279941 181
0.000295 31
0.037214 181
1.259040 181
0.000211 31
1.088868 2
0.000270 177
0.000137 2
0.000368 29
0.000128 2
0.884665 181
0.000179 36
1.264190 181
0.000206 31
0.477106 181
0.000317 31
0.965481 181
0.000215 36
1.332083 181
0.000327 31
17.084487 181
0.000376 36
0.890558 2
0.000159 177
0.000087 2
0.000233 34
0.000108 2
0.896434 181
0.000236 36
1.356399 2
0.000109 177
0.000051 2
0.000153 29
0.000048 2
0.934249 181
0.000271 31
0.499026 2
0.000254 177
0.000159 2
0.000487 29
0.000157 2
0.927300 181
0.000278 36
1.555705 212
1.170327 2
0.000222 177
0.000144 2
0.000386 29
0.000179 2
0.647469 2
0.000311 177
0.000171 2
0.000663 68
0.000261 2
0.435340 102
0.443223 102
0.446656 76
0.469859 78
1.541217 181
0.000075 31
0.595254 181
0.000853 75
0.487725 67
0.473340 67
0.491468 67
0.492253 69
0.507188 71
0.479780 67
0.492882 58
0.473361 57
0.534529 66
0.473023 68
0.474081 64
0.472990 63
0.484377 63
0.479925 65
0.513285 61
0.493414 65
1.123607 2
0.000091 177
0.000054 2
0.000348 34
0.000072 2
1.447245 181
0.000235 31
4.361619 181
0.000268 36
0.510505 181
0.000269 31
0.905810 181
0.000277 36
1.527563 181
0.000147 31
0.481346 2
0.000291 177
0.000204 2
0.000454 31
0.993230 181
0.000279 36
4.005527 181
0.000288 36
0.523098 2
0.000270 177
0.000163 2
0.000650 34
0.000168 2
0.922263 181
0.000299 36
0.503919 181
0.000274 31
0.885353 2
0.000250 177
0.000149 2
0.000522 34
0.000196 2
1.479808 181
0.000149 31
0.081741 212
0.762252 2
0.000083 177
0.000036 2
0.000849 615
0.000203 2
0.484007 162
0.466714 164
0.562143 169
0.603239 169
0.554738 175
0.672556 181
0.000273 31
1.649920 181
0.000353 162
0.452313 164
0.472719 164
0.452428 164
0.454590 170
0.972501 2
0.000368 177
0.000175 2
0.000743 615
0.000259 2
0.611040 2
0.000255 177
0.000239 2
0.000657 610
0.000187 2
0.463780 162
0.453389 164
0.472103 164
0.456237 164
0.454030 170
0.649248 212
0.939301 181
0.000190 36
1.521719 2
0.000141 177
0.000062 2
0.000282 29
0.000074 2
0.294161 181
0.000302 44
0.056674 181
0.000290 31
0.110658 59
2.582456 2
0.000166 177
0.000090 2
0.000299 34
0.000093 2
0.069320 59
0.847794 181
0.000279 85
0.002818 188
0.485091 181
0.000262 31
0.080149 59
1.196363 181
0.000385 98
0.003330 219
0.498577 2
0.000317 177
0.000247 2
0.001119 29
0.000227 2
0.072576 59
0.653533 181
0.000262 112
0.069747 59
0.541024 2
0.000256 177
0.000181 2
0.000512 107
0.000170 2
0.081737 59
0.098609 57
0.000256 2
0.117284 57
0.000400 2
0.126230 59
0.751240 181
0.000847 198
0.082668 59
0.113632 59
0.129142 59
0.138854 57
0.000168 2
0.110893 59
0.100545 59
0.085324 59
0.090308 59
0.519032 181
0.000263 31
0.915419 181
0.000163 36
1.519608 181
0.000156 31
0.031849 181
0.000046 163
0.000044 2
0.000205 729
0.000037 81
0.135359 319
0.011566 127
4.058962 7
0.004504 11
0.000097 201
0.000386 118
0.017630 127
0.446419 11
0.148444 18
0.184921 25
0.305094 1
1.045294 11
0.192868 18
0.411917 26
0.423811 11
0.120176 18
0.062286 18
0.361095 18
0.340608 18
0.142992 18
0.244912 18
0.517706 20
0.154313 20
0.158006 20
0.694648 18
0.141318 18
0.169445 18
0.064276 18
0.335283 18
0.340322 18
0.242028 18
0.155433 18
0.457042 18
0.883452 127
0.270927 11
0.312959 7
0.010693 11
0.376479 387
0.023323 53
0.578785 2
0.000315 9
0.000418 53
0.179943 11
0.000302 8
0.000312 45
0.816349 1
0.081445 1
0.310025 11
0.005059 67
0.000494 8
0.000319 45
1.003935 11
0.000361 8
0.000219 45
0.167290 11
0.000326 53
0.423908 1
0.107809 1
0.141872 1
0.078214 1
0.140683 1
0.220512 4
0.445391 1
0.085692 1
0.305227 1
0.556807 2
0.000408 9
0.003866 26
0.000370 53
1.641117 64
0.161428 11
0.000405 53
0.239554 1
0.114039 1
0.165997 1
0.254125 1
0.121045 1
0.077676 1
1.774332 11
0.005873 51
0.000152 2
0.001893 201
0.000721 84
0.000083 34
0.017231 127
0.556551 7
0.004337 11
0.000090 201
0.000290 118
0.017070 127
0.391506 19
0.108078 30
0.345611 41
0.138697 30
0.156850 30
0.121447 30
0.251657 89
0.389620 7
0.000225 7
0.003866 11
0.000603 201
0.000213 104
0.020645 113
0.378861 7
0.004452 212
0.000430 104
0.024249 113
0.116586 7
0.004482 11
0.000230 201
0.000165 104
0.020644 113
0.138711 19
0.229607 22
0.152106 41
0.069215 44
0.345720 7
0.006671 11

View File

@ -1 +1,34 @@
# DebOps pour CargoDay 12
Petite présentation de [DebOps][debops url] pour le [CargoDay12 du 2021/10/21][cargoday12 mathrice url].
## Introduction
## Environnement
## Rejouer les sessions
J'ai utilisé l'outil **script** (avec la commande `script --log-timing script.tm script.log`) pour enregistrer les sessions shell avec les différentes commandes et résultats attendus.
* Dans chaque dossier vous pourrez rejouer les sessions avec la commande :
scriptreplay --log-timing script.tm script.log
* Pour augmenter la vitesse, vous pouvez utiliser l'argument **--divisor=2** (2 ou plus) :
scriptreplay --divisor=2 --log-timing script.tm script.log
* Sous Debian et dérivées, **script** est disponible dans le paquet **bsdutils**.
* Si vous n'avez pas l'outil `scriptreplay`, les différents fichiers
README.md présents dans chaque sous-dossiers reprennent les
commandes et les principaux résultats attendus.
<!--Liste des URLs utilisées dans le doc :-->
[cargoday12 mathrice url]: https://indico.mathrice.fr/event/266/
[debops url]: https://docs.debops.org/en/master/
[debops github]: https://github.com/debops/debops
[article debops gnu linux magazine]: https://connect.ed-diamond.com/GNU-Linux-Magazine/glmf-232/toute-votre-infrastructure-debian-en-yaml-avec-debops

View File

@ -0,0 +1,138 @@
## Ajout de la gestion d'une nouvelle machine
1. Activer l'environnement virtuel de DebOps et se placer à la racine
de son projet DebOps :
source ~/src/debops-venv/bin/activate
cd ~/src/cargoday.debops/ansible
1. Éditer le fichier **ansible/inventory/hosts** et ajouter une
nouvelle machine dans le groupe **debops\_all\_hosts** :
[debops_all_hosts]
bullseye.ipr ansible_ssh_host=bullseye.ipr.univ-rennes1.fr
1. Créer une clef SSH pour son utilisateur si ce n'est pas déjà
fait :
ssh-keygen -t ed25519
1. S'assurer que l'utilisateur actuel est bien autorisé à se
connecter en tant que **root** via SSH avec sa clef privée :
ANS_HOST_FQDN="bullseye.ipr.univ-rennes1.fr
ANS_HOST="bullseye.ipr
ssh-copy-id root@"${ANS_HOST_FQDN:=/dev/null}"
/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "~/.ssh/id_ed25519.pub"
The authenticity of host 'bullseye.ipr.univ-rennes1.fr (WWW.XXX.YYY.ZZZ)' can't be established.
ECDSA key fingerprint is SHA256:HxPXY3xoXHzEynZA3lppYueGXds77hLxXRawWmSeVWY.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes <=========
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@bullseye.ipr.univ-rennes1.fr's password: <=========
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@bullseye.ipr.univ-rennes1.fr'"
and check to make sure that only the key(s) you wanted were added.
1. Créer un premier fichier de variables pour toutes les machines
afin d'autoriser les connexions SSH des utilisateurs avec un mot
de passe.
Le fichier [ansible/inventory/group_vars/all/sshd.yml][sshd file]
permettra de surcharger les valeurs par défaut des variables du
rôle **debops.sshd** :
---
# vars file for all hosts to configure sshd role
# Allow password authentication
sshd__password_authentication: 'yes'
1. Lors de l'ajout d'une nouvelle machine, la première chose à faire
est d'appliquer l'un des playbooks DebOps dédié au **bootstrap** :
Ces playbooks permettent entre autre d'installer le minimum
requis pour qu'Ansible et DebOps s'appliquent correctement sur la
nouvelle machine.
* `debops bootstrap -u root -l "${ANS_HOST:=/dev/null}"`
Ce premier playbook **bootstrap** va automatiquement créer un
premier utilisateur sur la machine distante avec le même nom
d'utilisateur que celui utilisé pour lancer la commande
`debops` et y transférer sa clef SSH.
Cet utilisateur sera également placé dans le groupe **admins**
et pourra lancer des commandes via `sudo`.
* `debops bootstrap-ldap -u root -l "${ANS_HOST:=/dev/null}"`
Ce second playbook **bootstrap-ldap** va configurer une
authentification LDAP via le rôle **debops.nslcd** et nécessite
donc une petite configuration supplémentaire via un fichier
d'inventaire dédié (ex. ansible/inventory/group\_vars/all/nslcd.conf).
Voir [la documentation dédiée à debops.nslcd][debops doc nslcd]
et au minimum les paramètres :
* nslcd\_\_ldap\_binddn
* nslcd\_\_ldap\_bindpw (possibilité de chiffrer via ansible-vault)
* nslcd\_\_ldap\_base\_dn
* Un exemple de fichier de configuration est également disponible
sous [cargoday.debops/ansible/inventory/group_vars/all/nslcd.yml][nslcd file]
* Exemple de résultat après l'application d'un playbook bootstrap :
PLAY RECAP *****************************************************************************
bullseye.ipr : ok=250 changed=124 unreachable=0 failed=0 skipped=103 rescued=0 ignored=0
Install PKI packages ---------------------------------------------------- 9.25s
Create base directory hierarchy ----------------------------------------- 8.26s
Flush handlers for PKI -------------------------------------------------- 7.38s
Install packages for nslcd support -------------------------------------- 6.32s
Install required APT packages ------------------------------------------- 4.77s
Install required packages ----------------------------------------------- 4.20s
Install atd ------------------------------------------------------------- 4.18s
Install Libuser requested packages -------------------------------------- 4.02s
Gather Ansible facts if needed ------------------------------------------ 3.91s
Ensure that requested UNIX system groups exist -------------------------- 3.83s
1. Il est ensuite normalement possible de se connecter en SSH :
ssh "${ANS_HOST_FQDN}"
marvin@bullseye.ipr.univ-rennes1.fr's password:
Creating directory '/home/marvin'.
Linux bullseye 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64
----------------------------------------------------------------------
This system is managed by Ansible, manual changes will be lost
----------------------------------------------------------------------
$ hostname -f
bullseye.univ-rennes1.fr
### DH params
L'exécution de la toute première commande `debops` peut être un peu
longue car elle va générer des paramètres Diffie-Hellman qui seront
utilisés par défaut une première fois sur les nouvelles machines.
Un job `atd` est ensuite placé sur les machines pour les régénérer
afin qu'ils soient uniques et propres à chaque hôte.
Pour plus d'informations, voir les documentations relatives à :
* [la configuration d'une nouvelle machine][debops doc configuration machine]
* [les informations liées au premier lancement de dhparam][debops doc dhparam]
<!--Liste des URLs utilisées dans le doc :-->
[debops doc bootstrap]: https://docs.debops.org/en/master/introduction/getting-started.html#bootstrap-a-new-host
[debops doc nslcd]: https://docs.debops.org/en/master/ansible/roles/nslcd/defaults/main.html#ldap-environment
[sshd file]: cargoday.debops/ansible/inventory/group_vars/all/sshd.yml
[nslcd file]: cargoday.debops/ansible/inventory/group_vars/all/nslcd.yml
[debops doc configurahttps://docs.debops.org/en/master/introduction/getting-started.html#bootstrap-a-new-hosttion machine]: https://docs.debops.org/en/master/introduction/getting-started.html#configure-the-remote-host
[debops doc dhparam]: https://docs.debops.org/en/master/ansible/roles/dhparam/getting-started.html#initial-configuration

View File

@ -0,0 +1,21 @@
# -*- conf -*-
[paths]
;data-home: /opt/debops
[ansible defaults]
display_skipped_hosts = False
retry_files_enabled = False
stdout_callback = yaml
;callback_plugins = /my/plugins/callback
;roles_path = /my/roles
[ansible inventory]
host_pattern_mismatch = ignore
[ansible paramiko]
;record_host_keys=True
[ansible ssh_connection]
;ssh_args = -o ControlMaster=auto -o ControlPersist=60s

View File

@ -0,0 +1,4 @@
# Uncomment the lines below to encrypt your secrets with git-crypt
#/ansible/secret/** filter=git-crypt diff=git-crypt
#/secret/** filter=git-crypt diff=git-crypt

View File

@ -0,0 +1,54 @@
## DebOps project environment
# See https://docs.debops.org/en/master/user-guide/project-directories.html
# Autogenerated by the debops script
/ansible.cfg
# Symlink your debops package here for path consistency
/debops
# Workshop directories for unfinished roles
/roles
/playbooks
## Debops secrets, EncFS implementation
# If you'll be using git-crypt instead
# Remove this whole section
# and uncomment the lines in .gitattributes
# EncFS mount targets
/ansible/secret
/secret
# EncFS encrypted folders
# Remove this when you're ready to commit it to git
.encfs.secret
#-- python
*.py[co]
#-- vim
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
*.un~
Session.vim
.netrwhist
*~
#-- Emacs
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*
#-- SublimeText
*.sublime-workspace
#*.sublime-project
#-- sftp configuration file
sftp-config.json

View File

@ -0,0 +1,41 @@
---
# .. vim: foldmarker=[[[,]]]:foldmethod=marker
# vars file for all hosts to configure nslcd role
# binddn to use to contact LDAP server
nslcd__ldap_binddn: 'cn=BIND_USER,dc=univ-rennes1,dc=fr'
# bind password
nslcd__ldap_bindpw: 'CHANGE_ME'
# Use People base to search users
nslcd__ldap_base_dn: [
"ou=People",
"dc=univ-rennes1",
"dc=fr"
]
# Filter to allow only admins
nslcd__ldap_host_filter: '(memberof=cn=mygroup,ou=Grouper,dc=univ-rennes1,dc=fr)'
# Set nslcd configuration
nslcd__configuration:
- name: 'uri'
comment: 'Use LDAP UR1 server'
value: 'ldap://ldap.univ-rennes1.fr'
- name: 'nss_min_uid'
comment: |
First valid UID/GID number expected to be in the LDAP directory.
UIDs/GIDs lower than this value will be ignored.
value: '1000'
- name: 'nss_initgroups_ignoreusers'
value: 'postfix,root,sshd,www-data'
comment: |
prevents group membership lookups through LDAP for those users.
- name: 'map_homeDirectory'
comment: |
Use the standard /home base for user's home directory.
option: 'map'
map: 'passwd'
value: 'homeDirectory "${homeDirectory:+/home/$uid}"'

View File

@ -0,0 +1,25 @@
# This is an Ansible inventory file in INI format. You can define a list of
# hosts and groups to be managed by this particular inventory.
# Hosts listed under [debops_all_hosts] will have common DebOps plays
# ran against them. It will include services such as iptables, DNS, Postfix,
# sshd configuration and more.
#
# View the list here:
# https://github.com/debops/debops/blob/master/ansible/playbooks/common.yml
#
# You should check Getting Started guide for useful suggestions:
# https://docs.debops.org/en/master/introduction/getting-started.html
# Your host is eligible to be managed by DebOps' common playbook. If you want
# that functionality and more, then uncomment your hostname below.
[debops_all_hosts]
#cargoday12 ansible_host=cargoday12.ipr.univ-rennes1.fr ansible_connection=local
bullseye.ipr ansible_ssh_host=bullseye.ipr.univ-rennes1.fr
[debops_all_hosts:children]
proxmox7
[proxmox7]
hyperv1.ipr ansible_ssh_host=hyperv1.ipr.univ-rennes1.fr

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,839 @@
0.158471 201
0.000331 67
0.011531 76
0.528342 11
0.143372 30
0.087980 41
0.134219 30
0.134653 30
0.117606 66
0.125057 1
0.517646 10
0.264969 16
0.212340 16
0.176857 16
0.176355 29
0.235954 20
0.151647 16
0.163231 37
0.826890 20
0.171673 16
0.145367 29
0.237449 20
0.085858 16
0.171234 16
0.116690 20
0.000057 3
0.000213 212
0.293235 7
0.009558 14
0.043997 201
0.000237 112
0.019568 121
0.463578 11
0.078838 18
0.190819 1
0.555343 10
0.298947 16
0.246677 16
0.164846 16
0.158281 29
0.530669 20
0.140293 16
0.074244 16
0.167051 40
0.350619 20
0.097624 16
0.078649 16
0.146113 32
0.711509 30
0.004415 11
0.000215 201
0.000244 118
0.017747 127
1.285706 11
0.081232 18
0.149786 1
0.424161 10
0.097747 16
0.131614 35
0.435566 20
0.107632 16
0.153563 17
0.000259 142
0.400644 16
0.356949 7
0.007977 8
0.000131 1
0.000074 2
0.000087 3
0.109131 15
0.000891 233
0.000174 17
0.004680 65
0.001227 2047
0.000357 1969
0.000252 2007
0.000069 2024
0.000136 2024
0.000050 493
0.571872 58
0.246073 151
0.245797 353
0.226702 343
0.286816 134
0.236708 134
0.082327 134
0.569738 135
0.155008 135
0.161074 135
0.156996 309
0.487226 134
0.238632 134
0.065966 134
0.185041 134
0.218020 135
0.131075 135
0.225018 135
0.200783 135
0.215531 136
0.176179 135
0.201243 135
0.082377 135
0.149774 174
0.660525 174
0.039430 174
0.039932 174
0.040876 174
0.040044 174
0.042309 175
0.156686 150
0.129903 135
0.067758 135
0.138950 135
0.136141 135
0.098222 135
0.111738 135
0.358301 135
0.217914 135
0.367739 136
0.237275 135
0.358675 135
0.297564 135
0.131628 135
0.111153 135
0.092857 135
0.365728 135
0.448196 135
0.231817 135
0.062021 136
0.169001 135
0.174964 135
0.061891 135
0.205151 135
0.182853 135
0.178509 135
0.176574 135
0.188992 135
0.071894 135
0.153099 136
0.178471 135
0.096001 135
0.118059 135
0.102869 135
0.172285 135
0.210121 135
0.115312 135
0.100041 135
0.149701 135
0.100079 136
0.071951 135
0.254771 135
0.235203 135
0.114948 135
0.130903 135
0.554207 51
0.000693 51
0.764710 51
0.254411 1
0.301966 1
0.768680 1
0.000347 6
0.000723 17
0.072001 18
0.002792 2
0.000205 2
0.000162 15
0.000162 19
0.003407 201
0.000800 84
0.000063 34
0.020323 127
1.073439 7
0.004486 11
0.000066 201
0.000212 118
0.018661 127
0.822703 19
0.120859 30
0.064212 41
0.377168 30
0.399073 30
0.158446 30
0.381672 30
0.083811 30
0.400093 30
0.297332 30
0.203294 30
0.253344 30
0.568189 32
0.193778 30
0.216271 30
0.330585 136
0.168507 11
0.242122 18
0.734786 20
0.231720 18
0.246555 18
0.048917 18
0.171757 18
0.195530 18
0.119941 18
0.176754 18
0.217387 18
0.172401 18
0.166115 18
0.198621 18
0.098056 18
0.102648 18
0.164680 18
0.090334 18
0.141467 18
0.097722 18
0.173008 18
0.194095 18
0.157246 18
0.077935 18
0.149857 18
0.109105 18
0.063784 18
0.263059 18
0.218028 18
0.187835 18
0.155676 18
0.200604 18
0.246671 7
0.008996 8
0.000128 1
0.000069 2
0.000647 201
0.000342 84
0.000142 34
0.019006 127
0.660211 19
0.140228 30
0.072790 41
0.362679 30
0.328218 30
0.169728 30
0.103093 30
0.080818 30
0.489652 85
0.659031 11
0.533145 18
0.212072 18
0.085666 18
0.162329 18
0.174595 18
0.110150 18
0.190996 18
0.211504 18
0.200849 18
0.172539 18
0.193906 18
0.071919 18
0.211928 18
0.381407 7
0.010337 11
0.000235 201
0.000210 118
0.019291 127
0.585062 7
0.004017 212
0.000309 118
0.017984 127
0.376051 11
0.156086 18
0.159115 25
0.266226 52
0.134166 30
0.211862 30
0.208603 30
0.432730 30
0.135853 105
0.327406 7
0.240900 43
0.156754 1
0.138377 1
0.096476 1
0.160511 14
0.331752 7
0.000062 7
0.005171 11
0.014204 45
0.002157 68
1.017900 2
0.001081 85
1.523992 2
0.000221 29
1.379766 2
0.000489 68
0.000267 425
0.001323 201
0.000963 84
0.000129 34
0.019405 127
0.932422 7
0.003938 212
0.000232 118
0.019023 127
0.134365 7
0.004391 212
0.000351 118
0.014542 127
0.529978 11
0.142698 18
0.185785 25
0.256021 52
0.207590 30
0.091676 30
0.146838 90
1.213118 16
0.575189 16
0.199656 15
0.113433 1
0.488095 1
0.219391 11
0.194966 18
0.364056 26
0.502326 11
0.110752 18
0.064941 18
0.362042 18
0.323892 18
0.246032 18
0.109084 18
0.081228 18
0.452151 18
0.342115 18
0.201466 18
0.202042 18
0.181149 18
0.363379 127
0.236370 11
0.468788 7
0.009651 8
0.000187 1
0.000052 2
0.026094 94
0.065945 1
0.000285 94
0.000143 2
0.000125 76
0.000124 2
0.000178 69
0.679752 1
0.150140 1
0.127797 1
0.249977 2
0.064804 112
0.101414 114
0.091995 1
0.000312 46
2.880444 2
0.127880 186
0.000903 201
0.000773 84
0.000055 34
0.018728 127
0.919609 7
0.004230 212
0.000223 118
0.019669 127
0.288701 7
0.003938 11
0.000067 201
0.000213 118
0.018086 127
5.860091 19
0.101673 30
0.091444 41
0.145069 30
0.101497 30
0.221329 66
0.000062 3
0.000052 249
0.362691 1
0.515430 1
0.142838 1
0.159196 1
0.134049 1
0.619469 1
0.085235 1
0.111131 1
0.118602 1
0.098644 1
0.145748 1
0.196551 1
0.103273 43
0.199348 1
0.163249 10
0.110490 16
0.169143 15
0.121343 1
0.201772 1
0.210815 1
0.242863 43
0.199045 1
0.217806 11
0.189772 18
0.321489 26
0.447625 11
0.105560 18
0.055433 18
0.346500 18
0.272657 18
0.360017 18
0.124789 18
0.083390 18
0.327960 18
0.278888 11
0.366256 18
0.280402 18
0.101076 18
0.079697 18
0.212930 18
0.280926 18
0.226964 18
0.072112 18
0.147986 18
0.246825 54
0.255858 11
0.910853 7
0.014295 14
0.061107 125
1.195912 2
0.000158 177
0.000044 2
0.308749 181
0.002017 31
3.630588 2
0.000181 177
0.000064 2
0.000223 34
0.000074 2
0.082545 181
3.391901 181
0.000036 31
0.823947 181
0.000576 29
0.000015 2
21.907814 181
0.000254 36
0.508105 181
0.000598 36
1.393850 181
0.000305 36
1.573222 2
0.000102 177
0.000043 2
0.000141 29
0.000123 2
0.510987 181
0.000247 31
1.019398 181
0.000594 86
0.751876 181
0.000294 31
0.559115 2
0.000293 177
0.000165 2
0.000527 36
1.267358 181
0.000248 36
3.487557 181
0.000298 36
1.077741 181
0.000279 31
0.645395 2
0.000243 177
0.000218 2
0.000469 34
0.000159 2
1.313796 181
0.000234 31
0.033581 181
1.259080 2
0.000157 177
0.000044 2
0.000197 29
0.000051 2
0.789364 181
0.000269 31
1.156978 2
0.000248 177
0.000187 2
0.000473 29
0.000159 2
0.089559 2
0.000247 177
0.000161 2
0.000462 29
0.000155 2
0.516611 181
0.000260 31
0.935215 2
0.000333 177
0.000175 2
0.000576 49
0.000169 2
0.824434 51
1.279941 181
0.000295 31
0.037214 181
1.259040 181
0.000211 31
1.088868 2
0.000270 177
0.000137 2
0.000368 29
0.000128 2
0.884665 181
0.000179 36
1.264190 181
0.000206 31
0.477106 181
0.000317 31
0.965481 181
0.000215 36
1.332083 181
0.000327 31
17.084487 181
0.000376 36
0.890558 2
0.000159 177
0.000087 2
0.000233 34
0.000108 2
0.896434 181
0.000236 36
1.356399 2
0.000109 177
0.000051 2
0.000153 29
0.000048 2
0.934249 181
0.000271 31
0.499026 2
0.000254 177
0.000159 2
0.000487 29
0.000157 2
0.927300 181
0.000278 36
1.555705 212
1.170327 2
0.000222 177
0.000144 2
0.000386 29
0.000179 2
0.647469 2
0.000311 177
0.000171 2
0.000663 68
0.000261 2
0.435340 102
0.443223 102
0.446656 76
0.469859 78
1.541217 181
0.000075 31
0.595254 181
0.000853 75
0.487725 67
0.473340 67
0.491468 67
0.492253 69
0.507188 71
0.479780 67
0.492882 58
0.473361 57
0.534529 66
0.473023 68
0.474081 64
0.472990 63
0.484377 63
0.479925 65
0.513285 61
0.493414 65
1.123607 2
0.000091 177
0.000054 2
0.000348 34
0.000072 2
1.447245 181
0.000235 31
4.361619 181
0.000268 36
0.510505 181
0.000269 31
0.905810 181
0.000277 36
1.527563 181
0.000147 31
0.481346 2
0.000291 177
0.000204 2
0.000454 31
0.993230 181
0.000279 36
4.005527 181
0.000288 36
0.523098 2
0.000270 177
0.000163 2
0.000650 34
0.000168 2
0.922263 181
0.000299 36
0.503919 181
0.000274 31
0.885353 2
0.000250 177
0.000149 2
0.000522 34
0.000196 2
1.479808 181
0.000149 31
0.081741 212
0.762252 2
0.000083 177
0.000036 2
0.000849 615
0.000203 2
0.484007 162
0.466714 164
0.562143 169
0.603239 169
0.554738 175
0.672556 181
0.000273 31
1.649920 181
0.000353 162
0.452313 164
0.472719 164
0.452428 164
0.454590 170
0.972501 2
0.000368 177
0.000175 2
0.000743 615
0.000259 2
0.611040 2
0.000255 177
0.000239 2
0.000657 610
0.000187 2
0.463780 162
0.453389 164
0.472103 164
0.456237 164
0.454030 170
0.649248 212
0.939301 181
0.000190 36
1.521719 2
0.000141 177
0.000062 2
0.000282 29
0.000074 2
0.294161 181
0.000302 44
0.056674 181
0.000290 31
0.110658 59
2.582456 2
0.000166 177
0.000090 2
0.000299 34
0.000093 2
0.069320 59
0.847794 181
0.000279 85
0.002818 188
0.485091 181
0.000262 31
0.080149 59
1.196363 181
0.000385 98
0.003330 219
0.498577 2
0.000317 177
0.000247 2
0.001119 29
0.000227 2
0.072576 59
0.653533 181
0.000262 112
0.069747 59
0.541024 2
0.000256 177
0.000181 2
0.000512 107
0.000170 2
0.081737 59
0.098609 57
0.000256 2
0.117284 57
0.000400 2
0.126230 59
0.751240 181
0.000847 198
0.082668 59
0.113632 59
0.129142 59
0.138854 57
0.000168 2
0.110893 59
0.100545 59
0.085324 59
0.090308 59
0.519032 181
0.000263 31
0.915419 181
0.000163 36
1.519608 181
0.000156 31
0.031849 181
0.000046 163
0.000044 2
0.000205 729
0.000037 81
0.135359 319
0.011566 127
4.058962 7
0.004504 11
0.000097 201
0.000386 118
0.017630 127
0.446419 11
0.148444 18
0.184921 25
0.305094 1
1.045294 11
0.192868 18
0.411917 26
0.423811 11
0.120176 18
0.062286 18
0.361095 18
0.340608 18
0.142992 18
0.244912 18
0.517706 20
0.154313 20
0.158006 20
0.694648 18
0.141318 18
0.169445 18
0.064276 18
0.335283 18
0.340322 18
0.242028 18
0.155433 18
0.457042 18
0.883452 127
0.270927 11
0.312959 7
0.010693 11
0.376479 387
0.023323 53
0.578785 2
0.000315 9
0.000418 53
0.179943 11
0.000302 8
0.000312 45
0.816349 1
0.081445 1
0.310025 11
0.005059 67
0.000494 8
0.000319 45
1.003935 11
0.000361 8
0.000219 45
0.167290 11
0.000326 53
0.423908 1
0.107809 1
0.141872 1
0.078214 1
0.140683 1
0.220512 4
0.445391 1
0.085692 1
0.305227 1
0.556807 2
0.000408 9
0.003866 26
0.000370 53
1.641117 64
0.161428 11
0.000405 53
0.239554 1
0.114039 1
0.165997 1
0.254125 1
0.121045 1
0.077676 1
1.774332 11
0.005873 51
0.000152 2
0.001893 201
0.000721 84
0.000083 34
0.017231 127
0.556551 7
0.004337 11
0.000090 201
0.000290 118
0.017070 127
0.391506 19
0.108078 30
0.345611 41
0.138697 30
0.156850 30
0.121447 30
0.251657 89
0.389620 7
0.000225 7
0.003866 11
0.000603 201
0.000213 104
0.020645 113
0.378861 7
0.004452 212
0.000430 104
0.024249 113
0.116586 7
0.004482 11
0.000230 201
0.000165 104
0.020644 113
0.138711 19
0.229607 22
0.152106 41
0.069215 44
0.345720 7
0.006671 11