Nutzung

Unter dem Repository von Ponte ist das README der Seite zu sehen an der die Nutzung auch nochmals in Kürze beschrieben wird.

Die Nutzung von Ponte sollte wenn es als modul installiert wird, sich wie jede andere Applikation verhalten. Momentan ist dieses Feature jedoch noch nicht implementiert, da noch einige puzzleteile für eine richtige cli Applikation fehlen.Die Nutzung würde sich dann bei richtiger Implementierung in etwa so anfühlen.

ponte --gh-app-id <app-id> \
      --azure-client-id <client-id> \
      --azure-tenant-id <tenant-id> \
      --azure-client-secret <client-secret>

Mit Docker

Die momentane Nutzung von Ponte schliesst sich ausschliesslich auf den Webserver und den zu starten. Dieser erwartet ebenfalls identisch und kann auch die variabeln als Umgebungsvariabeln einlesen.

docker run --rm ghcr.io/migueltinembart/ponte \ 
    --gh-app-id <app-id> \
    --azure-client-id <client-id> \
    --azure-tenant-id <tenant-id> \
    --azure-client-secret <client-secret>

Dabei werden die Argumente dem Container direkt übergeben. Ausserdem unterstützt der Container das übergeben der Identitätsinformationen mit einer managed identity dank Azure SDK Integration. Potenziell wäre es also möglich auf Azure VMs oder in Container Apps die managed identity zu übernehmen und sich damit direkt als diese Auszugeben. Somit wären nur noch die Github Daten zu übergeben und es entfallen credentialübergaben, was die Sicherheit der Ausführung erhöht.

Mit Umgebungsvariabeln

Als Alternative die Version mit Umgebungsvariabeln:

docker run --rm \
  -e GH_APP_ID=<app-id> \
  -e GH_CLIENT_SECRET=<app-id> \
  -e AZURE_CLIENT_ID=<client-id> \
  -e AZURE_TENANT_ID=<tenant-id> \
  -e AZURE_CLIENT_SECRET=<client-secret> \
  ghcr-io/migueltinembart/ponte

Eine Auflistung aller übergebbaren Umgebungsvariabeln sind unten abgebildet:

Variable nameValue
AZURE_CLIENT_IDID of a Microsoft Entra application
AZURE_TENANT_IDID of the application’s Microsoft Entra tenant
AZURE_CLIENT_SECRETone of the application’s client secrets
REDIS_DSNSupply the connectionstring to your redis instance
GH_APP_IDThe Application ID of your Github App
GH_CLIENT_SECRETThe Client secret of you gh app
GH_WEBHOOK_SECRET(optional) supply a webhook secret
BASE_URL(optional) Supply the base url for the app

Maintenance

Logs werden wie üblich direkt in die Konsole geloggt. Es wurde so viel wie möglich mit Loguri gearbeitet um auch während der Laufphase des Applikation einzusehen. Der Loglevel kann konventionell über die Umgebungsvariable LOG_LEVEL angepasst werden. Momentan sind nicht alle Log Levels vollkommen eingefangen und Debug bietet momentan minimale Messages. Dies könnte in der Nachzeit angepasst werden.