Skip to content

Basic file structure#1

Merged
varun-ahlawat merged 8 commits intomainfrom
Scafolding
Nov 8, 2025
Merged

Basic file structure#1
varun-ahlawat merged 8 commits intomainfrom
Scafolding

Conversation

@pooravrawat1
Copy link
Copy Markdown
Member

@pooravrawat1 pooravrawat1 commented Nov 8, 2025

File structure, code to be added in golang +
Readme update +
Build pipeline +
gitignore

@varun-ahlawat varun-ahlawat merged commit 6adc6de into main Nov 8, 2025
4 checks passed
@pooravrawat1 pooravrawat1 deleted the Scafolding branch November 8, 2025 06:38
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR sets up the initial backend infrastructure for the HeyAI Voice Agent platform, establishing a Go-based service that integrates Twilio, Vertex AI, BigQuery, and Firestore to handle voice calls and provide admin console APIs.

  • Initial Go module configuration with Go 1.21
  • Comprehensive Cloud Build CI/CD pipeline with testing, security scanning, and staged deployments
  • Complete project documentation including GCP setup, local development, and API endpoints
  • Environment configuration templates and git ignore rules

Reviewed Changes

Copilot reviewed 4 out of 18 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
go.mod Defines Go module name and version (1.21) for the project
cloudbuild.yaml Comprehensive CI/CD pipeline with testing, linting, Docker builds, and Cloud Run deployments to staging and production
README.md Complete documentation covering architecture, setup instructions, API endpoints, and deployment procedures
.gitignore Git ignore rules for Go binaries, dependencies, credentials, IDE files, and build artifacts
.env.example Environment variable template with all required configuration values for GCP services, Twilio, OAuth, and application settings

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread cloudbuild.yaml
--service-account dashboard-backend-sa@$PROJECT_ID.iam.gserviceaccount.com \
--set-env-vars GCP_PROJECT_ID=$PROJECT_ID,GCP_REGION=us-central1,BIGQUERY_DATASET=agent_data,ENVIRONMENT=production \
--set-secrets TWILIO_AUTH_TOKEN=twilio-auth-token:latest,OAUTH_CLIENT_SECRET=oauth-client-secret:latest \
--allow-unauthenticated \
Copy link

Copilot AI Nov 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The --allow-unauthenticated flag is set for production deployment, which allows public access without authentication. If the backend contains sensitive admin APIs (as indicated in the README), this could be a security risk. Consider using Cloud Run's authentication or implementing proper authorization checks at the application level for sensitive endpoints.

Suggested change
--allow-unauthenticated \

Copilot uses AI. Check for mistakes.
Comment thread cloudbuild.yaml
dynamicSubstitutions: true

# Timeout for entire build
timeout: '1800s'
Copy link

Copilot AI Nov 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate timeout configuration. The timeout is already specified in the options section at line 251 with value '1800s'. This duplicate definition at the root level should be removed to avoid confusion and potential conflicts.

Suggested change
timeout: '1800s'

Copilot uses AI. Check for mistakes.
Comment thread cloudbuild.yaml
Comment on lines +214 to +228
- name: 'gcr.io/cloud-builders/curl'
id: 'smoke-test-production'
entrypoint: 'bash'
args:
- '-c'
- |
if [ "$BRANCH_NAME" = "main" ]; then
sleep 10
SERVICE_URL=$(gcloud run services describe dashboard-backend --region=us-central1 --format='value(status.url)')
curl -f $SERVICE_URL/health || exit 1
echo "Production smoke tests passed"
else
echo "Skipping production smoke tests"
fi
waitFor: ['deploy-production']
Copy link

Copilot AI Nov 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The gcr.io/cloud-builders/curl image doesn't have gcloud CLI installed, which is required for the command on line 222. This step will fail. Consider using gcr.io/google.com/cloudsdktool/cloud-sdk image instead, or install curl in that image if needed.

Copilot uses AI. Check for mistakes.
Comment thread cloudbuild.yaml
Comment on lines +167 to +177
- name: 'gcr.io/cloud-builders/curl'
id: 'smoke-test-staging'
entrypoint: 'sh'
args:
- '-c'
- |
sleep 10
SERVICE_URL=$(gcloud run services describe dashboard-backend-staging --region=us-central1 --format='value(status.url)')
curl -f $SERVICE_URL/health || exit 1
echo "Staging smoke tests passed"
waitFor: ['deploy-staging']
Copy link

Copilot AI Nov 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The gcr.io/cloud-builders/curl image doesn't have gcloud CLI installed, which is required for the command on line 174. This step will fail. Consider using gcr.io/google.com/cloudsdktool/cloud-sdk image instead, or install curl in that image if needed.

Copilot uses AI. Check for mistakes.
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.

3 participants