Vorgegebene Programmiersprache für den Webservice.
-**GitLab CI/CD**:
Das Hochschul-GitLab bietet die Infrastruktur für die CI/CD-Pipeline, inklusive Container-Registry und Quellcode-Verwaltung.
-**Podman**:
Container-Runtime zur Verwaltung, ähnlich wie Docker, jedoch auch ohne Administratorrechte benutzbar.
-**Kubernetes**:
Plattform für Cluster- und Pod-Management, Schnittstelle zur Google Cloud sowie zahlreiche Dienste wie Redis und integrierte Dashboards zur Überwachung der Systeme.
-**OpenTofu**:
Management-Tool für deklarative Infrastrukturverwaltung, ermöglicht idempotenten Aufbau der Zielstruktur.
## Umgebungen
...
...
@@ -43,7 +50,7 @@ Die Produktivumgebung des Webservice wird auf der Google Cloud Platform (GCP) ge
Die Konfiguration für den Build des Webservices erfolgt in der GitLab CI/CD-Pipeline. Diese Pipeline unterscheidet die Stages Test, Build und Publish und wird bei Merge-Requests oder Pushes auf die Branches `main`, `dev` oder `prod` aktiviert.
-**Test**: Durchführung von Tests mit dem Docker-Image `golang:1.21`
-**Build**: Erstellung des Webservice-Binaries für `linux_amd64` und Speicherung der Artefakte in der Package Registry
-**Build**: Erstellung des Webservice-Binaries für `linux_amd64` und Speicherung der Artefakte in der Container Registry
-**Publish**: Veröffentlichung des Docker-Images in der Container Registry mit Versionierung auf der Basis der Pipeline-ID
## Lifecycle
...
...
@@ -56,5 +63,5 @@ Die Konfiguration für den Build des Webservices erfolgt in der GitLab CI/CD-Pip
## Weitere Konfigurationen
-**Monitoring**: Die Anwendung wird mithilfe von GCP-Monitoring überwacht.
-**Sicherheit**: TLS-Terminierung erfolgt durch ein selbstsigniertes Zertifikat in der Entwicklungsumgebung.
-**DNS**: In der Entwicklungsumgebung wird die DNS-Auflösung in der `/etc/hosts`-Datei konfiguriert; es wird überprüft, ob die Seite über einen Alias per HTTPS verfügbar ist.
-**TLS**: Wird wie DNS nur in der Entwicklungsumgebung konfiguriert. Erfolgt durch ein selbstsigniertes Zertifikat. Die Kommunikation erfolgt über Nginx, das auf Port 8443 konfiguriert ist.
-**DNS**: In der `/etc/hosts`-Datei konfiguriert; es wird überprüft, ob die Seite über einen Alias per HTTPS verfügbar ist.