# GitHub: Zugangsdaten

Unter Anbindungen, Kategorie Git, verbindest du ein GitHub-Konto per OAuth oder Personal Access Token, damit MainPath Repositories in deinem Account anlegen oder bestehende importieren und dort die Pipelines betreiben kann.

> Source: https://www.mainpath.ai/de/docs/github-credentials/

**GitHub** liegt unter **Anbindungen** in der Kategorie **Git**. Empfohlen ist **Mit GitHub verbinden** (OAuth). Steht OAuth nicht zur Verfügung, hinterlegst du einen **Personal Access Token**.

Beim Anlegen oder Bearbeiten eines Projekts wählst du ganz unten unter **Repositories** das Git-Hosting: **Automatisch generiert (empfohlen)** legt die Repositories in der GitLab-Instanz von MainPath an. **GitHub** nutzt das hier verbundene Konto.

## OAuth

1. Öffne **Anbindungen → GitHub → Mit GitHub verbinden**.
2. Melde dich bei GitHub an und erteile von MainPath Zugriff auf Repositories, Workflows und Organisationen.
3. Nach dem Callback steht der Zugang in der Projektauswahl.

OAuth braucht eine GitHub-OAuth-App von MainPath (`GITHUB_OAUTH_CLIENT_ID` / `GITHUB_OAUTH_CLIENT_SECRET` im Backend). Fehlt sie, bleibt nur der Token-Weg.

## Personal Access Token

1. Erzeuge in GitHub unter **Settings → Developer settings → Personal access tokens** einen Token (classic oder fine-grained) mit Rechten für Repositories, Workflows und Packages.
2. Öffne **Anbindungen → GitHub → API-Token hinzufügen**.
3. Trage **Name**, **Slug**, den Token und optional die **GitHub-URL** ein (Standard `https://github.com`; GitHub Enterprise abweichend).

MainPath prüft den Token gegen die GitHub-API. Bei GitHub Enterprise bleibt die Basis-URL die deiner Instanz.

## Im Projekt nutzen

1. Beim Projekt ganz unten **GitHub** wählen und diesen Zugang plus Organisation oder Benutzer-Namespace angeben.
2. Pro Komponente kannst du ein bestehendes Repository importieren oder eines anlegen lassen.
3. MainPath schreibt `.github/workflows/ci.yml`, das die öffentlichen Workflows aus `doppelt-digital/app-project-github-actions` einbindet. GitHub-hosted Runner (`ubuntu-24.04`, `macos-15`) installieren Toolchain-Versionen per ASDF.

GitOps liegt ebenfalls in demselben GitHub-Namespace (`gitops`).

