Skip to content
Snippets Groups Projects
Commit ed9e58a6 authored by schnarkus's avatar schnarkus
Browse files

update docs

parent 83aa627a
No related branches found
No related tags found
No related merge requests found
Pipeline #68732 passed
Lifecycle.png

56.7 KiB | W: | H:

Lifecycle.png

208 KiB | W: | H:

Lifecycle.png
Lifecycle.png
Lifecycle.png
Lifecycle.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -2,9 +2,16 @@
## Technologiewahl
- **Programmiersprache**: Go
- **Container-Runtime**: Podman
- **CI/CD**: GitLab
- **Go**:
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.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment