{"id":20077458,"url":"https://github.com/drogue-iot/drogue-event-source","last_synced_at":"2025-07-12T23:35:50.016Z","repository":{"id":43274555,"uuid":"425024468","full_name":"drogue-iot/drogue-event-source","owner":"drogue-iot","description":"A Knative event source for Drogue IoT","archived":false,"fork":false,"pushed_at":"2022-07-08T10:52:41.000Z","size":120,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-02T12:46:11.249Z","etag":null,"topics":["cloud","iot","knative","serverless"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/drogue-iot.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":"2021-11-05T17:02:04.000Z","updated_at":"2022-09-03T01:32:04.000Z","dependencies_parsed_at":"2022-09-11T02:10:58.916Z","dependency_job_id":null,"html_url":"https://github.com/drogue-iot/drogue-event-source","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/drogue-iot/drogue-event-source","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drogue-iot%2Fdrogue-event-source","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drogue-iot%2Fdrogue-event-source/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drogue-iot%2Fdrogue-event-source/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drogue-iot%2Fdrogue-event-source/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drogue-iot","download_url":"https://codeload.github.com/drogue-iot/drogue-event-source/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drogue-iot%2Fdrogue-event-source/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265069165,"owners_count":23706607,"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":["cloud","iot","knative","serverless"],"created_at":"2024-11-13T15:08:19.036Z","updated_at":"2025-07-12T23:35:49.993Z","avatar_url":"https://github.com/drogue-iot.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Drogue Cloud Event Source\n\nConnects to [Drogue Cloud](https://github.com/drogue-iot/drogue-cloud) integration endpoint, consumes cloud events sent by devices and forwards them to the next service.\n\nCurrently, it only connects to the Websocket Endpoint.\n\nIt can be used in combination with https://github.com/drogue-iot/drogue-postgresql-pusher\n\n## Configuration\n\n| Name                      | Description                                                                                                                                                  | Example                          |\n|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------|\n| MODE                      | The source mode                                                                                                                                              | `kafka` of `ws`                  |\n| K_SINK                    | The URL of the service to forward events to                                                                                                                  | http://timescaledb-pusher        |\n| ENDPOINT__METHOD          | The HTTP method to use, defaults to `POST`                                                                                                                   | `POST`                           |\n| ENDPOINT__USERNAME        | Enables basic auth support using the provided username                                                                                                       | `foo`                            |\n| ENDPOINT__PASSWORD        | Use as password when basic auth is enabled                                                                                                                   | `bar`                            |\n| ENDPOINT__TOKEN           | Enables bearer auth using the provided token                                                                                                                 | `e234c376f48e`                   |\n| ENDPOINT__HEADERS__*      | Additional HTTP headers, prefixed with `ENDPOINT__HEADERS__`                                                                                                 | `ENDPOINT_HEADERS_AUTHORIZATION` |\n| ENDPOINT__TLS_INSECURE    | Disable TLS validations                                                                                                                                      | `false`                          |\n| ENDPOINT__TLS_CERTIFICATE | The certificate of the (only) trust anchor to use for TLS. By default it will use the system's trust anchors. The certificate must in the PEM PKCS#1 format. |                                  |\n| ENDPOINT__TIMEOUT         | The timeout of the send operation                                                                                                                            | `15s`                            |\n| ENDPOINT__ERROR_DELAY     | The delay before re-trying a failed operation                                                                                                                | `1s`                             |\n| ENDPOINT__RETRIES         | The number of re-tries before giving up                                                                                                                      | 5                                |\n\n### Kafka\n\nThe following options are available for the `kafka` mode.\n\n| Name              | Description                                                                                                                                                                                                | Example                                                 |\n|-------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|\n| TOPIC             | The Kafka topic to consume from                                                                                                                                                                            | `events-foo-bar`                                        |\n| BOOTSTRAP_SERVERS | The list of Kafka bootstrap servers                                                                                                                                                                        | `kafka-bootstrap:9091`                                  |\n| PROPERTIES__*     | Additional properties for the Kafka consumer, prefixed with `PROPERTIES__`. The prefix will be removed from the name, the remaining name will be transformed to lowercase and `_` will be transated to `.` | `PROPERTIES__SASL_USERNAME` will become `sasl.username` |  \n\nYou can find the available properties here: https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md\n\n### Websocket\n\nThe following options are available for the `ws` mode. \n\n| Name            | Description                           | Example                                     |\n|-----------------|---------------------------------------|---------------------------------------------|\n| DROGUE_ENDPOINT | The URL of the endpoint to connect to | `wss://ws-integration.sandbox.drogue.cloud` |\n| DROGUE_APP      | Drogue application to use             | `drogue-public-temperature`                 |\n| DROGUE_USER     | Drogue cloud user                     |                                             |\n| DROGUE_TOKEN    | Access token for Drogue cloud         | Use `drg admin tokens create` to create one |\n\n## Building locally\n\nYou can build the image locally using:\n\n```shell\npodman build . -t drogue-event-source\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrogue-iot%2Fdrogue-event-source","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrogue-iot%2Fdrogue-event-source","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrogue-iot%2Fdrogue-event-source/lists"}