{"id":15221565,"url":"https://github.com/googlecloudplatform/terraform-google-crmint","last_synced_at":"2025-10-20T00:32:29.210Z","repository":{"id":152188353,"uuid":"605095618","full_name":"GoogleCloudPlatform/terraform-google-crmint","owner":"GoogleCloudPlatform","description":"Deploy the marketing analytics application, CRMint","archived":false,"fork":false,"pushed_at":"2024-12-11T22:25:46.000Z","size":201,"stargazers_count":7,"open_issues_count":10,"forks_count":3,"subscribers_count":15,"default_branch":"main","last_synced_at":"2024-12-18T08:41:28.848Z","etag":null,"topics":["cft-terraform","data-analytics","end-to-end","marketing"],"latest_commit_sha":null,"homepage":"https://registry.terraform.io/modules/GoogleCloudPlatform/crmint/google","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GoogleCloudPlatform.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-22T12:42:02.000Z","updated_at":"2023-11-08T07:15:28.000Z","dependencies_parsed_at":"2023-10-11T04:13:23.737Z","dependency_job_id":"7c86ff8b-11c5-4bb6-9c51-6b446762c0c9","html_url":"https://github.com/GoogleCloudPlatform/terraform-google-crmint","commit_stats":{"total_commits":42,"total_committers":4,"mean_commits":10.5,"dds":0.5,"last_synced_commit":"5b3b8da1db5255b1ac516ad3a6311b8189e0578c"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fterraform-google-crmint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fterraform-google-crmint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fterraform-google-crmint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fterraform-google-crmint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GoogleCloudPlatform","download_url":"https://codeload.github.com/GoogleCloudPlatform/terraform-google-crmint/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237236958,"owners_count":19277082,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cft-terraform","data-analytics","end-to-end","marketing"],"created_at":"2024-09-28T15:05:56.105Z","updated_at":"2025-10-20T00:32:28.746Z","avatar_url":"https://github.com/GoogleCloudPlatform.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-google-crmint\n\n## Description\n### tagline\nTerraform Module to deploy the [CRMint application](https://google.github.io/crmint).\n\n### detailed\nThis module configures your GCP project to host a [CRMint application](https://google.github.io/crmint).\n\nThe resources/services/activations/deletions that this module will create/trigger are:\n\n- Cloud Run Services (3)\n- Cloud Scheduler Job (1)\n- CloudBuild Worker Pool (1)\n- Cloud HTTPS Load Balancer (1)\n- Compute Global IP Address (1)\n- Compute Managed SSL Certificate (1)\n- IAP Authentication (1)\n- Logging Metric (1)\n- Monitoring Alert Policy (1)\n- Monitoring Notification Channel (1)\n- Pub/Sub Subscription (1)\n- Pub/Sub Topics (2)\n- Secret Manager Secret (1)\n- Service Accounts (4)\n- SQL Database Instance (1)\n- VPC Access Connector (1)\n\n### preDeploy\nTo deploy this blueprint you must have an active billing account and billing permissions.\n\n## Documentation\n- [CRMint application](https://google.github.io/crmint) built by gTech Professional Services from Google Ads (**not an official product**).\n\n## Usage\n\nBasic usage of this module is as follows:\n\n```hcl\nmodule \"crmint\" {\n  source  = \"terraform-google-modules/crmint/google\"\n  version = \"~\u003e 0.1\"\n\n  app_title                 = \"My Local Custom App\"\n  notification_sender_email = \"me@example.com\"\n\n  # Google Cloud Platform.\n  project_id                = \"YOUR_PROJECT_ID\"\n  region                    = \"GCP_REGION\"  # e.g. us-east1\n  zone                      = \"GCP_ZONE\"  # e.g. us-east1-c\n  database_instance_name    = \"crmint-3-db\"\n  use_vpc                   = true\n\n  # Docker service images (in case you want to pin to a specific version).\n  frontend_image            = \"europe-docker.pkg.dev/instant-bqml-demo-environment/crmint/frontend:master\"\n  controller_image          = \"europe-docker.pkg.dev/instant-bqml-demo-environment/crmint/controller:master\"\n  jobs_image                = \"europe-docker.pkg.dev/instant-bqml-demo-environment/crmint/jobs:master\"\n\n  # User access management.\n  iap_support_email         = \"me@example.com\"\n  iap_allowed_users         = [\n                                \"user:me@example.com\",\n                                \"user:john@example.com\",\n                                \"user:kate@example.com\",\n                              ]\n}\n```\n\nFunctional examples are included in the\n[examples](./examples/) directory.\n\n\u003c!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| app\\_title | Project name to display in the UI. | `string` | `\"CRMint App\"` | no |\n| controller\\_image | Docker image uri (with tag) for the controller service | `string` | `\"europe-docker.pkg.dev/instant-bqml-demo-environment/crmint/controller:master\"` | no |\n| database\\_availability\\_type | Database availability type. Defaults to one zone. | `string` | `\"ZONAL\"` | no |\n| database\\_instance\\_name | Name for the Cloud SQL instance. | `string` | `\"crmint-3-db\"` | no |\n| database\\_name | Name of the database in your Cloud SQL instance. | `string` | `\"crmintapp-db\"` | no |\n| database\\_project\\_id | Database GCP project to use. Defaults to `var.project_id`. | `string` | `null` | no |\n| database\\_region | Database region to setup a Cloud SQL instance. Defaults to `var.region` | `string` | `null` | no |\n| database\\_tier | Database instance machine tier. Defaults to a small instance. | `string` | `\"db-g1-small\"` | no |\n| database\\_user | Database user name. | `string` | `\"crmintapp\"` | no |\n| frontend\\_image | Docker image uri (with tag) for the frontend service | `string` | `\"europe-docker.pkg.dev/instant-bqml-demo-environment/crmint/frontend:master\"` | no |\n| goog\\_bc\\_deployment\\_name | This is only set if run via BC/CM | `string` | `\"\"` | no |\n| iap\\_allowed\\_users | Lost of IAP allowed users. | `list(any)` | n/a | yes |\n| iap\\_brand\\_id | Existing IAP Brand ID - only INTERNAL TYPE (you can obtain it using this command: `$ gcloud iap oauth-brands list --format='value(name)' | sed 's:.*/::'`). | `string` | `null` | no |\n| iap\\_support\\_email | Support email used for configuring IAP | `string` | n/a | yes |\n| jobs\\_image | Docker image uri (with tag) for the jobs service | `string` | `\"europe-docker.pkg.dev/instant-bqml-demo-environment/crmint/jobs:master\"` | no |\n| labels | A set of key/value label pairs to assign to the resources deployed by this blueprint. | `map(string)` | `{}` | no |\n| network\\_project\\_id | Network GCP project to use. Defaults to `var.project_id`. | `string` | `null` | no |\n| network\\_region | Network region. Defaults to `var.region`. | `string` | `null` | no |\n| notification\\_sender\\_email | Email address to send notifications to. | `string` | n/a | yes |\n| project\\_id | GCP Project ID | `string` | n/a | yes |\n| random\\_suffix | Add random suffix to deployed resources (to allow multiple deployments per project) | `string` | `true` | no |\n| region | GCP Region | `string` | `\"us-east1\"` | no |\n| report\\_usage | Report anonymous usage to our analytics to improve the tool. | `bool` | `false` | no |\n| use\\_vpc | Configures the database with a private IP. Default to true. | `bool` | `true` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| cloud\\_build\\_worker\\_pool | Cloud Build worker pool. |\n| cloud\\_db\\_uri | Database connection URI. |\n| migrate\\_image | Docker image (with tag) for the controller service. |\n| migrate\\_sql\\_conn\\_name | Database instance connection name. |\n| project\\_id | GCP Project ID |\n| region | Region used to deploy CRMint. |\n| report\\_usage\\_id | Report Usage ID (empty if opt-out) |\n| secured\\_url | The url to access CRMint UI (with Google Managed certificate). |\n\n\u003c!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n\n## Requirements\n\nThese sections describe requirements for using this module.\n\n### Software\n\nThe following dependencies must be available:\n\n- [Terraform][terraform] v0.13\n- [Terraform Provider for GCP][terraform-provider-gcp] plugin v3.0\n\n### Service Account\n\nA service account with the following roles must be used to provision\nthe resources of this module:\n\n- Storage Admin: `roles/storage.admin`\n\nThe [Project Factory module][project-factory-module] and the\n[IAM module][iam-module] may be used in combination to provision a\nservice account with the necessary roles applied.\n\n### APIs\n\nA project with the following APIs enabled must be used to host the\nresources of this module:\n\n- Google Cloud Storage JSON API: `storage-api.googleapis.com`\n\nThe [Project Factory module][project-factory-module] can be used to\nprovision a project with the necessary APIs enabled.\n\n## Contributing\n\nRefer to the [contribution guidelines](./CONTRIBUTING.md) for\ninformation on contributing to this module.\n\n[iam-module]: https://registry.terraform.io/modules/terraform-google-modules/iam/google\n[project-factory-module]: https://registry.terraform.io/modules/terraform-google-modules/project-factory/google\n[terraform-provider-gcp]: https://www.terraform.io/docs/providers/google/index.html\n[terraform]: https://www.terraform.io/downloads.html\n\n## Security Disclosures\n\nPlease see our [security disclosure process](./SECURITY.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgooglecloudplatform%2Fterraform-google-crmint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgooglecloudplatform%2Fterraform-google-crmint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgooglecloudplatform%2Fterraform-google-crmint/lists"}