Secrets & Variables

Der Endpunkt /secret-data verlangt einen API-Key. Diesen dürfen wir nicht in den Code schreiben, er kommt aus einem GitHub Secret.


Aufgabe 1: Secret, Variable und Workflow anpassen

Ziel: Sensible (Secret) und nicht-sensible (Variable) Konfiguration sauber getrennt von außen in die Pipeline einbinden.

Beschreibung:

  1. Gehe zu Settings → Secrets and variables → Actions.
  2. Lege im Reiter Secrets ein neues Repository-Secret an: Name API_KEY, Wert workshop-secret-123.
  3. Lege im Reiter Variables eine neue Repository-Variable an: Name API_ENV_NAME, Wert staging.
  4. Ergänze in .github/workflows/ci.yml im Job api-tests den env: Block, der beide Werte bereitstellt.
  5. Passe den Newman-Step so an, dass der Key zusätzlich an Newman übergeben wird (ersetzt den Newman-Step aus Block 2).

Bewirkt:

Stellt beide Werte als Umgebungsvariablen für den gesamten Job bereit, auch für den Server-Prozess, der API_KEY/API_ENV_NAME beim Start liest.

Übergibt den Key zusätzlich an Newman als eigene Postman-Variable apiKey. Dadurch sendet der /secret-data-Test einen gültigen Key mit und bekommt 200.


Der Sinn der Aufgabe:

Sensible Daten (Passwörter, API-Keys) dürfen niemals im Code oder Repository landen, das ist eine der wichtigsten Grundregeln professioneller Softwareentwicklung. Diese Aufgabe zeigt praktisch, wie man Secrets sicher von außen einbindet, statt sie hart zu codieren.