Bei dem Versuch ein
git push zu machen erfolgt eine Abfrage nach Passwort & User. Der Hash des SSH Keys war aber sauber im Server registriert. Mit dem Befehl
git remote -v habe ich mir erstmal die Quellen angesehen. Der initiale pull wurde scheinbar mit
https ausgeführt, somit wird der ssh key gar nicht angefragt.
git remote -v
origin https://[URL]/[GRUPPE]/[PROJEKT].git (fetch)
origin https://[URL]/[GRUPPE]/[PROJEKT].git (push)
Nachdem ich die Quelle auf ssh konfiguriert habe lief auch alles so wie erwartet.
git remote set-url origin git@[FQDN]:[GRUPPE]/[PROJEKT].git
Ein erneutes Abfragen der Konfiguration
git remote -v
origin git@[FQDN]:[GRUPPE]/[PROJEKT].git (fetch)
origin git@[FQDN]:[GRUPPE]/[PROJEKT].git (push)
Habe gerade einen interessanten Trend zum Thema Ansible gefunden, aber schaut selbst.
Trend für Deutschland einsehen bei Google Trends
Hier ein Beispiel für ein Playbook das ein Update auf einem Debian System ausführt.
- name: Update Repositories and update Distribution to the latest Version
apt:
update_cache: yes
cache_valid_time: 21600
upgrade: dist
dpkg_options: 'force-confold,force-confdef'
register: update_apt
tags: update_apt
Auf einigen Servern werden verschiedene pip packete benötigt. Hier ein kleines Beispiel für paramiko. In diesem Beispiel wird pip auch aktualisiert und die letzte Version von paramiko installiert. Es wird auf dem Hostsystem pip benötigt, unter debian kann das mit
apt install pip-python installiert werden.
- name: install pip and update to newest version
pip:
name: pip
state: latest
register: pip_update
- name: install paramiko
pip:
name: paramiko
state: latest
register: paramiko_install
Wenn NFS frisch installiert wurde werden unsere Systeme neu gestartet.
Das Paket selbst wird mit dieser Funktion installiert:
- name: check default packages
apt:
name: "{{ item }}"
state: latest
with_items: "{{ default_deb_packages }}"
register: apt_install
Hier wird dann register ausgeführt um das Ergebnis später auswerten zu können.
- name: reboot is required if nfs-common installed for the first time
shell: "sleep 5 && systemctl reboot"
async: 1
poll: 0
when: apt_install is changed
- name: wait for reboot
wait_for_connection:
connection_timeout: 20
sleep: 5
delay: 5
timeout: 300
when: apt_install is changed
ist bestimmt nicht die beste Lösung aber sie funktioniert
Um eine Konfiguration für chrony (ntp service) auf unseren Umgebungen zu erstellen, verwenden wir diese ansible Schnipsel.
Es wird in der vorhanden Konfiguration nach dem Eintrag der mit
server 0.debian beginnt gesucht und DAVOR wird ein neuer NTP Server eingetragen. Wenn sich die Konfiguration ändert wird auch der Dienst neu gestartet.
- name: add NTP Server line to chrony.conf
lineinfile:
path: /etc/chrony/chrony.conf
insertbefore: '^server 0.debian'
line: 'server 169.254.169.123 prefer iburst'
state: present
register: chrony_changed
- name: restart chrony
remote_user: admin
become: yes
systemd:
state: restarted
name: chrony
when: chrony_changed is changed