Frontend deployment
The frontend-updater manages the G7 front-ends, both in the cloud (through AWS S3 and CloudFront) and on-premises.
Important
All front-ends must follow this folder format in S3 for this update service to function correctly.
What can you do:

An origin is an S3 bucket with all the static files that form a front-end: HTML files, JS, CSS, libraries, images, among others.
These files must be in the format app/domain/service/version/files, where:
- app: it is a front-end grouper that has a similar subject. Generally represents an item from the first level of the menu, such as HCM, ERP, etc.;
- domain: name of the domain to which this front-end belongs;
- service: name of the service to which this front-end belongs;
- version: front-end version;
- files: the files that actually make up the front-end.

The name of the origin is br-com-senior-platform-frontend-updater-default-origin, and within it there is the front-end: Tecnologia/platform/notifications/1.0.1, that is:
- app: technology;
- domain: platform;
- service: notifications;
- version: 1.0.1.
- Go to Technology > Administration > Front-end implementation;
- click inOrigins, the list of existing sources will be displayed, and clickTo add;
- Fill in the origin information: type, name and identification;
- click inTo save.

- Go to Technology > Administration > Front-end implementation;
- click inOrigins to view a list of existing sources;
- Select a source and clickservices to list all frontends available from that source;
- Click on the buttonTo update for the update service to read the contents of the S3 Bucket and update the listing.
What can you do:

AWS S3 Bucket destinations are currently supported, for use in the cloud, configured to expose your files through the AWS CDN, CloudFront. And the File System type, for on-premises use.
Bucket S3
A Bucket must be created to store the front-ends in use, which will be exposed through the Amazon CDN. This way they will have better performance, using the global cache and always accessing the point closest to where the user is. Create an empty Bucket in S3 that will be used as a destination, and also create a new distribution in CloudFront pointing to this bucket. Each CloudFront distribution has an ID in string format that will be used when registering on the platform.
File System
This destination is used when the platform is used on-premises. Normally points to the root folder of nginx HTMLs (by default: /usr/share/nginx/html, on Linux).
- Go to Technology > Administration > Front-end implementation;
- click inDestiny, to view a list of existing destinations, and clickTo add;
- Fill in the destination information: type, name, and base URL. The new fields will be displayed according to the selected type;
- click inTo save.
Note
It is not possible to configure a "mixed" environment, with some front-ends configured for cloud use and others for on-premises use.

- Go to Technology > Administration > Front-end implementation;
- click inTo add and select the frontend source. click inOK;
- In the list of all front-ends available for installation that this source has, click on a service to view all its versions;
- click inInstall next to the version or select multiple frontends simultaneously and click Install selected;
- Select the destination where the front-end will be deployed and the module where the config.json file will be applied, clickInstall;
- A notification will appear upon completion of the process and the front-end will be listed on the Deployment screen.

To update or remove an existing front-end, go to Technology > Administration > Front-end deployment and search for the service in the search field.
To remove, select the desired frontend and clickRemove installation. In case of update, change the fieldVersion and clickTo apply. A notification will appear at the end of both processes.

The front-end must contain in its specification which services it has as dependencies. The frontend-updater compares this information with the services running in the environment, with the aim of warning about possible problems in advance. When an unsupported version is identified during your front-end deployment, a notification is sent to the user who requested the deployment.
Additionally, you can view this information through your deployments screen. To consider a dependency as met, the following rules are considered:
- Versioning must be semantic and without prefix/suffix, just major.minor.patch;
- The larger version should be the same;
- The lowest version of the running service must be greater than or equal to the version of the dependency.