This is a Terraform module, published on the Terraform Registry as `terraform-google-modules/project-factory/google`, that automates the creation and configuration of Google Cloud Platform (GCP) projects. It follows a modular architecture with a root module orchestrating several submodules such as `core_project_factory`, `project_services`, `shared_vpc_access`, `budget`, `quota_manager`, `essential_contacts`, `gsuite_enabled`, and `svpc_service_project`. The module handles project creation, billing association, IAM policy management, Shared VPC attachment, API enablement with service identities, budget alerts, consumer quota overrides, essential contacts, and G Suite group integration (via the third-party `DeviaVir/gsuite` provider). Entry points are the root `main.tf` and the submodule directories; usage is through standard Terraform workflow (`terraform init`, `plan`, `apply`). External dependencies include the `hashicorp/google`, `hashicorp/google-beta`, and optionally `DeviaVir/gsuite` Terraform providers. The repository also provides helper scripts for seed service account setup (`helpers/setup-sa.sh`), state migration (`helpers/migrate.py`, `helpers/migrate4.py`), and prerequisite validation (`helpers/preconditions/preconditions.py`). The codebase is well-structured with extensive use of locals, `for_each` loops, and separation of concerns, making individual submodules reusable across different projects. Despite being infrastructure-as-code, it exhibits strong software engineering practices including semantic versioning, automated testing (Go, InSpec, Python), and CI/CD pipelines.
This repository is the official GitHub Action for setting up the Google Cloud SDK (`gcloud`) in GitHub Actions workflows. It handles downloading, installing, and configuring the Cloud SDK, including optional components and authentication. The action is a thin TypeScript wrapper around the internal `@google-github-actions/setup-cloud-sdk` and `@google-github-actions/actions-utils` packages. The main entry point is `src/main.ts`, which reads inputs (version, project ID, install components, etc.), installs the SDK if necessary, authenticates using credentials from the `google-github-actions/auth` action, and sets the default project. It outputs the installed version. The code is well-structured, uses strict TypeScript with up-to-date dependencies, and includes both unit and integration tests. Because the heavy logic is delegated to internal packages, this action is straightforward and reliable but not architecturally remarkable. The repository is actively maintained by Google with rigorous CI/CD and dependabot security updates.
This repository is a full-stack marketing demo application powered by Google Cloud generative AI (Vertex AI Gemini, Imagen). It provides an end-to-end workflow for generating campaign content (emails, social media posts, website copy, images), analyzing audiences via natural language to BigQuery, and managing assets across platforms. The frontend is a modern Angular 17 single-page application with Firebase authentication and hosting, while the backend is a FastAPI Python service deployed on Cloud Run. Terraform infrastructure-as-code provisions all GCP resources including BigQuery datasets, Vertex AI Search datastores, Dialogflow CX agents, and Google Drive folder templates for content export. The application showcases marketing use cases like trendspotting via GDELT news summarization, audience insights using structured and unstructured data, and interactive image editing with inpainting/outpainting. While primarily a demo application, the repository also contains several Jupyter notebooks exploring model tuning, text-to-SQL, and clustering explanations, making it a hybrid resource for both application developers and data scientists.