Skip to content

KC-1368: Add gchat-app-setup for Google Chat integration - #2267

Merged
sk-keeper merged 1 commit into
releasefrom
gchat-integration
Aug 6, 2026
Merged

KC-1368: Add gchat-app-setup for Google Chat integration#2267
sk-keeper merged 1 commit into
releasefrom
gchat-integration

Conversation

@sshrushanth-ks

Copy link
Copy Markdown
Contributor

Summary

Added a Commander setup command for Google Chat Service Mode, parallel to slack-app-setup / teams-app-setup. It provisions Docker/KSM resources, collects Google Chat and Pub/Sub credentials, stores them on a vault config record, and generates docker-compose.yml for commander-gchat + gchat-app.

Changes

  • Added gchat-app-setup command with Phase 1 Docker/KSM setup and Phase 2 Google Chat credential collection
  • Added GChatConfig and vault field contract: google_service_account_json, google_project_id, google_topic_id, google_subscription_id, chat_approvals_space_id, and slash-command IDs for record/folder/one-time-share
  • Validated service-account JSON from a file path only (required SA keys + type=service_account); rejected unreliable inline JSON paste
  • Normalized Pub/Sub topic/subscription short IDs and full resource paths; required chat space IDs to start with spaces/
  • Supported optional EPM and SSO Cloud device-approval flags on the vault record (same pattern as Slack/Teams)
  • Generated docker-compose.yml with keeper/gchat-app:latest and GCHAT_RECORD / COMMANDER_RECORD / KSM_CONFIG env wiring
  • Added get_integration_display_name so UI text shows “Google Chat” while docker/env naming stays gchat
  • Registered gchat-app-setup in start_service.py and command_categories.py; documented setup and field contract in service README.md
  • Added unit tests in test_gchat_app_setup.py for naming, SA/file validation, Pub/Sub normalization, space IDs, and record field labels

* Add gchat-app-setup for Google Chat Service Mode integration.

Collect and store Google Chat/Pub/Sub credentials in a vault record and generate docker-compose, matching the Slack/Teams setup flow.

* Require a file path for Google Chat service account JSON.

Drop unreliable inline JSON paste at the gchat-app-setup prompt; service account keys are too large for single-line terminal input.

* updated to latest annotations

* addressed review comments

* Validate GChat project ID against Pub/Sub paths and the service account.

Reject full resource names whose project differs from GOOGLE_PROJECT_ID, require confirmation when the project override disagrees with the SA JSON, and drop unused _is_valid_subscription_id.
@sshrushanth-ks sshrushanth-ks self-assigned this Aug 6, 2026
@sshrushanth-ks
sshrushanth-ks marked this pull request as ready for review August 6, 2026 12:09
@sk-keeper
sk-keeper merged commit a4bed5e into release Aug 6, 2026
4 checks passed
@sk-keeper
sk-keeper deleted the gchat-integration branch August 6, 2026 14:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants