{"id":43067082,"url":"https://github.com/cloudchacho/terraform-google-hedwig-topic","last_synced_at":"2026-01-31T12:52:23.063Z","repository":{"id":130352710,"uuid":"383561571","full_name":"cloudchacho/terraform-google-hedwig-topic","owner":"cloudchacho","description":"Messaging bus for micro-services that works on cloud native queues http://authedwig.rtfd.io","archived":false,"fork":false,"pushed_at":"2024-06-24T17:29:48.000Z","size":46,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-06-24T19:28:41.381Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/cloudchacho.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-06T18:18:01.000Z","updated_at":"2024-06-24T17:29:36.000Z","dependencies_parsed_at":"2024-06-24T19:13:34.364Z","dependency_job_id":"82164765-1311-4c3e-ad30-cf94e626d450","html_url":"https://github.com/cloudchacho/terraform-google-hedwig-topic","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/cloudchacho/terraform-google-hedwig-topic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudchacho%2Fterraform-google-hedwig-topic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudchacho%2Fterraform-google-hedwig-topic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudchacho%2Fterraform-google-hedwig-topic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudchacho%2Fterraform-google-hedwig-topic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudchacho","download_url":"https://codeload.github.com/cloudchacho/terraform-google-hedwig-topic/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudchacho%2Fterraform-google-hedwig-topic/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28943641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T12:10:04.904Z","status":"ssl_error","status_checked_at":"2026-01-31T12:09:58.894Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2026-01-31T12:52:22.273Z","updated_at":"2026-01-31T12:52:23.057Z","avatar_url":"https://github.com/cloudchacho.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"Hedwig Topic Terraform module\n=============================\n\n[Hedwig](https://github.com/Automatic/hedwig) is a inter-service communication bus that works on Google Pub/Sub, while keeping things pretty simple and\nstraight forward. It uses [json schema](http://json-schema.org/) draft v4 for schema validation so all incoming\nand outgoing messages are validated against pre-defined schema.\n\nThis module provides a custom [Terraform](https://www.terraform.io/) modules for deploying Hedwig infrastructure that\ncreates Hedwig topics.\n\n## Usage\n\n```hcl\nmodule \"topic-dev-user-updated\" {\n  source = \"cloudchacho/hedwig-topic/google\"\n  topic  = \"dev-user-updated-v1\"\n}\n```\n\nIt's recommended that `topic` include your environment, as well as a major version for the message schema. For\nexample, [JSON Schema](http://json-schema.org/) is a good way to version message content while also keeping it\nhuman-readable.\n\nNaming convention - lowercase alphanumeric and dashes only. The Pub/Sub topic name will be prefixed by `hedwig-`.\n\nPlease note Google's restrictions (if not followed, errors may be confusing and often totally wrong):\n- [Resource names](https://cloud.google.com/pubsub/docs/admin#resource_names)\n\n### Firehose\n\nTo _firehose_—read as, _save_—messages to Google Cloud Storage (GCS), use the _`firehose_config`_ setting like the following example illustrates:\n\n```hcl\nmodule \"topic-dev-user-updated\" {\n  source = \"cloudchacho/hedwig-topic/google\"\n  topic  = \"dev-user-updated-v1\"\n  firehose_config = {\n    enabled = true\n    bucket = \"mybucket\"\n  }\n}\n```\n\nThe result will be an additional [_Pub/Sub Cloud Storage_](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription) subscription that saves messages to GCS.\n\nNaming convention - The additional subscription has `hedwig-` prefix and `-firehose` suffix; for example, the earlier example creates a `hedwig-dev-user-updated-v1` topic and `hedwig-dev-user-updated-v1-firehose` subscription. See caveats for GCS bucket creation and Identity and Access Management (IAM) permissions prerequisites.\n\n## Caveats\n\n### GCS and IAM\n\nIf you're using the _`firehose_config`_ setting to save messages to a Google Cloud Storage (GCS) bucket, then do the following GCS and Identity and Access Management (IAM) tasks before applying:\n\n1. Create your GCS bucket.\n2. Configure IAM permissions. This is a complicated task where you choose to grant permissions at either the bucket level or project level; for details, see [_Assign Cloud Storage roles to the Pub/Sub service account_](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#assign_roles_cloudstorage) Google docs page.\n\n## Release Notes\n\n[GitHub Releases](https://github.com/cloudchacho/terraform-google-hedwig-topic/releases)\n\n## How to publish\n\nGo to [Terraform Registry](https://registry.terraform.io/modules/cloudchacho/hedwig-topic/google), and Resync module.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudchacho%2Fterraform-google-hedwig-topic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudchacho%2Fterraform-google-hedwig-topic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudchacho%2Fterraform-google-hedwig-topic/lists"}