Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1935 as a developper i want to use amazon s3 to store and expose devices images #2032

Conversation

ssgueye2
Copy link
Contributor

Description

#1935
What's new?

  • Allow AWS S3 to store and expose device images

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • Tests
  • Other

@ssgueye2 ssgueye2 requested a review from a team as a code owner April 19, 2023 11:53
@ssgueye2 ssgueye2 temporarily deployed to E2E April 19, 2023 11:54 — with GitHub Actions Inactive
@codecov
Copy link

codecov bot commented Apr 19, 2023

Codecov Report

Patch coverage: 100.00% and project coverage change: +0.10 🎉

Comparison is base (b0a97e4) 91.68% compared to head (303b0ad) 91.79%.

Additional details and impacted files
@@              Coverage Diff               @@
##           main-vnext    #2032      +/-   ##
==============================================
+ Coverage       91.68%   91.79%   +0.10%     
==============================================
  Files             279      280       +1     
  Lines            9179     9295     +116     
==============================================
+ Hits             8416     8532     +116     
  Misses            763      763              
Impacted Files Coverage Δ
....Portal.Infrastructure/DevelopmentConfigHandler.cs 100.00% <100.00%> (ø)
...rastructure/Managers/AwsDeviceModelImageManager.cs 100.00% <100.00%> (ø)
...ortal.Infrastructure/ProductionAWSConfigHandler.cs 100.00% <100.00%> (ø)
...tal.Infrastructure/ProductionAzureConfigHandler.cs 100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@ssgueye2 ssgueye2 temporarily deployed to E2E April 19, 2023 12:22 — with GitHub Actions Inactive
@ssgueye2 ssgueye2 temporarily deployed to E2E April 20, 2023 08:40 — with GitHub Actions Inactive
@ssgueye2 ssgueye2 temporarily deployed to E2E April 20, 2023 11:52 — with GitHub Actions Inactive
@ssgueye2 ssgueye2 force-pushed the 1935-as-a-developper-i-want-to-use-amazon-s3-to-store-and-expose-devices-images branch from 739623b to 303b0ad Compare April 20, 2023 15:24
@ssgueye2 ssgueye2 temporarily deployed to E2E April 20, 2023 15:33 — with GitHub Actions Inactive
@hocinehacherouf hocinehacherouf merged commit 0ba0dd1 into main-vnext Apr 21, 2023
@hocinehacherouf hocinehacherouf deleted the 1935-as-a-developper-i-want-to-use-amazon-s3-to-store-and-expose-devices-images branch April 21, 2023 09:56
kbeaugrand pushed a commit that referenced this pull request Jun 16, 2023
…ces images (#2032)

* AWS S3 store & expose device images

* s3 storage image + some unit testing

* #1935 code + tests

* #1935 code + tests

* AWS image cache control

* removing usersecret
kbeaugrand pushed a commit that referenced this pull request Jun 18, 2023
…ces images (#2032)

* AWS S3 store & expose device images

* s3 storage image + some unit testing

* #1935 code + tests

* #1935 code + tests

* AWS image cache control

* removing usersecret
kbeaugrand pushed a commit that referenced this pull request Jun 20, 2023
…ces images (#2032)

* AWS S3 store & expose device images

* s3 storage image + some unit testing

* #1935 code + tests

* #1935 code + tests

* AWS image cache control

* removing usersecret
kbeaugrand pushed a commit that referenced this pull request Jun 22, 2023
…ces images (#2032)

* AWS S3 store & expose device images

* s3 storage image + some unit testing

* #1935 code + tests

* #1935 code + tests

* AWS image cache control

* removing usersecret
kbeaugrand pushed a commit that referenced this pull request Jun 23, 2023
…ces images (#2032)

* AWS S3 store & expose device images

* s3 storage image + some unit testing

* #1935 code + tests

* #1935 code + tests

* AWS image cache control

* removing usersecret
kbeaugrand added a commit that referenced this pull request Jun 23, 2023
* Add AWS configuration in ConfigHandler (#1948)

* * #1793 Add AmazonIoTClient and AmazonIotDataClient configurations

- Add "CloudProvider" in configuration
- Add AmazonIoTClient and AmazonIotDataClient configurations when CloudProvider is AWS

* Update src/AzureIoTHub.Portal.Server/Startup.cs

Add OrdinalIgnoreCase string comparison for CloudProvider

Co-authored-by: Kevin BEAUGRAND <9513635+kbeaugrand@users.noreply.github.com>

* Update src/AzureIoTHub.Portal.Server/Startup.cs

- Local variables camelCased
- Keep asynchronous
- Let the DI container build instances when it is called

Co-authored-by: Kevin BEAUGRAND <9513635+kbeaugrand@users.noreply.github.com>

* #1793 update src\AzureIoTHub.Portal.Server\Startup.cs missing reference

- Missing reference

* #1793 Add CloudProvider for E2E tests

Add CloudProvider config for E2E tests
Add Azure in the current test pipeline (a new AWS test pipeline will be created in the next feature)

---------

Co-authored-by: Kevin BEAUGRAND <9513635+kbeaugrand@users.noreply.github.com>

* #1925 & #1928 Specific config handler and throw error if no CloudProvider (#1972)

* #1925 & #1928 Specific config handler and throw error if no CloudProvider

- Add AWS & Azure specific config handlers
- Add AWSS3Storage configuration
- Throw exception if CloudProvider undefined or unknown

* #1925

- Missing TU for AWSS3StorageConnectionString in DevConfig

* #1925 Null reference

- Add ! for null reference possible

* #1929 Configuration logic by provider (#1984)

* #1929 Configuration logic by provider

- Add CloudProvider dependencies to the Server Startup
- Add CloudProvider dependencies to the Infrastructure Startup
- Azure first in the switch to unify

* #1929 Healthcheck config

- Move common healthcheck configuration

* #1929 Move AWS Client

- Move AWS client singletons into the infrastructure Layer

* 1942 - Add Cloud Formation Linter check in CI (#2002)

* #1942 Add CI for CloudFormation scripts

- Add new CI for AWS CloudFormation scripts
- Add label 'cfn-templates' on PR
- Add syntax checking of cfn scripts using scottbrenner/cfn-lint-action

* #1942 Remove schedule

No schedule needed for this workflow

* #1942 Add main branche

Co-authored-by: Kevin BEAUGRAND <9513635+kbeaugrand@users.noreply.github.com>

---------

Co-authored-by: Kevin BEAUGRAND <9513635+kbeaugrand@users.noreply.github.com>

* #1978 Add Secrets Manager Client (#2003)

* #1942 CI Cloudformation update (#2009)

With path option not possible with scottbrenner/cfn-lint-action@v2
Using with command instead

* 1943 task add a button to deploy aws infra (#2022)

* #1943 Add AWS Deployment

- Add AWS Deployment
- Add AWS information in the different sections

* #1943 Update README.md

* #1943 CloudProvider choice

Co-authored-by: Kevin BEAUGRAND <9513635+kbeaugrand@users.noreply.github.com>

* #1943 Quick Start update

Co-authored-by: Kevin BEAUGRAND <9513635+kbeaugrand@users.noreply.github.com>

* #1943 Configure environment

Co-authored-by: Kevin BEAUGRAND <9513635+kbeaugrand@users.noreply.github.com>

* #1943 Start using

Co-authored-by: Kevin BEAUGRAND <9513635+kbeaugrand@users.noreply.github.com>

* #1943 Quick start update

Co-authored-by: Kevin BEAUGRAND <9513635+kbeaugrand@users.noreply.github.com>

---------

Co-authored-by: Kevin BEAUGRAND <9513635+kbeaugrand@users.noreply.github.com>

* #1937 Azure dependency fix for AWS (#2031)

* 1935 as a developper i want to use amazon s3 to store and expose devices images (#2032)

* AWS S3 store & expose device images

* s3 storage image + some unit testing

* #1935 code + tests

* #1935 code + tests

* AWS image cache control

* removing usersecret

* #1940 CloudFormation script creation: AWS S3, PostgreSQL DB & AWS App Runner (#1987)

* CloudFormation script initialization

* CloudFormation => PostgreSQL database & S3 storage

* CloudFormation(Draft) => PostgreSQL database & AWS S3 storage

* CloudFormation => some changes in AWS S3 storage & PostgreSQL database

* CloudFormation => AWS EC2 template

* CIDR IP adress putted as a param

* App Runner initialized

* CloudFormation => AppRunner service

* CloudFormation => AppRunner service => Add CLoudProvider

* S3 Storage and Database deployment tested

* Deploy pblm => error in assuming instance role

* AWS access key hided

* merge templates in one

* add secret Manager for the RuntimeEnvironmentSecrets

* instanceRoleArn pblm

* instanceRoleArn pblm

* instanceRoleArn pblm

* #1940 Update CloudFormation script

- Image retrieve from private registry
- Add the cloudformation.amazonaws.com service in the role

* #1940 Cloudformation script

- Add instance role
- Update Secret Manager

* #1940 CloudFormation script

- Multiple SecretsManager for environment variables
- PublicAccessBlockConfiguration for s3 Bucket
- Correct ImageIdentifier

* #1940 CloudFormation script

- Unique DBSubnetGroupName

* #1940 CloudFormation script

- Missing AuthenticationConfiguration

* #1940 CloudFormation script

- Give access to all UniqueSolutionPrefix-* secrets manager

* Add ACL public Read to allow publicRead device images

* Policy removed

---------

Co-authored-by: Kevin BEAUGRAND <contact@kbeaugrand.fr>
Co-authored-by: delager <raphael.delage@cgi.com>
Co-authored-by: DELAGE Raphaël <36408929+delager@users.noreply.github.com>

* 1802 task create an aws thing type (#2041)

* create Thing Type table

* PostgreSQL DB migration

* Model + Repo + Service Think Type

* Remove Gneric Thing Type

* Test API Done

* Testing ThingType Service (DONE)

* Create Thing Type Controller tested

* some changes in the Cloud Provider

* Add Thing Type Button OK

* Adapt CreateDeviceModelTests with Azure cloud Provider

* #1802 DONE without adding Migration Files

* #1802 DONE with Migration Files Added

* #1802 Correct COnflict Problem

* #1802 PG Migration new class

* create Thing Type table

* PostgreSQL DB migration

* Model + Repo + Service Think Type

* Remove Gneric Thing Type

* Test API Done

* Testing ThingType Service (DONE)

* Create Thing Type Controller tested

* some changes in the Cloud Provider

* Add Thing Type Button OK

* Adapt CreateDeviceModelTests with Azure cloud Provider

* #1802 DONE without adding Migration Files

* correcting Migration Pblm

* correcting conflicts & bugs in Migration files

* Update AWSImageManager

* Fix formatting

* Fix Build Problems

* Fixes on the PR

* change tag dictionary to tag DTO

* Add Copyright CGI

* remove unsused variables

* Using AWS ThingTypeID for my DB

* handle image in Thing type creation

* handle Thing Type image

* uploading avatar in Thing Type (DONE)

* adding test for InsertAndGetIdAsync function

* adding some tests for test cov

* Status check on main branch only

* Make code cove patch informational

* Disable E2E tests

* Add support for Device model in AWS through AWS thing types (#2050)

* getThingType created in Service

* getThingType created in Service

* listing thing types (Backend)

* fix test problems

* Listing Thing Type With pagination (Code + Tests=

* Get Thing Type And Deprecate Thing Type (Backend OK)

* Deprecate Thing Type Back & Front (Not tested yet)

* DONE. Some other tests to DO

* some tests added for the coverage

* some tests added for the coverage

* some new tests added for the coverage

* add AWS Greegrass infrastructure (#2061)

* Synchronize AWS Thing Types (#2062)

* merge

* Sync Thing Type Job Task started

* sync Thing Type JOb (Test => TODO)

* Remove unecessary migrations

* Synchronize AWS Thing types DONE (wait for testing)

* Synchronize AWS Thing types (test failed)

* Update unit tests

---------

Co-authored-by: Kevin BEAUGRAND <contact@kbeaugrand.fr>

* Create the greengrass role in cloud formation script (#2080)

* merge

* add greengras role for ECR

* Fix Device model max age configuration handler (#2086)

* Fix AWS cloud formation template (#2087)

* Feature: Add cd pipeline to build and deploy to aws app runner (#1998)

* Add cd pipeline to build and deploy to aws app runner

* Fix ci

* Add env AWS_DEFAULT_REGION

* Configure AWS credentials to region us-east-1

* Update aws cd

* Update aws cd

* Update image tag name

* Comment Access role ARN

* Revert "Comment Access role ARN"

This reverts commit 8b7a3b01ecc7c3801c9190f4742567d11e443cb6.

* Change AWS authentication region during login

* use us-east-1 region to push to ECR

* Update CI

* Add variables to CD

* Update .github/workflows/aws_deploy_staging.yml

---------

Co-authored-by: Kevin BEAUGRAND <contact@kbeaugrand.fr>
Co-authored-by: Kevin BEAUGRAND <9513635+kbeaugrand@users.noreply.github.com>

* Story 2067: Refactor thing type (#2095)

* Remove thing types entities

* Remove thing types repositories

* Remove thing types repositories interfaces

* Remove InsertAngGetIdAsync

* Add repos DeviceModelRepository and LabelRepository on uof

* Add AWS external service to manage aws iot

* Remove aws automappers

* Remove ThingTypeService

* Add AwsDeviceModelService

* Remove Aws thing type controller

* Update SyncThingTypesJob

* Add ef migration to remove thing types entities

* Update device model base controller to return device model dto on create

* Revert DeviceModelSearch component

* Revert DeviceModel pages

* Remove Thing Type client service

* Remove thing type validator

* Remove references to thing type client service

* Update CreateDeviceModel method

* Update unit tests after deletion of thing types references

* Add delete labels before delete device model on aws device model service

* Fix code scan warning on test Execute_SyncNewAndExistingAndDepprecatedThingTypes_DeviceModelsSynced

* Add unit tests on AwsDeviceModelService

* Update unit test SaveAsyncTest

* Update exceptions on AwsExternalDeviceService

* Fix unit test name

* Add unit tests on AwsExternalDeviceService

* Remove unused declaration on test CreateDeviceModel_ExistingThingType_ResourceAlreadyExistsExceptionIsThrown

* Remove IExternalDeviceServiceV2

* Move IExternalDeviceServiceV2 methods to IExternalDeviceService

* Implement IExternalDeviceService

* Update AwsDeviceModelService to use IExternalDeviceService

* Update unit tests on aws to use IExternalDeviceService

* Remove repositories from UnitOfWork

* Revert unit tests on UnitOfWorkTests

* Add unit tests on ExternalDeviceServiceTests

* Fix SyncThingTypesJob (#2098)

* (CI) Update OIDC parameters in AWS staging environment

* (CI) Disable LoraWAN features in AWS staging environment

* Update README

* Update README

* Reformat template + Add internet gateway to the App Runner and VPC connection (#2094)

* Add AWS Greengrass deployment support (#2081)

* Create GreenGrass Deployment

* just for testing componeent creation

* deployment work => Endpoint tested

* greengrass Service & controller tested

* Create GreenGrass Deployment

* just for testing componeent creation

* deployment work => Endpoint tested

* greengrass Service & controller tested

* bacckend tests OK

* frontend mask some EdgeModel modules and commands

* hide containerOption field

* rebase main-vnext

* merge

* Create GreenGrass Deployment

* just for testing componeent creation

* deployment work => Endpoint tested

* greengrass Service & controller tested

* Create GreenGrass Deployment

* just for testing componeent creation

* deployment work => Endpoint tested

* greengrass Service & controller tested

* bacckend tests OK

* adding thing group

* remove greengras variable

* Create GreenGrass Deployment

* just for testing componeent creation

* deployment work => Endpoint tested

* greengrass Service & controller tested

* Create GreenGrass Deployment

* just for testing componeent creation

* deployment work => Endpoint tested

* greengrass Service & controller tested

* bacckend tests OK

* rebase main-vnext

* Create GreenGrass Deployment

* just for testing componeent creation

* deployment work => Endpoint tested

* greengrass Service & controller tested

* just for testing componeent creation

* deployment work => Endpoint tested

* greengrass Service & controller tested

* bacckend tests OK

* adding thing group

* Fix minor issues

* Fix Rollout edge deployment with creating thing type + thing group dynamically

* test passed

* Create GreenGrass Deployment

* just for testing componeent creation

* deployment work => Endpoint tested

* greengrass Service & controller tested

* Create GreenGrass Deployment

* just for testing componeent creation

* deployment work => Endpoint tested

* greengrass Service & controller tested

* bacckend tests OK

* frontend mask some EdgeModel modules and commands

* hide containerOption field

* rebase main-vnext

* merge

* Create GreenGrass Deployment

* just for testing componeent creation

* deployment work => Endpoint tested

* greengrass Service & controller tested

* Create GreenGrass Deployment

* just for testing componeent creation

* deployment work => Endpoint tested

* greengrass Service & controller tested

* bacckend tests OK

* adding thing group

* remove greengras variable

* Create GreenGrass Deployment

* just for testing componeent creation

* deployment work => Endpoint tested

* greengrass Service & controller tested

* Create GreenGrass Deployment

* just for testing componeent creation

* deployment work => Endpoint tested

* greengrass Service & controller tested

* bacckend tests OK

* rebase main-vnext

* Create GreenGrass Deployment

* just for testing componeent creation

* deployment work => Endpoint tested

* greengrass Service & controller tested

* just for testing componeent creation

* deployment work => Endpoint tested

* greengrass Service & controller tested

* bacckend tests OK

* adding thing group

* Fix minor issues

* Fix Rollout edge deployment with creating thing type + thing group dynamically

* test passed

* refacto and add update edge model part for AWS

* fix failed test

* Minor fixes

---------

Co-authored-by: Kevin BEAUGRAND <contact@kbeaugrand.fr>

* Fix #2100 - Sync thing type depending on iotEdge tag (#2107)

* Create dynamic thing group for device models (#2111)

* Add AWS thing support for IoT Devices (#2109)

* #1845 Create IoT Thing

- Get IoT Thing Types
- Add ThingType FK nullable in Device Table
- Alter DeviceModel FK nullable in Device Table
- Create IoT Thing
- Create IoT Thing Shadow with empty Payload
- Create IoT Thing in DB
- Adapt Devices front and validator for AWS
- Change Amazon singleton declaration

* - Get IoT Thing Types
- Add ThingType FK nullable in Device Table
- Alter DeviceModel FK nullable in Device Table
- Create IoT Thing
- Create IoT Thing Shadow with empty Payload
- Create IoT Thing in DB
- Adapt Devices front and validator for AWS
- Change Amazon singleton declaration

* #1845 Create IoT Device

- Rework for ThingType (DeviceModel) link

* - Get IoT Thing Types
- Add ThingType FK nullable in Device Table
- Alter DeviceModel FK nullable in Device Table
- Create IoT Thing
- Create IoT Thing Shadow with empty Payload
- Create IoT Thing in DB
- Adapt Devices front and validator for AWS
- Change Amazon singleton declaration

* #1845 Create IoT Device

- Rework for ThingType (DeviceModel) link

* - Get IoT Thing Types
- Add ThingType FK nullable in Device Table
- Alter DeviceModel FK nullable in Device Table
- Create IoT Thing
- Create IoT Thing Shadow with empty Payload
- Create IoT Thing in DB
- Adapt Devices front and validator for AWS
- Change Amazon singleton declaration

* #1845 Create IoT Device

- Rework ThingType (DeviceModel)

* #1845 Create IoT Thing

- Code facto to reuse db calls
- AWSDeviceServiceTest initialise
- Move DeviceService & DeviceServiceBase in Infra
- Get Id from controller for Device
- Properties in DeviceShadow

* #1845 Create IoT Thing

- Services TU
- DeviceDetailValidator TU

* #1845 Fix PR

* #1845 Unused var

* #1845 RequestFailedException missing

* #1845 Remove unused migration thing type fk

* #1845 revert PortalDbContextModelSnapshot

* #1845 Fix typo

* * #1921 Update AWS IoT Device

- Update AWS Device
- Update AWS Device Shadow
- GUI adjustment for Device Details
- Remove duplicate DB methods
- TU Update AWS Device
- TU Create Device Front

* #1921 Remove unused var

* Update DeviceId message

Co-authored-by: Kevin BEAUGRAND <9513635+kbeaugrand@users.noreply.github.com>

* #1845 Update InternalServerError message

* #1921 Remove useless update thing shadow

* #1921 : Remove useless UpdateThingShadow

---------

Co-authored-by: Kevin BEAUGRAND <9513635+kbeaugrand@users.noreply.github.com>

* Fix #2117 (#2118)

* #1922 Delete AWS IoT Device (#2119)

- Delete AWS Device
- TU Delete AWS Device

* Update and delete green grass deployment (#2113)

* retrieve json attribute from Recipe

* Update creation Deployment method + Get Deployment method

* FIX Existing Failed Tests

* Update method done (But not tested)

* Fix Failed Tests + All tests for the update and the Get Deployment Done

* retrieve json attribute from Recipe

* Update creation Deployment method + Get Deployment method

* retrieve json attribute from Recipe

* Update creation Deployment method + Get Deployment method

* Change IdProvider to ExternalIdentifier + Delete Deployment (DONE)

* Update CI for v5.0 release (#2124)

* Move azure templates to dedicated directory + add aws templates to the release

* Remove portal name from default coniguration

* Fix azure path in pipeline

* Sync GreenGrassDeployment (#2120)

* Sync GreenGrassDeployment (Started)

* Sync Deployments (waiting for one test)

* Sync Deployment (DONE)

* remove getComponentIfExist

* Sync GreenGrassDeployment (Started)

* Sync Deployments (waiting for one test)

* Sync Deployment (DONE)

* remove getComponentIfExist

* update Sync Deployment With Dynamic Thing group

* Remove device status from form in AWS (#2127)

* remove status from form in AWS

* FIX failed tests

* Add Greengrass automagic deployment + Greengrass create and delete from Portal (#2123)

* Create DeviceCredentials, CertificateCredentials and rename EnrollmentCredentials to SymmetricCredentials

* Add certificate generations steps

* Fix #2074  - add greengrass policies

* fix #2074 - Create Greengrass enrollement script

* Fix unit tests

* Add unit tests to cover AWS provider

---------

Co-authored-by: ropiteauxi <ivan.ropiteaux@cgi.com>

* Update the mysql schema to match the model (#2132)

* Add exception if coud provider not correctly set

* Fix Mysql migration script

* Use git sha to deploy staging env

* Update nucleus version

* CI - Update publish task to push to ECR as part of ACR

* CI - Update documentation publish to match the release branch name

* Update AWS Cloud Formation Template

* Sync AWS Things with portal (#2133)

* #1924 : Sync Things Device

- Sync Things Job
- Add Job Quartz
- TU Sync Things Job

* #1924 Sync Iot Things

- Fix for deletion at sync
- Remove unused references

* #1924 Fix TU

* #1924 Fix code scan missed opportunity to use Select

* #1924 Add TU and update log message type

* #1924 Amazon Exception Handling

* #1924 Fix Throw Exception

* Get AWS iot Edge Device (#2136)

* Get AWS iot Edge Device

* Get AWS iot Edge Device

* Get AWS Edge Device Done

* use the act varaiable

* Use certificate to authenticate devices and edge devices (#2143)

* Fix code

* Use DeviceName for certificates

* Display certificates credentials on ConnectionStringDialog

* Add on edge device screen and allow file download

* Fix unit tests

---------

Co-authored-by: ropiteauxi <ivan.ropiteaux@cgi.com>
Co-authored-by: Kevin BEAUGRAND <contact@kbeaugrand.fr>

* CI Push image to Public ECR

* CI update documentation

* CI public to ECR Public registry should use us-east-1 region

* Fix documentation publication

* Fix template generation for AWS public ECR

* CI - Update documentation publish

* see detail device model tooltip changed (#2149)

* detach associated certificate in thing (#2151)

* detach associated certificate in thing

* detach associated certificate in thing

* adding some tests

* Feature: Improve edge models for AWS (#2142)

* Add edge module id to store greengrass public components

* Add GetPublicEdgeModules

* Add dialogs for aws json component + public components

* Update create and edit edge model pages to handle aws greengrass components

* Update GetPublicEdgeModules to load all public greengrass components + fix loading public component

* Update aws greengrass dialogs

* Fi edge model create/edit pages to handle public and private edge modules (aws components)

* Remove dead code from AwsConfigService

* Fix class AwsConfigService after rebase

* Fix #2145 - Move Savechanges at last step of CRUD in edge model service

* Fix duplication issue after selecting public components

* Fix unit tests

* Fix deployment model synchronization

* Fix Edgedevice load and update

* Add unit tests on GetPublicEdgeModules

* Fix codeql warning on CreateEdgeModelShouldThrowInternalServerErrorExceptionIfDbUpdateExceptionOccurs

* Rename AwsGreengrassPublicComponents to AwsGreengrassPublicComponentsDialog

* Add unit tests on AwsGreengrassComponentDialog and AwsGreengrassPublicComponentsDialog

* Add UT GetPublicEdgeModules_GetPublicEdgeModules_EdgeModulesReturned

* Add UT GetPublicEdgeModules_GetPublicEdgeModules_EdgeModulesReturned on EdgeModelService

* Add UT GetPublicEdgeModules_GetPublicEdgeModules_EdgeModulesReturned on EdgeModelClientService

* Add unit tests on EdgeModelDetailPage and CreateEdgeModelsPage on add edge module and public edge modules

* Fix codeql warning

---------

Co-authored-by: Kevin BEAUGRAND <contact@kbeaugrand.fr>

* Update deployement parameters (#2155)

* CI - Update Staging deployment parameters

* Hide certificates when getting the magic ommand

* Prefix Azure specific parameters (#2157)

* Hide certificates when getting the magic ommand

* Prefix Azure specific parameters

* Prefix Azure specific parameters

* fix test

---------

Co-authored-by: Kevin BEAUGRAND <contact@kbeaugrand.fr>

* Fix hide certificates when getting the magic command

* Add AWS__GreengrassCoreTokenExchangeRoleAliasName parameter to the deployment

* Fix connections string screen for edge

* #2075 Sync AWS IoT Edge Device (#2148)

* #2075 Sync AWS IoT Edge Device

- Sync AWS IoT Edge Device
- TU sync IoT Edge Device
- GetByName async for DeviceModel and EdgeDeviceModel

* #2075 Add GetByNameAsync TU

* #2075 Add greengras devices job to quartz

* #2075 Fix GetByNameAsync

* #2075 Add EdgeDevice properties

- NbModules / NbDevices / ConnectionState

* Fix AWS template deployment

* Fix Edge connexion screen

* Fix Greengrass enrollment script token replacements

* fix bug to delete secrets when removing edge device (#2165)

* CI - Update AWS Stging + make LoraFeature disabled by default

* Fix remove policies from certificate when deleting edge device

* #2161 fix edge model update (#2170)

* Hide certificates when getting the magic ommand

* fix edge model update

* fix failed test

---------

Co-authored-by: Kevin BEAUGRAND <contact@kbeaugrand.fr>

* Refactoring Sync Things Job (#2172)

* #2168 Refactoring Device & EdgeDevice sync job for AWS

- 1 job Sync things job => update device & edgedevice based on thingtype (iotEdge or not)
- Remove Sync GreenGrass Devices
- Update the job thingtype for isEdge method

* #2168 Add TU for isEdge & ConnectionState

* #2168 Fix TU

* #2162 Edge device loose tags (#2173)

- Add missing mappings
- Fix AWSEdgeDeviceService

* - Remove seeds
- Remove TableClientFactory
- Add missing service for Azure

* #2163 should allowed edge device in the platform (#2177)

* Hide certificates when getting the magic ommand

* Enable Devices and EdgeDevice in the platform

---------

Co-authored-by: Kevin BEAUGRAND <contact@kbeaugrand.fr>
Co-authored-by: Kevin BEAUGRAND <9513635+kbeaugrand@users.noreply.github.com>

* 1914 Change the name of the solution (#2179)

* #2167 implement dashboard metrics for aws (#2184)

* Catch startup exception

* Fix #2080 - Update AWS template deployment and CI

* Refactor the AWS External Device Service (#2185)

* #2110 Refactor AWS External Device

- Remove AWS Exterrnal Device
- Calls to AWS APIs in the respective services
- Add methods to mutualize in IExternalDeviceService

* #2110 Add missing TU

* #2110 Add AWSExternalDeviceService TU

* #2190 bug can not remove device which is not in aws (#2198)

* Hide certificates when getting the magic ommand

* can remove devices that are not in AWS

* Fix tests => in next commit

* Fix failed tests

---------

Co-authored-by: Kevin BEAUGRAND <contact@kbeaugrand.fr>

* #2191 remove edge model should remove its thing type (#2199)

* Hide certificates when getting the magic ommand

* Deleting a deployment will deprecate its thing type

---------

Co-authored-by: Kevin BEAUGRAND <contact@kbeaugrand.fr>

* #2192 remove aws deprecated thing types after 5mns (#2200)

* Hide certificates when getting the magic ommand

* Remove AWS Thing type that was deparecated for 5mn ago

* refacto

---------

Co-authored-by: Kevin BEAUGRAND <contact@kbeaugrand.fr>

* Fix #2219 (#2220)

* Fix merge issues from main

* Update solution

* Fix deployment parameters

* Enable E2E tests

* Comment E2E tests

* #2169 improve aws exceptions management (#2207)

* Improve AWS exceptions (1)

* improve AWS exceptions (2)

* delete using

* Improve AWS exceptions (3)

* delete unused using instructions

* fix some code scanning warning

* fixed

* Failed tests to fix

* Improve AWS Exception

* Fix some warnings

* Update AWSEdgeDevicesService.cs

* DeleteDynamicGroups when deleting thing type

* hide configuration menu for AWS Support (#2235)

* Merge create and edit device screen (#1992)

* merge create and edit device screen

* fix unit tests

* update unit tests

* fix solution project

* update unit tests

* update unit tests

* update unit tests

* update unit tests

* update unit tests

* update unit tests

---------

Co-authored-by: GuillaumeM <mourlonguillaume@gmail.com>

* Fix get device credentials error when introducing AWS

* Fix #2238 - Disable LoraWANSupport in AWS

* Remove backup CSProj file

* Add cloud provider condition that was missing

---------

Co-authored-by: DELAGE Raphaël <36408929+delager@users.noreply.github.com>
Co-authored-by: ssgueye2 <127868584+ssgueye2@users.noreply.github.com>
Co-authored-by: delager <raphael.delage@cgi.com>
Co-authored-by: hocine hacherouf <hacherouf.hocine@gmail.com>
Co-authored-by: ropiteauxi <ivan.ropiteaux@cgi.com>
Co-authored-by: Ivan ROPITEAUX <ivan.ropiteaux@gmail.com>
Co-authored-by: GuillaumeM <mourlonguillaume@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Story: As a developper, I want to use Amazon S3 to store and expose devices images
2 participants