gtc setup
Gambaran Umum
Section titled “Gambaran Umum”Perintah gtc setup mengonfigurasi provider di bundle Greentic Anda. Perintah ini menjalankan flow setup untuk setiap provider yang diaktifkan, mengumpulkan kredensial, dan mengonfigurasi webhook.
Penggunaan
Section titled “Penggunaan”gtc setup [OPTIONS] <BUNDLE_PATH>| Opsi | Deskripsi |
|---|---|
--answers <FILE> | Path ke file jawaban (non-interaktif) |
--dry-run | Pratinjau setup tanpa melakukan perubahan |
--emit-answers <FILE> | Hasilkan template jawaban |
--advanced | Sertakan field opsional di template jawaban |
--provider <NAME> | Setup hanya provider tertentu |
--skip <NAME> | Lewati provider tertentu |
-v, --verbose | Aktifkan output verbose |
Setup Interaktif
Section titled “Setup Interaktif”Jalankan setup secara interaktif untuk diminta input bagi setiap provider:
gtc setup ./my-bundleCLI akan meminta:
- Kredensial provider (API key, token)
- URL publik untuk webhook
- Opsi konfigurasi opsional
Setup Non-Interaktif
Section titled “Setup Non-Interaktif”Hasilkan Template Jawaban
Section titled “Hasilkan Template Jawaban”Pertama, hasilkan template dengan semua field yang diperlukan:
# 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-bundleFormat File Jawaban
Section titled “Format File Jawaban”{ "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 }}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: falseTerapkan Jawaban
Section titled “Terapkan Jawaban”gtc setup --answers answers.json ./my-bundleKonfigurasi Spesifik Provider
Section titled “Konfigurasi Spesifik Provider”Telegram
Section titled “Telegram”{ "messaging-telegram": { "enabled": true, "public_base_url": "https://your-domain.com", "bot_token": "123456789:ABCdefGHIjklMNOpqrsTUVwxyz" }}Cara mendapatkan kredensial:
- Kirim pesan ke @BotFather di Telegram
- Kirim
/newbotdan ikuti petunjuknya - 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:
- Buka api.slack.com/apps
- Buat app baru atau pilih yang sudah ada
- Ambil Bot Token dari OAuth & Permissions
- Ambil App ID dari Basic Information
- Ambil Configuration Token dari App Manifest
Microsoft Teams
Section titled “Microsoft Teams”{ "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" }}WhatsApp (via Meta)
Section titled “WhatsApp (via Meta)”{ "messaging-whatsapp": { "enabled": true, "public_base_url": "https://your-domain.com", "phone_number_id": "123456789", "access_token": "EAAxxxxx", "verify_token": "your-verify-token" }}Konfigurasi URL Publik
Section titled “Konfigurasi URL Publik”Menggunakan ngrok
Section titled “Menggunakan ngrok”# Start ngrok in separate terminalngrok http 8080
# Copy the HTTPS URL (e.g., https://abc123.ngrok-free.app)# Use this as public_base_url in answersMenggunakan Cloudflared
Section titled “Menggunakan Cloudflared”# Cloudflared generates URL automatically with gtc startgtc start ./my-bundle --cloudflared onEksekusi Flow Setup
Section titled “Eksekusi Flow Setup”Saat Anda menjalankan gtc setup, perintah ini:
-
Memuat konfigurasi bundle
Membaca
greentic.demo.yamluntuk menemukan provider. -
Memvalidasi jawaban
Memeriksa bahwa semua field wajib tersedia.
-
Menjalankan flow setup
Mengeksekusi
setup_flowsetiap provider (misalnya, registrasi webhook). -
Menyimpan kredensial
Menyimpan kredensial ke secrets store yang dikonfigurasi.
-
Menjalankan verifikasi
Mengeksekusi
verify_flowuntuk memastikan setup berhasil.
Setup Selektif
Section titled “Setup Selektif”Setup Satu Provider
Section titled “Setup Satu Provider”gtc setup --provider messaging-telegram ./my-bundleLewati Provider Tertentu
Section titled “Lewati Provider Tertentu”gtc setup --skip messaging-teams ./my-bundleJalankan Ulang Setup
Section titled “Jalankan Ulang Setup”# Force re-setup (useful after URL changes)gtc start ./my-bundle --force-setupPemecahan Masalah
Section titled “Pemecahan Masalah”Registrasi Webhook Gagal
Section titled “Registrasi Webhook Gagal”Error: Failed to register webhook: 401 UnauthorizedPeriksa bahwa bot token Anda benar dan belum kedaluwarsa.
Field Wajib Hilang
Section titled “Field Wajib Hilang”Error: Missing required field 'bot_token' for messaging-telegramPastikan semua field wajib ada di file jawaban Anda.
URL Publik Tidak Dapat Diakses
Section titled “URL Publik Tidak Dapat Diakses”Error: Webhook verification failed: Connection refusedPastikan URL publik Anda dapat diakses dari internet. Periksa bahwa ngrok/cloudflared sedang berjalan.
Kredensial Tidak Ditemukan
Section titled “Kredensial Tidak Ditemukan”Error: Secret 'slack_bot_token' not foundJalankan gtc setup untuk mengonfigurasi provider, atau periksa file jawaban Anda.
Praktik Terbaik
Section titled “Praktik Terbaik”- Gunakan file jawaban di CI/CD - Hindari prompt interaktif di pipeline otomatis
- Jaga kredensial tetap aman - Jangan commit file jawaban dengan token nyata ke git
- Gunakan variabel lingkungan - Referensikan secret via
$ENV_VARdi jawaban - Uji dengan dry-run - Pratinjau setup sebelum melakukan perubahan
- Generate ulang saat URL berubah - Jalankan ulang setup saat URL publik Anda berubah
Langkah Berikutnya
Section titled “Langkah Berikutnya”- gtc start - Jalankan server runtime
- Setup Telegram - Panduan Telegram terperinci
- Setup Slack - Panduan Slack terperinci