{"id":42126274,"url":"https://github.com/hyperifyio/goeventd","last_synced_at":"2026-01-26T15:09:05.518Z","repository":{"id":220004594,"uuid":"750426075","full_name":"hyperifyio/goeventd","owner":"hyperifyio","description":"Simple microservice to trigger services from NatsIO events","archived":false,"fork":false,"pushed_at":"2024-03-23T08:28:40.000Z","size":5882,"stargazers_count":0,"open_issues_count":9,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-06-21T08:21:41.188Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hyperifyio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2024-01-30T16:15:15.000Z","updated_at":"2024-02-01T09:58:42.000Z","dependencies_parsed_at":"2024-06-21T07:22:21.758Z","dependency_job_id":"0d6018a7-ebe4-4da8-b170-dad42abd5863","html_url":"https://github.com/hyperifyio/goeventd","commit_stats":null,"previous_names":["hyperifyio/goeventd"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/hyperifyio/goeventd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperifyio%2Fgoeventd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperifyio%2Fgoeventd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperifyio%2Fgoeventd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperifyio%2Fgoeventd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hyperifyio","download_url":"https://codeload.github.com/hyperifyio/goeventd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperifyio%2Fgoeventd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28781308,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T13:55:28.044Z","status":"ssl_error","status_checked_at":"2026-01-26T13:55:26.068Z","response_time":59,"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-26T15:09:04.813Z","updated_at":"2026-01-26T15:09:05.501Z","avatar_url":"https://github.com/hyperifyio.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hyperifyio/goeventd\n\nThis repository hosts `goeventd`, a microservice designed to facilitate the \ninteraction between NatsIO events and system services. It's a simple, yet \npowerful tool for triggering commands or file system changes based on specific \nevents in a NatsIO stream.\n\n![main branch status](https://github.com/hyperifyio/goeventd/actions/workflows/build.yml/badge.svg?branch=main)\n![dev branch status](https://github.com/hyperifyio/goeventd/actions/workflows/build.yml/badge.svg?branch=dev)\n\n## Getting Started\n\nTo use `goeventd`, simply clone the repository, build the binary using `make`, \nand execute it with the necessary flags:\n\n```bash\nmake\n./goeventd --nats=nats://localhost:4222 --subject=update-nginx --service=ansible-nginx.service\n```\n\n## License\n\nCopyright (c) Heusala Group Ltd. All rights reserved.\n\nEach software release of `goeventd` is initially under the HG Evaluation and \nNon-Commercial License for the first two years. This allows use, modification, \nand distribution for non-commercial and evaluation purposes only. Post this \nperiod, the license transitions to the standard MIT license, permitting broader\nusage, including commercial applications. For full details, refer to the \n[LICENSE.md](LICENSE.md) file. \n\n**Commercial usage licenses can be obtained under separate agreements.**\n\n## Usage and Configuration\n\nTo understand the usage and available configuration options for `goeventd`, run:\n\n```bash\n./goeventd --help\n```\n\nThis will display help information, including available flags:\n\n```\nUsage of ./goeventd:\n  -command-template string\n        The command to trigger services. The service name can be provided in %s placeholder. (when event-type is command) (default \"systemctl start %s\")\n  -config string\n        Path to configuration file\n  -event-type string\n        The event triggering mechanism (command/file) (default \"command\")\n  -file-template string\n        The path to trigger services by file modifications. The service name can be provided in %s placeholder. (when event-type is file) (default \"./%s.trigger\")\n  -nats string\n        The NATS server URL (default \"nats://127.0.0.1:4222\")\n  -once\n        Shutdown the service after one service triggering\n  -service string\n        The SystemD service to trigger\n  -subject string\n        The NATS subject to subscribe to\n```\n\n## Deploying as a SystemD Service\n\n### Installation Steps\n\n1. **Download and Install**:\n\n    Download the latest release and install the binary:\n\n    ```bash\n    wget https://github.com/hyperifyio/goeventd/releases/download/v0.0.18/goeventd-v0.0.18-linux-amd64.zip\n    unzip goeventd-v0.0.18-linux-amd64.zip\n    cp goeventd-v0.0.18-linux-amd64 /usr/local/bin/goeventd\n    chmod 755 /usr/local/bin/goeventd\n    ```\n\n2. **Create a Service File**:\n\n    You can write your own `goeventd.service` file or use the provided template:\n\n    ```ini\n    [Unit]\n    Description=GoEventD Service\n    After=network.target nats.service\n\n    [Service]\n    Type=simple\n    User=goeventd\n    Group=goeventd\n    ExecStart=/usr/local/bin/goeventd --subject=ansible.nginx --service=ansible-nginx\n    Restart=on-failure\n\n    [Install]\n    WantedBy=multi-user.target\n    ```\n\n    To use the provided service file:\n\n    ```bash\n    sudo cp goeventd.service /etc/systemd/system/\n    ```\n\n3. **Reload and Start the Service**:\n\n    ```bash\n    sudo systemctl daemon-reload\n    sudo systemctl enable goeventd\n    sudo systemctl start goeventd\n    ```\n\n4. **Check the Service Status**:\n\n    ```bash\n    sudo systemctl status goeventd\n    ```\n\nThis service file example assumes that `goeventd` will communicate with a NATS \nserver and trigger a specific SystemD service. Modify the `ExecStart` line in \nthe service file according to your needs. \n\nFor more detailed instructions, check out the \n[documentation](https://github.com/hyperifyio/goeventd/wiki).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyperifyio%2Fgoeventd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhyperifyio%2Fgoeventd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyperifyio%2Fgoeventd/lists"}