A PyQt6-based desktop application for managing Google Cloud Platform services with a user-friendly interface.
- View Services: List all Cloud Run services in your project
- Create Services: Deploy new Cloud Run services
- Service Status: Monitor service health and status
- Service URLs: Access service endpoints directly
- Build Images: Create container images from source code
- Push Images: Push built images to Container Registry
- Build Logs: Monitor build progress and logs
- Build Configuration: Customize build parameters
- List Images: View all container images in your registry
- Image Details: See image metadata and descriptions
- Repository Management: Manage image repositories
- Real-time Logs: View Cloud Run, Cloud Build, and Container Registry logs
- Log Filtering: Filter logs by service type
- Log Search: Search through log entries
- Service Accounts: View and manage service accounts
- Permissions: View current IAM permissions and roles
- Role Management: Add and modify IAM roles
- Access Control: Manage user and service account access
- Python 3.8+ installed on your system
- Google Cloud SDK installed and configured
- Google Cloud Project with the following APIs enabled:
- Cloud Run API
- Cloud Build API
- Container Registry API
- Cloud Logging API
- IAM API
- Resource Manager API
-
Clone or download this repository
-
Install dependencies:
pip install -r requirements.txt
-
Authenticate with Google Cloud:
gcloud auth application-default login
-
Set your project ID (optional):
export GOOGLE_CLOUD_PROJECT=your-project-id
python main.pyThe application uses the config.py file for default settings. You can modify:
- Project ID: Your Google Cloud project ID
- Location: Default region for Cloud Run services
- Build Bucket: Storage bucket for build artifacts
- Container Registry: Registry for storing images
- Authentication: The app will check your Google Cloud authentication on startup
- Select Project: Ensure you're working with the correct project
- Navigate Tabs: Use the tab interface to access different features
- Refresh Data: Click refresh buttons to update information
- Monitor Operations: Watch the status bar for operation progress
Your Google Cloud account needs the following roles:
- Cloud Run Admin (
roles/run.admin) - Cloud Build Editor (
roles/cloudbuild.builds.editor) - Container Registry Admin (
roles/storage.admin) - Logs Viewer (
roles/logging.viewer) - IAM Admin (
roles/iam.admin) - for IAM management - Service Account User (
roles/iam.serviceAccountUser)
- Run
gcloud auth application-default login - Ensure your account has the required permissions
- Check that the correct project is set
- Enable required APIs in Google Cloud Console
- Verify project ID is correct
- Check billing is enabled for the project
- Ensure source code is properly uploaded to Cloud Storage
- Check Dockerfile exists and is valid
- Verify build bucket permissions
GCloudAccess/
├── main.py # Main application file
├── config.py # Configuration settings
├── requirements.txt # Python dependencies
└── README.md # This file
- Add new worker methods in
GCloudWorkerclass - Create UI components in the main application
- Connect signals for async operations
- Update configuration if needed
The application can be tested with:
- A Google Cloud project with billing enabled
- Sample container images
- Test Cloud Run services
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is open source and available under the MIT License.
For issues and questions:
- Check the troubleshooting section
- Review Google Cloud documentation
- Open an issue in the repository
- Service Scaling: Scale Cloud Run services up/down
- Custom Domains: Configure custom domains for services
- Environment Variables: Manage service environment variables
- Secrets Management: Handle sensitive configuration
- Monitoring: Integration with Cloud Monitoring
- Cost Analysis: Track and analyze costs
- Multi-Project Support: Switch between multiple projects
- Export/Import: Backup and restore configurations