{"id":36830385,"url":"https://github.com/shelmangroup/flux-events-pubsub","last_synced_at":"2026-01-12T14:12:12.831Z","repository":{"id":57511029,"uuid":"234723599","full_name":"shelmangroup/flux-events-pubsub","owner":"shelmangroup","description":"Publish FluxCD events to Google PubSub. Trigger flux syncs from github webhooks.","archived":false,"fork":false,"pushed_at":"2020-06-04T08:50:41.000Z","size":136,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-15T05:34:30.900Z","etag":null,"topics":["cicd","fluxcd","golang","google-cloud-pubsub","kubernetes"],"latest_commit_sha":null,"homepage":"","language":"Go","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/shelmangroup.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}},"created_at":"2020-01-18T11:19:46.000Z","updated_at":"2022-10-22T14:47:49.000Z","dependencies_parsed_at":"2022-09-26T17:51:02.859Z","dependency_job_id":null,"html_url":"https://github.com/shelmangroup/flux-events-pubsub","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/shelmangroup/flux-events-pubsub","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shelmangroup%2Fflux-events-pubsub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shelmangroup%2Fflux-events-pubsub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shelmangroup%2Fflux-events-pubsub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shelmangroup%2Fflux-events-pubsub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shelmangroup","download_url":"https://codeload.github.com/shelmangroup/flux-events-pubsub/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shelmangroup%2Fflux-events-pubsub/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28340384,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T12:22:26.515Z","status":"ssl_error","status_checked_at":"2026-01-12T12:22:10.856Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["cicd","fluxcd","golang","google-cloud-pubsub","kubernetes"],"created_at":"2026-01-12T14:12:10.447Z","updated_at":"2026-01-12T14:12:12.807Z","avatar_url":"https://github.com/shelmangroup.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"![CI](https://github.com/shelmangroup/flux-events-pubsub/workflows/CI/badge.svg?branch=master)\n# Flux-events-pubsub\n\nLet your [FluxCD](https://fluxcd.io) daemon connect to flux-events-pubsub as\nupstream controlplane. Flux-events-pubsub will subscribe to a Google pubsub topic\nand notify the FluxCD daemons upon changes which will trigger a fluxCD Sync.\n\nFluxCD events (Commit, Sync and Release events) will also be published to pubsub topic\nfor later consumtion of different services.\n\nFluxCD events for Google container registry updates. (no updates are sent to other topics\nfor this changes)\n\n## Example use cases that consume pubsub events.\n- Github WebHooks\n- Chat bots\n- Trigger test suites\n- etc.\n\n## Example PubSub conf for gcr events\n```bash\ngcloud pubsub topics create gcr\n```\n\n## Example deployment\n\n\nKubernetes manifest example\n```yaml\n---\napiVersion: v1\nkind: Service\nmetadata:\n  name: flux-events\n  namespace: flux\n  labels:\n    app: flux-events\nspec:\n  type: ClusterIP\n  selector:\n    app: flux-events\n  ports:\n  - name: http\n    port: 8080\n---\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: flux-events\n  namespace: flux\n  labels:\n    app: flux-events\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: flux-events\n  template:\n    metadata:\n      labels:\n        app: flux-events\n    spec:\n      containers:\n      - image: quay.io/shelman/flux-events-pubsub:latest\n        name: flux-events\n        args:\n          - --log-level=debug\n          - --log-json\n          # Optionally add labels that will be append to the FluxCD json payload event.\n          - -lmy-custom-label1=foo\n          - -lmy-custom-label2=bar\n        env:\n          - name: FLUX_EVENTS_PUBSUB_GOOGLE_PROJECT_GCR\n            value: \"my gcr project\"\n          - name: FLUX_EVENTS_PUBSUB_GOOGLE_PUBSUB_SUBSCRIPTION_GCR\n            value: \"gcr-events-\u003ccluster name\u003e\"\n          - name: FLUX_EVENTS_PUBSUB_GOOGLE_PUBSUB_TOPIC_GCR\n            value: \"gcr-events\"\n          - name: GOOGLE_APPLICATION_CREDENTIALS\n            value: \"/secrets/pubsub-credentials\"\n          - name: FLUX_EVENTS_PUBSUB_GOOGLE_PROJECT\n            value: \"my-google-project\"\n          - name: FLUX_EVENTS_PUBSUB_GOOGLE_PUBSUB_TOPIC\n            value: \"flux-events\"\n            # Flux-events-pubsub will subscribe to this topic to trigger FluxCD Sync Actions.\n          - name: FLUX_EVENTS_PUBSUB_GOOGLE_PUBSUB_TOPIC_ACTIONS\n            value: \"flux-actions\"\n          - name: FLUX_EVENTS_PUBSUB_GOOGLE_PUBSUB_SUBSCRIPTION\n            valueFrom:\n              fieldRef:\n                fieldPath: metadata.name\n        resources:\n          requests:\n            cpu: 50m\n            memory: 64Mi\n          limits:\n            cpu: 200m\n            memory: 128Mi\n        volumeMounts:\n          - mountPath: /secrets\n            name: gcp-credentials\n      volumes:\n        - name: gcp-credentials\n          secret:\n            secretName: gcp-credentials\n            defaultMode: 0600\n```\n\n### Connect FluxCD with an upstream\nAdd `--connect=ws://flux-events:8080` argument to fluxcd deployment manifest.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshelmangroup%2Fflux-events-pubsub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshelmangroup%2Fflux-events-pubsub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshelmangroup%2Fflux-events-pubsub/lists"}