Skip to content

Karte 717: MAVEN_NAS_TOKEN und NVD_API_KEY deklarieren (+ temporaere Messsonde) - #62

Merged
daniel-marthaler merged 1 commit into
masterfrom
karte-717-secrets
Aug 12, 2026
Merged

Karte 717: MAVEN_NAS_TOKEN und NVD_API_KEY deklarieren (+ temporaere Messsonde)#62
daniel-marthaler merged 1 commit into
masterfrom
karte-717-secrets

Conversation

@daniel-marthaler

Copy link
Copy Markdown
Collaborator

Vorbereitender Schritt für Karte 717 (abgetrennt aus 313 / A10): In sechs Repos soll secrets: inherit durch explizite Listen ersetzt werden.

Warum das zuerst kommen muss

Die Pipeline verwendet acht Secrets, deklariert aber nur sechs:

deklariert:  TWINGATE_SERVICE_KEY  MVN_DEPLOY_TOKEN  SSH_PRIVATE_KEY
             SONAR_TOKEN  PUSHOVER_APP_TOKEN  PUSHOVER_USER_KEY
verwendet, nicht deklariert:
             MAVEN_NAS_TOKEN   (Z. 779, settings.xml im deploy-Job)
             NVD_API_KEY       (Z. 481, OWASP-Prüfung)

Dass das heute funktioniert, ist selbst der Beleg dafür, dass secrets: inherit mehr durchreicht als diese Liste. Wer in einem aufrufenden Repo auf eine explizite Liste umstellt, ohne die beiden hier zu deklarieren, bricht den Maven-Deploy und die OWASP-Prüfung — und zwar erst zur Laufzeit, nicht beim Lint.

required: false bei beiden, damit kein Repo rot wird, das eines davon nicht besitzt (plaintext-guild hat z. B. kein NVD_API_KEY).

Die temporäre Sonde

Ein grüner Lauf zeigt nicht, welche Secrets er nicht bekommen hat — die Umstellung wäre sonst eine Behauptung. Der Schritt im namespace-lint-Job gibt darum aus, ob ein von der Pipeline nicht benötigtes Secret ankommt:

echo "AUTOBUMP_TOKEN vorhanden=${{ secrets.AUTOBUMP_TOKEN != '' }}"

Erwartung: true mit secrets: inherit, false nach der Umstellung. Ausgegeben wird nur der Vergleich, nie ein Wert (und GitHub maskiert Secretwerte in Logs ohnehin). Die Sonde wird nach der Umstellung aller sechs Repos wieder entfernt — der Aufräum-PR ist Teil der Karte.

Risiko

Rein additiv: zwei required: false-Deklarationen und ein echo. Kein bestehender Aufrufer ändert sein Verhalten, secrets: inherit funktioniert unverändert weiter.

Karte 717 · Board 5

…Messsonde)

Beide werden seit jeher verwendet (settings.xml im deploy-Job bzw. OWASP), waren
aber nie in on.workflow_call.secrets deklariert. Dass das funktioniert, ist selbst
der Beleg dafuer, dass `secrets: inherit` mehr durchreicht als die Deklaration.

Ohne diesen Schritt bricht jede Umstellung eines aufrufenden Repos von
`secrets: inherit` auf eine explizite Liste den Maven-Deploy und die
OWASP-Pruefung -- erst zur Laufzeit, nicht beim Lint.

Dazu eine TEMPORAERE Sonde im namespace-lint-Job, die vorher/nachher misst, ob ein
nicht benoetigtes Secret (AUTOBUMP_TOKEN) im aufgerufenen Workflow ankommt. Sie
gibt nur `!= ''` aus, nie einen Wert, und wird nach der Umstellung entfernt.

Karte 717, abgetrennt aus 313 (A10)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017w61nDB23Z76Ucvv3hf7Dw
@daniel-marthaler
daniel-marthaler merged commit 87f3adf into master Aug 12, 2026
1 check passed
@daniel-marthaler
daniel-marthaler deleted the karte-717-secrets branch August 12, 2026 12:32
daniel-marthaler added a commit that referenced this pull request Aug 12, 2026
Belegt die Gegenrichtung zu AUTOBUMP_TOKEN: dass ein benoetigtes, erst seit #62 deklariertes Secret ueber die explizite Liste ankommt. Am Maven-Deploy nicht messbar (maven.deploy.skip, Cache-Treffer).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant