Automatische Installationen mit Ansible

setup venv

python -m venv .venv
source .venv/bin/activate

install Ansible

pip install ansible

wir basteln und eine inventory- Datei

inventory.yaml
all:
  hosts:
    docker_test: 192.168.56.103

Dann brauchen wir unseren public SSH key:

erstmal checken, das wir nicht schon einen haben

ls -l ~/.ssh

dann erzeugen

ssh-keygen -b 4096

und an den anderen Rechner übertragen- auch hier wieder Vorsicht, dass man dort nicht bestehende Keys überschreibt:

scp /home/steffen/.ssh/id_rsa.pub dockerapps@192.168.56.103:/home/dockerapps/.ssh/authorized_keys

speichern des github- Tokens:

export EDITOR=nano
ansible-vault create secrets.yml
gituser: stko
gitpass: <yourgittoken>

Git credentials als Parameter einbauen

Wenn das Playbook Daten aus privaten Repositories ziehen soll, wird's tricky 1):

   repo: "https://git:{{ githubpassword | urlencode | replace ('/', '%2f') }}@git.s26314....
   

und übergibt den Parameter dann beim Start von ansible-playbook

  ansible-playbook -i hosts github.yml -e "githubpassword=<TOKEN>"