{"id":13506114,"url":"https://github.com/aws-samples/fiware-orion-on-aws","last_synced_at":"2025-03-30T03:30:33.026Z","repository":{"id":42571126,"uuid":"416151328","full_name":"aws-samples/fiware-orion-on-aws","owner":"aws-samples","description":"An implementation for FIWARE Orion and Cygnus on AWS.","archived":false,"fork":false,"pushed_at":"2024-06-17T12:20:14.000Z","size":2776,"stargazers_count":10,"open_issues_count":1,"forks_count":2,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-11-01T04:35:03.368Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/aws-samples.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2021-10-12T02:13:19.000Z","updated_at":"2024-06-10T05:48:31.000Z","dependencies_parsed_at":"2024-11-01T04:41:51.219Z","dependency_job_id":null,"html_url":"https://github.com/aws-samples/fiware-orion-on-aws","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-samples%2Ffiware-orion-on-aws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-samples%2Ffiware-orion-on-aws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-samples%2Ffiware-orion-on-aws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-samples%2Ffiware-orion-on-aws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aws-samples","download_url":"https://codeload.github.com/aws-samples/fiware-orion-on-aws/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246273533,"owners_count":20750904,"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":[],"created_at":"2024-08-01T01:00:34.857Z","updated_at":"2025-03-30T03:30:32.185Z","avatar_url":"https://github.com/aws-samples.png","language":"TypeScript","funding_links":[],"categories":["Open-Source FIWARE from third parties"],"sub_categories":["Processing"],"readme":"# FIWARE: Orion and Cygnus on AWS\n\nThis guide will help you to deploy Fiware's Orion and Cygnus (optional) components into a serverless architecture.\n\n## What does this repository include?\n\n1. An [AWS CDK](https://aws.amazon.com/cdk/) project in charge of provisioning the basic infrastructure with a VPC Network, Security Groups and two managed Databases, one Amazon Aurora Serverless (PostgreSql) and one Amazon DocumentDB. These are represented in the following stacks:\n\n    - Network Stack\n    - DocumentDB Stack\n    - Aurora Stack\n    - Fiware Stack (new stack replacing the deprecated docker ecs-integration)\n\n## What doesn't this repository include?\n\nBesides [WAF](https://aws.amazon.com/waf/) configuration to allow IP based access, this repository does not include any additional security mechanisms. However, we do recommend to read the [security considerations from Fiware](https://fiware-orion.readthedocs.io/en/master/user/security.html) and enable SSL communication. For the later, please read [create-https-listener](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html) and how to enable this in [CDK](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ecs_patterns.ApplicationLoadBalancedFargateService.html#certificate)\n\n## Architecture\n\n![Architecture](image/arch.png)\n\n## How to use it?\n\n### 1. Requirements\n\nInstal node v18.16.1 or greater.\n\n### 2. Infrastructure\n\n1.1 Create an [AWS profile](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) is recommended if you do not have it.\n\n### 3. Configuring settings\n\nUse the `settings.ts` file to configure your deployment. You can delete/comment the `cygnus` attribute if you only want to deploy Fiware Orion. You can also choose to deploy the 'fiware/orion' image or the 'fiware/orion-ld' from docker hub by configuring the `orionLD` attribute.\n\nAdditionally in the Orion construct you can add environmental variables, for more information check the following links:\n\n- Orion: \u003chttps://fiware-orion.readthedocs.io/en/master/admin/cli.html#configuration-using-environment-variables\u003e\n\n- Orion-LD: \u003chttps://hub.docker.com/r/fiware/orion-ld\u003e\n\n### 4. Deployer script\n\nThe infrastructure is deployed by this bash script:\n\n`./deployer.sh \u003cYOUR_AWS_PROFILE\u003e`\n\nAfter the deployment is completed, you can see these services running in you AWS account.\n\n| AWS Service                     | Description                                 |\n| ------------------------------- | ------------------------------------------- |\n| AWS Fargate                     | Containers for Orion and Cygnus             |\n| Application Load Balancer (ALB) | Load Balancer for Orion and Cygnus web api. |\n| Amazon DocumentDB               | Database for Orion                          |\n| Amazon Aurora Serverless        | Database for Cygnus                         |\n| AWS WAF                         | Web Application Firewall for the ALB. \\*    |\n\n**NOTE**: WAF rules for the ALBs can be changed, please see this [reference](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list.html).\n\n### 5. Demo\n\nFollow the demo from the published blog: [How to build smart cities with FIWARE Orion Context Broker and Cygnus on AWS](https://aws.amazon.com/blogs/publicsector/how-to-build-smart-cities-with-fiware-orion-context-broker-and-cygnus-on-aws/)\n\n## 6. Load Testing\n\n[Loadtest for FIWARE Components](https://github.com/FIWARE/load-tests) provides load test for FIWARE Orion-LD\n\n## 7. Clean up\n\nIf you need to clean up the resources, please follow steps below.\n\n**[WARN] All data will be deleted by this step.**\n\n`npm run cdk destroy -- --all --profile \u003cYOUR_AWS_PROFILE\u003e`\n\n## 8. Known Issues\n\n### 8.1 DocumentDB vs MongoDB\n\n- [Issue in FIWARE github repository](https://github.com/telefonicaid/fiware-orion/issues/3778)\n- DocumentDB does not port all the functions of MongoDB, like for example geospatial capabilities.\n\n### 8.2 Docker ECS integration deprecation\n\n`Docker Compose's integration for ECS and ACI is retiring in November 2023.` from \u003chttps://docs.docker.com/cloud/ecs-integration/\u003e\n\nYou can upgrade your current existing deployment by following these steps:\n\n\u003e IMPORTANT: we recommend you to do a full backup of the database services Aurora RDS and Amazon DocumentDB before continuing.\n\n1. Edit the `settings.ts` file to configure your ECS services and WAF settings.\n2. Delete the `cygnus` and `orion` stacks from the [AWS Console Cloudformation](https://console.aws.amazon.com/cloudformation), be sure to select the region used to deploy.\n3. Execute the deployer in your terminal: `./deployer.sh \u003cYOUR_AWS_PROFILE\u003e`\n4. You will get a new endpoint for Orion, `FiwareStack.orionservice...: http://....elb.amazonaws.com/`\n5. If you deployed with Cygnus, you can subscribe to it in the new URL: `\u003chttp://cygnus.fiware:5055/notify\u003e`\n\n## License\n\nThis project is licensed under the GPL v3 License. See the [LICENSE](LICENSE) file.This library is licensed under the GPL v3 and the MIT-0 License. See the [LICENSE.MIT-0](LICENSE.MIT-0) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws-samples%2Ffiware-orion-on-aws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faws-samples%2Ffiware-orion-on-aws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws-samples%2Ffiware-orion-on-aws/lists"}