{"id":13506017,"url":"https://github.com/telefonicaid/fiware-orion","last_synced_at":"2025-04-04T11:14:02.995Z","repository":{"id":10595081,"uuid":"12808420","full_name":"telefonicaid/fiware-orion","owner":"telefonicaid","description":"Context Broker and CEF building block for context data management, providing NGSI interfaces.","archived":false,"fork":false,"pushed_at":"2024-06-11T14:21:34.000Z","size":49753,"stargazers_count":211,"open_issues_count":360,"forks_count":262,"subscribers_count":48,"default_branch":"master","last_synced_at":"2024-06-11T20:42:08.175Z","etag":null,"topics":["context-information-management","data","fiware","fiware-ngsi","fiware-orion","orion-context-broker"],"latest_commit_sha":null,"homepage":"https://fiware-orion.rtfd.io/","language":"C++","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/telefonicaid.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES_NEXT_RELEASE","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":"2013-09-13T11:55:25.000Z","updated_at":"2024-06-24T16:25:05.800Z","dependencies_parsed_at":"2023-11-24T17:26:08.245Z","dependency_job_id":"b2324f58-47a0-47f5-9346-0242af45d905","html_url":"https://github.com/telefonicaid/fiware-orion","commit_stats":{"total_commits":9359,"total_committers":121,"mean_commits":77.34710743801652,"dds":0.7065925846778502,"last_synced_commit":"3a04f0dab6cc4a7f0dfd03cc899b32d2b53cbe47"},"previous_names":[],"tags_count":98,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telefonicaid%2Ffiware-orion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telefonicaid%2Ffiware-orion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telefonicaid%2Ffiware-orion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telefonicaid%2Ffiware-orion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/telefonicaid","download_url":"https://codeload.github.com/telefonicaid/fiware-orion/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247166168,"owners_count":20894654,"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":["context-information-management","data","fiware","fiware-ngsi","fiware-orion","orion-context-broker"],"created_at":"2024-08-01T01:00:32.910Z","updated_at":"2025-04-04T11:14:02.977Z","avatar_url":"https://github.com/telefonicaid.png","language":"C++","funding_links":[],"categories":["FIWARE Catalogue","Interoperability and Digital Infrastructure"],"sub_categories":["Core Context Management"],"readme":"# \u003ca name=\"top\"\u003e\u003c/a\u003eOrion Context Broker\n\n\u003c!-- Documentation badge line is processed by release.sh. Thus, if the structure of the URL changes,\n     release.sh needs to be changed also --\u003e\n\n[![FIWARE Core Context Management](https://nexus.lab.fiware.org/repository/raw/public/badges/chapters/core.svg)](https://www.fiware.org/developers/catalogue/)\n[![License badge](https://img.shields.io/github/license/telefonicaid/fiware-orion.svg)](https://opensource.org/licenses/AGPL-3.0)\n[![Quay badge](https://img.shields.io/badge/quay.io-fiware%2Forion-grey?logo=red%20hat\u0026labelColor=EE0000)](https://quay.io/repository/fiware/orion)\n[![Docker badge](https://img.shields.io/badge/docker-telefonicaiot%2Ffiware--orion-blue?logo=docker)](https://registry.hub.docker.com/r/telefonicaiot/fiware-orion)\n[![Support badge](https://img.shields.io/badge/tag-fiware--orion-orange.svg?logo=stackoverflow)](http://stackoverflow.com/questions/tagged/fiware-orion)\n[![NGSI v2](https://img.shields.io/badge/NGSI-V2-red.svg)](doc/manuals/orion-api.md)\n\u003cbr\u003e\n[![Documentation badge](https://img.shields.io/readthedocs/fiware-orion.svg)](https://fiware-orion.rtfd.io)\n![Compliance Tests](https://github.com/telefonicaid/fiware-orion/workflows/Compliance%20Tests/badge.svg)\n![Unit Tests](https://github.com/telefonicaid/fiware-orion/workflows/Unit%20Tests/badge.svg)\n![Functional Tests](https://github.com/telefonicaid/fiware-orion/workflows/Functional%20Tests/badge.svg)\n![Status](https://nexus.lab.fiware.org/static/badges/statuses/orion.svg)\n[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4520/badge)](https://bestpractices.coreinfrastructure.org/projects/4520)\n\nThe Orion Context Broker is an implementation of the Publish/Subscribe Context\nBroker GE, providing an\n[NGSI interface](https://github.com/telefonicaid/fiware-orion/blob/master/doc/manuals/orion-api.md). Using this interface, clients can do several operations:\n\n-   Query context information. The Orion Context Broker stores context\n    information updated from applications, so queries are resolved based\n    on that information. Context information consists on *entities* (e.g. a car)\n    and their *attributes* (e.g. the speed or location of the car).\n-   Update context information, e.g. send updates of temperature\n-   Get notified when changes on context information take place (e.g. the\n    temperature has changed)\n-   Register context provider applications, e.g. the provider for the temperature sensor within a\n    room\n\nThis project is part of [FIWARE](https://www.fiware.org/). For more information\ncheck the FIWARE Catalogue entry for\n[Core Context Management](https://github.com/Fiware/catalogue/tree/master/core).\n\n| :books: [Documentation](https://fiware-orion.rtfd.io) | :mortar_board: [Academy](https://fiware-academy.readthedocs.io/en/latest/core/orion) | \u003cimg style=\"height:1em\" src=\"https://quay.io/static/img/quay_favicon.png\"/\u003e [quay.io](https://quay.io/repository/fiware/orion) | :whale: [Docker Hub](https://registry.hub.docker.com/r/telefonicaiot/fiware-orion) | :dart: [Roadmap](doc/roadmap.md) |\n|---|---|---|---|--|\n\n## Content\n\n-   [Background](#background)\n    -   [Description](#gei-overall-description)\n    -   [Introductory presentations](#introductory-presentations)\n-   [Install](#install)\n-   [Running](#running)\n-   [Usage](#usage)\n-   [API Walkthrough](#api-walkthrough)\n-   [API Reference Documentation](#api-reference-documentation)\n-   [Testing](#testing)\n    -   [End-to-end tests](#end-to-end-tests)\n    -   [Unit Tests](#unit-tests)\n-   [Advanced topics](#advanced-topics)\n-   [Support](#support)\n-   [License](#license)\n\n## Background\n\nYou can find the User \u0026 Programmer's Manual and the Installation \u0026\nAdministration Manual on [readthedocs.io](https://fiware-orion.readthedocs.io)\n\nAny feedback on this documentation is highly welcome, including bugs, typos or\nthings you think should be included but aren't. You can use\n[github issues](https://github.com/telefonicaid/fiware-orion/issues/new/choose) to\nprovide feedback.\n\n[Top](#top)\n\n### Description\n\nOrion is a C++ implementation of the NGSIv2 REST API binding developed as a part\nof the FIWARE platform.\n\nOrion Context Broker allows you to manage the entire lifecycle of context\ninformation including updates, queries, registrations and subscriptions. It is\nan NGSIv2 server implementation to manage context information and its availability.\nContext information consists on *entities* (e.g. a car) and their *attributes*\n(e.g. the speed or location of the car).\n\nUsing the Orion Context Broker, you are able to create context elements and manage\nthem through updates and queries. In addition, you can subscribe to context\ninformation so when some condition occurs (e.g. the context elements have changed)\nyou receive a notification. These usage scenarios and the Orion Context Broker\nfeatures are described in this documentation.\n\nIf this is your first contact with the Orion Context Broker, it is highly\nrecommended to have a look to the brief\n[Quick Start guide](doc/manuals/quick_start_guide.md).\n\n[Top](#top)\n\n### Introductory presentations\n\n-   Orion Context Broker\n    [(en)](https://www.slideshare.net/slideshow/orion-context-broker-introduction-20240911/271735060)\n    [(jp)](https://www.slideshare.net/slideshow/orion-context-broker-introduction-20240912/271755441)\n-   NGSIv2 Overview for Developers That Already Know NGSIv1\n    [(en)](https://www.slideshare.net/fermingalan/orion-context-broker-ngsiv2-overview-for-developers-that-already-know-ngsiv1-20220523)\n    [(jp)](https://www.slideshare.net/fisuda/orion-context-broker-ngsiv2-overview-for-developers-that-already-know-ngsiv1-20220526)\n    (no longer maintained since Orion 3.7.0)\n\n[Top](#top)\n\n## Install\n\nBuild and Install documentation for Orion Context Broker can be found at\n[the corresponding section of the Admin Manual](doc/manuals/admin/install.md).\n\n\u003e :point_right: If you want to run a production-grade instance of orion, carefully read all information in the [admin-section](doc/manuals/admin). \n\n[Top](#top)\n\n## Running\n\nHow to run Orion Context Broker can be found at\n[this document](docker/README.md).\n\n[Top](#top)\n\n## Usage\n\nIn order to create an entity (Room1) with two attributes (temperature and\npressure):\n\n```console\ncurl \u003corion_host\u003e:1026/v2/entities -s -S --header 'Content-Type: application/json' \\\n    -X POST -d @- \u003c\u003cEOF\n{\n  \"id\": \"Room2\",\n  \"type\": \"Room\",\n  \"temperature\": {\n    \"value\": 23,\n    \"type\": \"Number\"\n  },\n  \"pressure\": {\n    \"value\": 720,\n    \"type\": \"Number\"\n  }\n}\nEOF\n```\n\nIn order to query the entity:\n\n```console\n    curl \u003corion_host\u003e:1026/v2/entities/Room2 -s -S --header 'Accept: application/json' | python -mjson.tool\n```\n\nIn order to update one of the entity atributes (temperature):\n\n```console\ncurl \u003corion_host\u003e:1026/v2/entities/Room2/attrs/temperature -s -S \\\n    --header 'Content-Type: application/json' \\\n    -X PUT -d @- \u003c\u003cEOF\n{\n  \"value\": 26.3,\n  \"type\": \"Number\"\n}\nEOF\n```\n\nor (more compact):\n\n```console\ncurl \u003corion_host\u003e:1026/v2/entities/Room2/attrs/temperature/value -s -S \\\n    --header 'Content-Type: text/plain' \\\n    -X PUT -d 26.3\n```\n\nPlease have a look at the [Quick Start guide](doc/manuals/quick_start_guide.md)\nif you want to test these operations in an actual public instance of Orion\nContext Broker. In addition, have a look to the API Walkthrough and API\nReference sections below in order to know more details about the API\n(subscriptions, registrations, etc.).\n\n[Top](#top)\n\n## API Walkthrough\n\n-   FIWARE NGSIv2 Orion API Walkthrough FIWARE NGSI v2 [(en)](doc/manuals/user/walkthrough_apiv2.md)\n    [(jp)](doc/manuals.jp/user/walkthrough_apiv2.md) (Markdown)\n\n[Top](#top)\n\n## API Reference Documentation\n\nAPI Reference Documentation:\n\n-   FIWARE NGSIv2 Orion API\n    [(en)](doc/manuals/orion-api.md)\n    [(jp)](doc/manuals.jp/orion-api.md) (Markdown)\n\nOrion Reference Documentation:\n\n-   Orion Manuals in RTD [(en)](https://fiware-orion.readthedocs.org)\n    [(jp)](https://fiware-orion.letsfiware.jp/)\n\n[Top](#top)\n\n## Testing\n\n### End-to-end tests\n\nThe functional_test makefile target is used for running end-to-end tests:\n\n    make functional_test INSTALL_DIR=~\n\nPlease have a look to the section\n[on building the source code](doc/manuals/admin/build_source.md) in order to get\nmore information about how to prepare the environment to run the functional_test\ntarget.\n\n### Unit Tests\n\nThe unit_test makefile target is used for running the unit tests:\n\n    make unit_test\n\nPlease have a look to the section\n[on building the source code](doc/manuals/admin/build_source.md) in order to get\nmore information about how to prepare the environment to run the unit_test\ntarget.\n\n[Top](#top)\n\n## Advanced topics\n\n-   Advanced Programming [(en)](doc/manuals/user/README.md)\n    [(jp)](doc/manuals.jp/user/README.md)\n-   Installation and administration [(en)](doc/manuals/admin/README.md)\n    [(jp)](doc/manuals.jp/admin/README.md)\n-   Container-based deployment\n    -   Docker [(en)](docker/README.md) [(jp)](docker/README.jp.md)\n    -   Docker Swarm and HA [(en)](docker/docker_swarm.md)\n        [(jp)](docker/docker_swarm.jp.md)\n-   Development Manual [(en)](doc/manuals/devel/README.md)\n    [(jp)](doc/manuals.jp/devel/README.md)\n-   Sample code contributions [(en)](doc/manuals/devel/code_contributions.md)\n    [(jp)](doc/manuals.jp/devel/code_contributions.md)\n-   Contribution guidelines [(en)](doc/manuals/devel/contribution_guidelines.md)\n    [(jp)](doc/manuals.jp/devel/contribution_guidelines.md), especially important if\n    you plan to contribute with code to Orion Context Broker\n-   Deprecated features [(en)](doc/manuals/deprecated.md)\n    [(jp)](doc/manuals.jp/deprecated.md)\n\n[Top](#top)\n\n## Support\n\nAsk your thorough programming questions using\n[stackoverflow](http://stackoverflow.com/questions/ask) and your general\nquestions on [FIWARE Q\u0026A](https://ask.fiware.org). In both cases please use the\ntag `fiware-orion`\n\n[Top](#top)\n\n---\n\n## License\n\nOrion Context Broker is licensed under [Affero General Public License (GPL)\nversion 3](./LICENSE).\n\n© 2025 Telefonica Investigación y Desarrollo, S.A.U\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eFurther information on the use of the AGPL open source license\u003c/strong\u003e\u003c/summary\u003e\n     \n### Are there any legal issues with AGPL 3.0? Is it safe for me to use?\n\nThere is absolutely no problem in using a product licensed under AGPL 3.0. Issues with GPL\n(or AGPL) licenses are mostly related with the fact that different people assign different\ninterpretations on the meaning of the term “derivate work” used in these licenses. Due to this,\nsome people believe that there is a risk in just _using_ software under GPL or AGPL licenses\n(even without _modifying_ it).\n\nFor the avoidance of doubt, the owners of this software licensed under an AGPL-3.0 license\nwish to make a clarifying public statement as follows:\n\n\u003e Please note that software derived as a result of modifying the source code of this\n\u003e software in order to fix a bug or incorporate enhancements is considered a derivative\n\u003e work of the product. Software that merely uses or aggregates (i.e. links to) an otherwise\n\u003e unmodified version of existing software is not considered a derivative work, and therefore\n\u003e it does not need to be released as under the same license, or even released as open source.\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftelefonicaid%2Ffiware-orion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftelefonicaid%2Ffiware-orion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftelefonicaid%2Ffiware-orion/lists"}