Lewati ke konten

gtc setup

Perintah gtc setup mengonfigurasi provider di bundle Greentic Anda. Perintah ini menjalankan flow setup untuk setiap provider yang diaktifkan, mengumpulkan kredensial, dan mengonfigurasi webhook.

Terminal window
gtc setup [OPTIONS] <BUNDLE_PATH>
OpsiDeskripsi
--answers <FILE>Path ke file jawaban (non-interaktif)
--dry-runPratinjau setup tanpa melakukan perubahan
--emit-answers <FILE>Hasilkan template jawaban
--advancedSertakan field opsional di template jawaban
--provider <NAME>Setup hanya provider tertentu
--skip <NAME>Lewati provider tertentu
-v, --verboseAktifkan output verbose

Jalankan setup secara interaktif untuk diminta input bagi setiap provider:

Terminal window
gtc setup ./my-bundle

CLI akan meminta:

  • Kredensial provider (API key, token)
  • URL publik untuk webhook
  • Opsi konfigurasi opsional

Pertama, hasilkan template dengan semua field yang diperlukan:

Terminal window
# 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 window
gtc setup --answers answers.json ./my-bundle
{
"messaging-telegram": {
"enabled": true,
"public_base_url": "https://your-domain.com",
"bot_token": "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"
}
}

Cara mendapatkan kredensial:

  1. Kirim pesan ke @BotFather di Telegram
  2. Kirim /newbot dan ikuti petunjuknya
  3. Salin 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"
}
}

Cara mendapatkan kredensial:

  1. Buka api.slack.com/apps
  2. Buat app baru atau pilih yang sudah ada
  3. Ambil Bot Token dari OAuth & Permissions
  4. Ambil App ID dari Basic Information
  5. Ambil Configuration Token dari 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 window
# 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 window
# Cloudflared generates URL automatically with gtc start
gtc start ./my-bundle --cloudflared on

Saat Anda menjalankan gtc setup, perintah ini:

  1. Memuat konfigurasi bundle

    Membaca greentic.demo.yaml untuk menemukan provider.

  2. Memvalidasi jawaban

    Memeriksa bahwa semua field wajib tersedia.

  3. Menjalankan flow setup

    Mengeksekusi setup_flow setiap provider (misalnya, registrasi webhook).

  4. Menyimpan kredensial

    Menyimpan kredensial ke secrets store yang dikonfigurasi.

  5. Menjalankan verifikasi

    Mengeksekusi verify_flow untuk memastikan setup berhasil.

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

Periksa bahwa bot token Anda benar dan belum kedaluwarsa.

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

Pastikan semua field wajib ada di file jawaban Anda.

Error: Webhook verification failed: Connection refused

Pastikan URL publik Anda dapat diakses dari internet. Periksa bahwa ngrok/cloudflared sedang berjalan.

Error: Secret 'slack_bot_token' not found

Jalankan gtc setup untuk mengonfigurasi provider, atau periksa file jawaban Anda.

  1. Gunakan file jawaban di CI/CD - Hindari prompt interaktif di pipeline otomatis
  2. Jaga kredensial tetap aman - Jangan commit file jawaban dengan token nyata ke git
  3. Gunakan variabel lingkungan - Referensikan secret via $ENV_VAR di jawaban
  4. Uji dengan dry-run - Pratinjau setup sebelum melakukan perubahan
  5. Generate ulang saat URL berubah - Jalankan ulang setup saat URL publik Anda berubah