{"id":18565016,"url":"https://github.com/greenbone/opensight-notification-service","last_synced_at":"2026-04-10T12:06:48.584Z","repository":{"id":235809156,"uuid":"791299124","full_name":"greenbone/opensight-notification-service","owner":"greenbone","description":"The Notification Service allows to collect all notifications in a central place and makes them available to the frontend.","archived":false,"fork":false,"pushed_at":"2026-04-07T12:46:43.000Z","size":850,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-04-07T14:48:47.664Z","etag":null,"topics":["3rdgen","backend","extended","go","opensight"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/greenbone.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-04-24T13:17:30.000Z","updated_at":"2026-04-07T12:46:47.000Z","dependencies_parsed_at":"2024-06-19T14:58:00.197Z","dependency_job_id":"8f8add69-3c33-4d37-a2b8-e052e5acb8f0","html_url":"https://github.com/greenbone/opensight-notification-service","commit_stats":{"total_commits":83,"total_committers":7,"mean_commits":"11.857142857142858","dds":0.6385542168674698,"last_synced_commit":"15ee058d09cc6dc4ebcfb36fd1e72f477bcc5cbe"},"previous_names":["greenbone/opensight-notification-service"],"tags_count":44,"template":false,"template_full_name":"greenbone/go-project-template","purl":"pkg:github/greenbone/opensight-notification-service","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greenbone%2Fopensight-notification-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greenbone%2Fopensight-notification-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greenbone%2Fopensight-notification-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greenbone%2Fopensight-notification-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/greenbone","download_url":"https://codeload.github.com/greenbone/opensight-notification-service/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greenbone%2Fopensight-notification-service/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31641501,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"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":["3rdgen","backend","extended","go","opensight"],"created_at":"2024-11-06T22:17:25.765Z","updated_at":"2026-04-10T12:06:48.568Z","avatar_url":"https://github.com/greenbone.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Greenbone Logo](https://www.greenbone.net/wp-content/uploads/gb_new-logo_horizontal_rgb_small.png)\n\n# OpenSight Notification Service \u003c!-- omit in toc --\u003e\n\n[![codecov](https://codecov.io/github/greenbone/opensight-notification-service/graph/badge.svg?token=BE6ExbOYqE)](https://codecov.io/github/greenbone/opensight-notification-service)\n\nThe Notification Service allows to display all notifications in a central place in the frontend. All OpenSight backend\nservices can use it to send notifications to the user.\n\n## Table of Contents \u003c!-- omit in toc --\u003e\n\n- [Usage](#usage)\n- [Requirements](#requirements)\n- [Configuration](#configuration)\n- [Running](#running)\n    - [Running non-containerized service](#running-non-containerized-service)\n- [Build](#build)\n- [Testing](#testing)\n- [Maintainer](#maintainer)\n- [License](#license)\n\n## Usage\n\nThe Notification Service is intended to be deployed along the others openSight services on the appliance. The service\nprovides a REST API. See the [OpenApi definition](api/notificationservice/notificationservice_swagger.yaml) for details.\nYou can view them e.g. in the [Swagger Editor](https://editor.swagger.io/).\n\nBackend services can send notifications via the `Create Notification` endpoint. Those notifications can then be\nretrieved via `List Notifications` to provide them to the user.\n\n## Requirements\n\nTo run the service and its dependencies on your local machine you need a working installation\nof [docker](https://docs.docker.com/engine/install/) and `make`.\n\nFor running the Notification Service outside of docker the latest version of [go](https://go.dev/doc/install) must be\ninstalled.\n\n## Configuration\n\nThe service is configured via environment variables. Refer to the [Config](pkg/config/config.go) for the available\noptions and their defaults.\n\nThe secret `DB_PASSWORD` can be also passed by file. Simply pass the path to the file containing the secret to the\nservice by appending `_FILE` to the env var name, i.e. `DB_PASSWORD_FILE`. If the secret is supplied in both ways, the\none directly passed by env var takes precedence.\n\n## Running\n\n\u003e The following instructions are targeted at openSight developers. As end user the services should be run in\n\u003e orchestration with the other openSight services, which is not in the scope of this readme.\n\nBefore starting the services you need to set the environment variable `DB_PASSWORD` for the database password. This\npassword is set (only) on the first start of the database, so make sure to use the same password on consecutive runs.\nAll other configuration parameters are already set in the docker compose files.\n\nThen you can start the notification service and the required dependent service [Postgres](https://www.postgresql.org/)\nwith\n\n```sh\n# make sure the `DB_PASSWORD` environment variable is set\nmake start-services\n```\n\nThe port of the notification service is forwarded, so you can access its API directly from the host machine at the base\nurl http://localhost:8085/api/notification-service. A convenient way to interact with the service are the Swagger docs\nserved by the running service at URL http://localhost:8085/docs/notification-service/notification-service/index.html.\n\n### Running non-containerized service\n\nIf you are actively developing it might be more convenient to run the notification service directly on the host machine.\n\nFirst start the containerized database with\n\n```sh\ndocker compose up -d\n```\n\nThen load the configuration parameters into environment variables and start the notification service:\n\n```sh\n# make sure the `DB_PASSWORD` environment variable is set beforehand\nsource set_env_vars_local_setup.sh \u0026\u0026 go run ./cmd/notification-service\n```\n\nFrom here everything is identical to the docker compose setup.\n\nIf there are errors regarding the database, verify that it is running with `docker ps` (should show a running container\nfor postgres).\n\n## Build\n\n\u003e Refer to [Makefile](./Makefile) to get an overview of all commands\n\nTo build run `make build`. The rest API docs can be generated with `make api-docs`.\n\n## Testing\n\n```shell\nmake test\n```\n\n## Maintainer\n\nThis project is maintained by [Greenbone AG][Greenbone]\n\n## License\n\nCopyright (C) 2024 [Greenbone AG][Greenbone]\n\nLicensed under the [GNU Affero General Public License v3.0 or later](LICENSE).\n\n[Greenbone]: https://www.greenbone.net/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreenbone%2Fopensight-notification-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgreenbone%2Fopensight-notification-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreenbone%2Fopensight-notification-service/lists"}