%
% Chapter: Grundlagen
%

\chapter{Grundlagen}
\section{Die Arbeitsumgebung}
Die Arbeitsumgebung des Partnerunternehmens besteht für diese Themenstellug nennenswert aus:
\begin{itemize}
    \item Cloudbasierten Web- und Datenbankservern
    \item Git-Repositories bei Bitbucket
    \item Der lokalen, Docker-basierten Arbeitsumgebung
    \item Ein Ansible-Playbook, das ein Projekt mit Daten aus der Cloudumgebung und Code aus Bitbucket in der lokalen Entwicklungsumgebung bereitstellt.
\end{itemize}

\begin{nicepic}
    \includegraphics[width=0.5\textwidth]{images/dev-env.png}
    \captionof{figure}{Relationsdiagramm: Bereitstellen von Projekten des Partnerunternehmens in einer Entwicklungsumgebung}
    \caption*{Quelle: Eigene Darstellung}
    \label{fig:relationsdiagramm-devenv}
\end{nicepic}

Die lokalen Arbeitsumgebungen der Entwickler*innen liegen großteils außerhalb des Firmennetzwerkes, da diese Entwickler*innen
oft oder ausschließlich im mobilen- bzw, Homeoffice arbeiten. Ein Firmen-VPN-Netz existiert nicht und ist auch nicht erwünscht.

\section{1Password}
\ac{1P} ist der vom Partnerunternehmen verwendete Passwort-Manager.
Bereits vor Beginn der Bearbeitung dieser Themenstellung wurde deutlich gemacht, dass es
Ziel ist, \ac{1P} auch für das Verwalten von Secrets in Ansible zu verwenden.

\section{Ansible}
Ansible ist ein Automatisierungswerkzeug von Red Hat, Inc. und hat das Ziel, einen definierten Zustand
im behandelten System herzustellen. \cite{bib:ansible}
Ein Administrator definiert also nicht die erforderlichen Schritte,
um einen Zustand $z$ zu erreichen, sondern lediglich $z$ selbst. 
Ansible kann über speziell gefertigte Python-Module um Schnittstellen erweitert werden.
