A complete, production-ready repository for generating and deploying API proxies to Google Apigee X. All files are now in the root directory (C:\apigeex-template).
Remote repository: https://github.com/syngenta-digital/apigeex-template.git
# 1. Clone this repository (or copy all files to your working directory)
git clone https://github.com/syngenta-digital/apigeex-template.git
cd apigeex-template
# 2. Configure your Apigee credentials
Copy-Item config\.env.example config\.env
# Edit config/.env with your credentials
# 3. Generate proxies
.\scripts\generate-all-proxies.ps1 -Environment dev
# 4. Deploy to Apigee X
.\scripts\deploy-all-proxies.ps1 -Environment dev- PowerShell 5.1 or higher (Windows) or PowerShell Core 7+ (Mac/Linux)
- Git 2.x or higher
- Apigee X Account with deployment permissions
- apigeecli (optional, for direct CLI deployment)
- Quick Start Guide - Get started in 5 minutes
- Deployment Guide - Detailed deployment instructions
- Configuration Reference - All configuration options
- Troubleshooting - Common issues and solutions
C:\apigeex-template\
βββ .github\workflows\ # CI/CD pipelines
βββ config\ # Configuration files
βββ templates\ # Apigee proxy templates
βββ scripts\ # PowerShell automation
βββ services\ # Service definitions
βββ generated\ # Generated proxies (gitignored)
βββ tests\ # Test scripts
βββ docs\ # Documentation
βββ README.md, QUICKSTART.md, DEPLOYMENT-GUIDE.md, CONFIGURATION-REFERENCE.md
βββ .gitignore, LICENSE
Key Features:
- Template-based proxy generation (consistent structure)
- Multi-environment support (dev, qa, prod)
- Bulk operations (generate/deploy multiple proxies)
- Policy management (pre-configured security/operational policies)
- CI/CD ready (GitHub Actions workflows)
- Generate individual or bulk API proxies
- Template-based configuration
- Environment-specific customization
- Automatic bundle creation
- Deploy to multiple environments (dev/qa/prod)
- Automatic versioning
- Rollback support
- Deployment validation
- Pre-configured security policies
- OAuth 2.0 authentication
- Rate limiting and quota management
- Error handling and logging
- Automated proxy testing
- Health check endpoints
- Integration test support
- Templates - Apigee X proxy templates and policies
- Scripts - PowerShell automation for setup, generation, deployment, and testing
- CI/CD - GitHub Actions workflows for dev/qa/prod
- Documentation - Quickstart, deployment, configuration, and troubleshooting guides
- Examples - Sample service definitions and test configs
# Define your services in services/api-services.json
.\scripts\generate-all-proxies.ps1 -Environment dev
.\scripts\deploy-all-proxies.ps1 -Environment dev.\scripts\generate-all-proxies.ps1 -Environment qa
.\scripts\deploy-all-proxies.ps1 -Environment qa
.\scripts\generate-all-proxies.ps1 -Environment prod
.\scripts\deploy-all-proxies.ps1 -Environment prodEdit config/environments/{env}.json:
{
"environment": "dev",
"organization": "your-org",
"domain": "dev.api.example.com",
"authentication": {
"type": "oauth2",
"tokenEndpoint": "https://oauth.example.com/token"
},
"rateLimit": {
"quota": 1000,
"interval": "1",
"timeUnit": "hour"
}
}Edit config/.env:
APIGEE_ORG=your-organization
APIGEE_ENV=dev
APIGEE_TOKEN=your-access-token
# OR use service account
GOOGLE_APPLICATION_CREDENTIALS=path/to/service-account.json- Never commit credentials - Always use
.envfiles - Use service accounts - Prefer service account authentication
- Rotate tokens regularly - Set up token rotation
- Review policies - Audit security policies before deployment
- Limit permissions - Use principle of least privilege
# Test proxy configuration
.\scripts\test-proxy.ps1 -ProxyName "my-api" -Environment dev
# Run all tests
.\tests\proxy-tests.ps1Workflows are pre-configured in .github/workflows/:
- deploy-dev.yml β Auto-deploy to dev on push to
developbranch - deploy-qa.yml β Deploy to qa on push to
release/*branch - deploy-prod.yml β Deploy to prod on push to
mainbranch
Configure GitHub Secrets:
APIGEE_ORGAPIGEE_TOKENorGCP_SERVICE_ACCOUNT_KEY
- Apigee X Documentation
- Quick Start Guide
- Deployment Guide
- Configuration Reference
- Troubleshooting Guide
Contributions are welcome! Please read our contributing guidelines:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Issues: Use your team's issue tracker or GitHub Issues
- Discussions: Use your team's chat or GitHub Discussions
- Email: support@example.com
- Support for gRPC APIs
- GraphQL proxy templates
- Advanced traffic management policies
- Real-time monitoring dashboard
- Terraform integration
- Multi-cloud deployment support
Built with β€οΈ for the API community.
Version: 1.0.0 Last Updated: January 29, 2026