Zum Inhalt springen

gtc setup

Der Befehl gtc setup konfiguriert Provider in deinem Greentic-Bundle. Er führt für jeden aktivierten Provider Setup-Flows aus, sammelt Zugangsdaten und konfiguriert Webhooks.

Terminal-Fenster
gtc setup [OPTIONS] <BUNDLE_PATH>
OptionBeschreibung
--answers <FILE>Pfad zur Answer-Datei (nicht interaktiv)
--dry-runSetup in der Vorschau anzeigen, ohne Änderungen vorzunehmen
--emit-answers <FILE>Answer-Vorlage erzeugen
--advancedOptionale Felder in die Answer-Vorlage aufnehmen
--provider <NAME>Nur einen bestimmten Provider einrichten
--skip <NAME>Bestimmten Provider überspringen
-v, --verboseAusführliche Ausgabe aktivieren

Führe das Setup interaktiv aus, um für jeden Provider abgefragt zu werden:

Terminal-Fenster
gtc setup ./my-bundle

Die CLI fragt nach:

  • Provider-Zugangsdaten (API keys, tokens)
  • Öffentliche URL für Webhooks
  • Optionalen Konfigurationsoptionen

Erzeuge zuerst eine Vorlage mit allen erforderlichen Feldern:

Terminal-Fenster
# Basic template (required fields only)
gtc setup --dry-run --emit-answers answers.json ./my-bundle
# Full template (including optional fields)
gtc setup --dry-run --emit-answers answers.json --advanced ./my-bundle
answers.json
{
"messaging-telegram": {
"enabled": true,
"public_base_url": "https://xxx.ngrok-free.app",
"bot_token": "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"
},
"messaging-slack": {
"enabled": true,
"public_base_url": "https://xxx.ngrok-free.app",
"api_base_url": "https://slack.com/api",
"bot_token": "xoxb-xxx-xxx-xxx",
"slack_app_id": "A07XXXXXX",
"slack_configuration_token": "xoxe.xoxp-xxx"
},
"messaging-teams": {
"enabled": false
}
}
Terminal-Fenster
gtc setup --answers answers.json ./my-bundle
{
"messaging-telegram": {
"enabled": true,
"public_base_url": "https://your-domain.com",
"bot_token": "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"
}
}

So erhältst du die Zugangsdaten:

  1. Schreibe @BotFather auf Telegram
  2. Sende /newbot und folge den Anweisungen
  3. Kopiere den Bot-Token
{
"messaging-slack": {
"enabled": true,
"public_base_url": "https://your-domain.com",
"bot_token": "xoxb-xxx-xxx-xxx",
"slack_app_id": "A07XXXXXX",
"slack_configuration_token": "xoxe.xoxp-xxx"
}
}

So erhältst du die Zugangsdaten:

  1. Gehe zu api.slack.com/apps
  2. Erstelle eine neue App oder wähle eine vorhandene
  3. Hole den Bot Token aus OAuth & Permissions
  4. Hole die App ID aus Basic Information
  5. Hole den Configuration Token aus App Manifest
{
"messaging-teams": {
"enabled": true,
"public_base_url": "https://your-domain.com",
"app_id": "your-app-id",
"app_password": "your-app-password",
"tenant_id": "your-tenant-id"
}
}
{
"messaging-whatsapp": {
"enabled": true,
"public_base_url": "https://your-domain.com",
"phone_number_id": "123456789",
"access_token": "EAAxxxxx",
"verify_token": "your-verify-token"
}
}
Terminal-Fenster
# Start ngrok in separate terminal
ngrok http 8080
# Copy the HTTPS URL (e.g., https://abc123.ngrok-free.app)
# Use this as public_base_url in answers
Terminal-Fenster
# Cloudflared generates URL automatically with gtc start
gtc start ./my-bundle --cloudflared on

Wenn du gtc setup ausführst, passiert Folgendes:

  1. Bundle-Konfiguration laden

    Liest greentic.demo.yaml, um Provider zu finden.

  2. Answers validieren

    Prüft, ob alle erforderlichen Felder vorhanden sind.

  3. Setup-Flows ausführen

    Führt den setup_flow jedes Providers aus (z. B. Webhook-Registrierung).

  4. Zugangsdaten speichern

    Speichert Zugangsdaten im konfigurierten Secret-Store.

  5. Verifizierung ausführen

    Führt verify_flow aus, um zu bestätigen, dass das Setup funktioniert hat.

Terminal-Fenster
gtc setup --provider messaging-telegram ./my-bundle
Terminal-Fenster
gtc setup --skip messaging-teams ./my-bundle
Terminal-Fenster
# Force re-setup (useful after URL changes)
gtc start ./my-bundle --force-setup
Error: Failed to register webhook: 401 Unauthorized

Prüfe, ob dein Bot-Token korrekt und nicht abgelaufen ist.

Error: Missing required field 'bot_token' for messaging-telegram

Stelle sicher, dass alle erforderlichen Felder in deiner Answer-Datei enthalten sind.

Error: Webhook verification failed: Connection refused

Stelle sicher, dass deine öffentliche URL aus dem Internet erreichbar ist. Prüfe, ob ngrok/cloudflared läuft.

Error: Secret 'slack_bot_token' not found

Führe gtc setup aus, um den Provider zu konfigurieren, oder prüfe deine Answer-Datei.

  1. Answers-Dateien in CI/CD verwenden - Interaktive Prompts in automatisierten Pipelines vermeiden
  2. Zugangsdaten sicher aufbewahren - Keine Answer-Dateien mit echten Tokens in git committen
  3. Umgebungsvariablen verwenden - Secrets über $ENV_VAR in Answers referenzieren
  4. Mit dry-run testen - Setup vor Änderungen in der Vorschau prüfen
  5. Bei URL-Änderungen neu erzeugen - Setup erneut ausführen, wenn sich die öffentliche URL ändert