ansible | ||
keys | ||
.gitignore | ||
instances.tf | ||
main.tf | ||
networking.tf | ||
output.tf | ||
README.md | ||
variables.tf |
Architecture Ref. Card 03
Für das Projekt kann ein eigenes Schlüsselpaar verwendet werden. Der Name des öffentlichen Schlüssels ist per default auf "ansible.pub" gesetzt - kann aber in der variables.tf angepasst werden. Der private Schlüssel könnte auch irgendwo anders liegen - in der variables.tf anpassen!
Terraform installiert eine RDS-Instanz (mariadb) und eine EC2-Instanz. Auf der EC2-Instanz wird zusätzlich ein mariadb-Server via Ansible installiert, da die Applikation die Datenbank-URL hart kodiert hat...
Ansible wird direkt durch Terraform gestartet. Man könnte das auch separat machen und die Ausgabe von "tofu output" oder "terraform output" direkt weiter verwursten.
- Erzeugen eines Schlüsselpaares
ssh-keygen -f keys/ansible -P ''
- tofu oder terraform init
- tofu oder terraform plan -out="name des jobs z.B. jokesdb"
- tofu oder terraform apply "name des jobs z.B. jokesdb"
- have fun
Was man noch so alles machen könnte:
- Portumleitung ingress 80 -> localhost 8080 oder besser
- Reverse-Proxy (z.B. nginx) und stattdessen ingress 80 -> ingress 443 und ingress 443 nach localhost 8080.
- Zertifikat mit LetsEncrypt drauf packen
- Applikation direkt auf dem Server kompilieren
- Applikation patchen, dass sie auch DDB_URI unterstützt...