GitHub Repository Secrets & Variables Configuration
This document lists all required secrets and variables needed for CI/CD workflows.Overview
The MCP Server LangGraph project uses GitHub Actions for CI/CD automation. To enable full functionality, you need to configure repository secrets (sensitive data) and variables (non-sensitive configuration). Configuration Location:Settings → Secrets and variables → Actions
Required Repository Variables
Configure these underSettings → Secrets and variables → Actions → Variables tab.
GCP Project Configuration
GKE Cluster Configuration
Namespace Configuration
Required Repository Secrets
Configure these underSettings → Secrets and variables → Actions → Secrets tab.
GCP Authentication (Workload Identity Federation)
Example Values:
Publishing & Distribution
Notifications
Auto-Provided Secrets
These secrets are automatically provided by GitHub Actions (no configuration needed):Setup Instructions
1. Configure GCP Workload Identity Federation
Before setting secrets, set up Workload Identity Federation in your GCP project:2. Configure GitHub Secrets
Navigate to your repository:Settings → Secrets and variables → Actions
Add Variables:
- Click Variables tab
- Click New repository variable
- Add each variable from the tables above
- Click Add variable
Add Secrets:
- Click Secrets tab
- Click New repository secret
- Add each secret from the tables above
- Click Add secret
3. Verify Configuration
Run this workflow manually to test authentication:Workflow-Specific Requirements
Deployment Workflows
Required for:deploy-preview-gke.yamldeploy-production-gke.yaml
GCP_PROJECT_ID(variable)GCP_REGION(variable)GCP_WIF_PROVIDER(secret)GCP_STAGING_SA_EMAILorGCP_PRODUCTION_SA_EMAIL(secret)
Compliance & Security Scanning
Required for:gcp-compliance-scan.yamlsecurity-scan.yaml
GCP_PROJECT_ID(variable)PROJECT_NUMBER(variable)GCP_WIF_PROVIDER(secret)SLACK_SECURITY_WEBHOOK(secret, optional for notifications)
Drift Detection
Required for:gcp-drift-detection.yaml
GCP_PROJECT_ID(variable)GCP_WIF_PROVIDER(secret)
Release & Publishing
Required for:release.yaml
PYPI_TOKEN(required for PyPI publishing)SLACK_WEBHOOK(optional for notifications)MCP_REGISTRY_TOKEN(optional for MCP registry)
Security Best Practices
✅ DO:
- Rotate secrets regularly (recommended: every 90 days)
- Use least-privilege IAM roles for service accounts
- Enable audit logging for service account usage
- Review secret access periodically
- Use environment-specific service accounts (separate staging/production)
❌ DON’T:
- Never commit secrets to git (use
.gitignore) - Never share secrets in plain text (Slack, email, etc.)
- Never use production credentials in non-production workflows
- Never grant overly broad permissions to service accounts
Troubleshooting
Authentication Failures
Error:Failed to authenticate to Google Cloud
Solution:
- Verify
GCP_WIF_PROVIDERsecret is correctly set - Verify service account email is correctly set
- Check workload identity binding:
- Verify repository attribute in workload identity condition matches your repo
Missing Secrets/Variables
Error:The secret 'GCP_WIF_PROVIDER' was not found
Solution:
- Go to
Settings→Secrets and variables→Actions - Verify secret exists in Secrets tab
- Check spelling matches exactly (case-sensitive)
- Re-create secret if needed
Permission Denied Errors
Error:Permission denied when accessing GCP resources
Solution:
- Verify service account has required IAM roles:
- Grant necessary roles:
Migration Guide
Migrating from Hardcoded Values
If you’re migrating from workflows with hardcoded project IDs:-
Extract current values from workflows:
- Create variables with those values as defaults (already done in updated workflows)
- Add secrets for sensitive data (WIF provider, service account emails)
- Test workflows in a non-production environment first
- Update production after successful testing
Fallback Behavior
All updated workflows include fallback defaults:- If variables/secrets are not set, workflows use the default hardcoded values
- This ensures backward compatibility during migration
- Remove fallbacks after confirming configuration works
Support
For issues or questions:- GitHub Issues: https://github.com/vishnu2kmohan/mcp-server-langgraph/issues
- Internal Docs: See
.github/workflows/for workflow-specific documentation - GCP Documentation: https://cloud.google.com/iam/docs/workload-identity-federation
Last Updated: 2025-11-03 Version: 1.0 Maintained By: DevOps Team