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

Enhance Analytics Dashboard, Metadata Service, and DRep Features; Multiple Fixes and Additions #1040

Merged
merged 190 commits into from
May 16, 2024

Conversation

pmbinapps
Copy link

Add:

#849 - Add a registry for the analytics-dashboard module
#849 - Add a target to build a docker image for analytics-dashboard
#849 - Add necessary environment variables to the deployment configuration
#849 - Add analytics-dashboard service to Docker Compose
#849 - Add missing docker login commands to target
#849 - Add a secret to analytics-dashboard
#876 - Add metadata/validate endpoint
#942 - Create govtool metadata submission service
#942 - Update govtool packages name
#876 - Add metadata/validate endpoint (second entry)
#904 - Add metadata-api deployment on test-stack
#1031 - Update GA links type
#1028 - Fix: Remove incorrectly appended filter yourself to drep directory

Fix:

#849 - Fix broken docker compose
#861 - Fix drep-explorer when...
#716 - Fix show more button display
#446 - Fix typo in status-service
#716 - Fix status pill colors
#716 - Center voting power
#877 - Change padding on chip
#888 - For sole voter view
#878 - Change padding on buttons; remove LoadingButton and add isLoading property
#874 - Fix frontend makefile
#1004 - Fix frontend deployment
#929 - Fix drep links
#957 - Fix drep/list drep type
#1025 - Fix test deployment workflow file
#961 - Fix drep panel clickable
#962 - Fix empty drep directory
#928 - Fix 404 page in drep directory
#1028 - Fix drep directory issues
#1006 - Fix backend config (committed twice)
#961 - Fix automated voting options layout
#961 - Fixes after CR
#974 - Fix backend config with metadata-validation service address
#876 - Fix broken metadata validation service
#920 - DRep details page Back button fix
#927 - Your DRep needs showing on detail page
#927 - Fixes after CR
#925 - In Progress DRep cards display fixes
#926 - DRep panel needs to be clickable
#920 - Fixes after CR
#897 - Fix slow delegation issue / usePendingTransaction fixes
#918 - Automated voting options layout fixes
#918 - Fixes after CR
#1042 - Fix frontend makefile
#897 - Fix slow delegation issue / usePendingTransaction fixes (duplicate)
#904 - Tests fix
#904 - Fix: Transaction locking
#1001 - Fix: Remove incorrectly appended filter yourself to drep directory
#1031 - Fix GA links type

Change:

#849 - Configure sanchogov.tools sub-domain for the analytics service
#849 - Move Makefiles to scripts directory
#849 - Use a more recent version of nixpkgs
#849 - Add build arg for docker image for analytics-dashboard
#716 - Change status pill colors
#716 - Center voting power
#897 - Use pending transaction fixes
#942 - Create govtool metadata submission service
#942 - Update govtool packages name
#1042 - Fix frontend makefile
#1042 - Fix test deployment workflow file
#1031 - Update GA links type
#876 - Refactor build scripts and gh-action
#897 - Fix slow delegation issue / usePendingTransaction fixes
#897 - Fix slow delegation issue / usePendingTransaction fixes (duplicate)

Remove:

#714 - Remove un-used services
#977 - Remove unnecessary code

NabinKawan and others added 30 commits April 22, 2024 10:37
This adds Terraform code that creats "participation" subdomains for each environments.
The exception is the beta environment, where DNS records are not handled with TF,
but need to be created manually.
Moved the Makefiles from various directories to the scripts directory
for better organization and consistency. Renamed the Makefiles
accordingly and updated the references within other files to use the new
paths in the scripts directory. This restructuring helps in streamlining
the build processes and eases maintenance tasks related to the make
files.
…for scripts and infrastructure to meet the requirements stated in the
terraform configuration

In this commit, changes have been made to the `flake.nix` file to
utilize a more recent version of nixpkgs for both scripts and
infrastructure. The modifications ensure that the scripts and
infrastructure align with the specified requirements in the terraform
configuration. Specifically, the nodePkgs import has been updated to
allow unfree packages, and the packages.scripts and packages.infra
sections have been adjusted to utilize the nodePkgs instead of
defaultPkgs. This adjustment guarantees that the scripts and
infrastructure components are in line with the necessary configurations,
enhancing compatibility and meeting the user story's demands.
A registry has been incorporated for the analytics-dashboard module
within the Terraform configuration. This modification introduces a new
module named "govtool-ecr-analytics-dashboard" sourced from
"./modules/ecr" with the repository name set to "analytics-dashboard."
By including this new module, the analytics-dashboard component is now
integrated into the infrastructure setup, aligning with the user story's
objective of configuring the sanchogov.tools sub-domain for the
analytics service.
Included a target in the Makefile to facilitate the creation of a Docker
image for the analytics-dashboard component. This addition enables the
generation and pushing of the analytics-dashboard Docker image as part
of the deployment process. By introducing this functionality, the build
process now encompasses the analytics-dashboard, supporting the user
story's aim of configuring the sanchogov.tools sub-domain for the
analytics service.
…ation

Include essential environment variables in the deployment configuration
for beta, dev, staging, and test environments. New environment variables
such as `NEXT_PUBLIC_GA4_PROPERTY_ID`, `GA_CLIENT_EMAIL`,
`GA_PRIVATE_KEY`, `GOOGLE_APPLICATION_CREDENTIALS`,
`SENTRY_IGNORE_API_RESOLUTION_ERROR`, and `NEXT_PUBLIC_API_URL` have
been added to the workflow files, enabling the successful deployment and
integration of the analytics-dashboard submodule. By introducing these
environment variables, the deployment process is now equipped with
essential information required for analytics functionality, aligning
with the user story's goal of configuring the `sanchogov.tools`
sub-domain for the analytics service.
Include a new service, analytics-dashboard, in the Docker Compose
configuration file located at
scripts/govtool/config/templates/docker-compose.yml.tpl. This addition
introduces the analytics-dashboard service to the existing setup,
allowing the service to be deployed as part of the infrastructure. The
analytics-dashboard service is configured with necessary environment
variables such as NEXT_PUBLIC_GA4_PROPERTY_ID,
GOOGLE_APPLICATION_CREDENTIALS, GA_CLIENT_EMAIL, GA_PRIVATE_KEY,
SENTRY_IGNORE_API_RESOLUTION_ERROR, and NEXT_PUBLIC_API_URL to enable
proper functionality. The service's health is monitored through defined
health check parameters, ensuring its stability within the deployment
environment. By integrating the analytics-dashboard service into the
Docker Compose setup, the infrastructure aligns with the user story's
goal of configuring the sanchogov.tools sub-domain for the analytics
service.
In this commit, additional docker login commands were incorporated into
the target in the `common.mk` file located at `scripts/govtool`. These
new commands facilitate the authentication process for various
repository URLs, ensuring access to the necessary Docker images during
the build and deployment phases. With these additions, the script now
covers the login requirements for the `analytics-dashboard`, `backend`,
`frontend`, `metadata-validation`, and `status-service` repositories.
Introduce a secret configuration for the analytics-dashboard service
within the Docker Compose setup. This modification includes the addition
of the `google-credentials.json` secret to enhance the security and
integrity of sensitive information utilized by the service. By
incorporating the secret, the analytics-dashboard service gains access
to the specified Google credentials, ensuring secure interactions with
external services and APIs, as mandated by the user story's requirement
to configure the `sanchogov.tools` sub-domain for the analytics service.
This target checks if $CI env variable is set to true, which indicates that the code
is executed in a CI runner, and sets up SSH client config to enable reusing of open
SSH connections. This should resolve SSH connections issues observed during deployments
git-subtree-dir: govtool/analytics-dashboard
git-subtree-split: 9d116a9c785edde019a243cee950eb4e476c633f
…vtools-sub-domain-for-the-analytics-service

[#849] Configure sanchogov.tools sub-domain for the analytics service
In this commit, the docker-compose file was modified to include the
`google-credentials.json` file as a secret volume. This change was made
to ensure that the necessary Google credentials are available for the
analytics service running on the `participation.sanchogov.tools`
sub-domain. Including the `google-credentials.json` file in the
docker-compose configuration is crucial for the proper functioning of
the analytics dashboard service.
In this commit, an argument (`NEXT_PUBLIC_API_URL`) was added to the
`Dockerfile` of the analytics-dasboard service. This change is necessary
to dynamically specify the API URL that the dashboard should connect to.
By introducing this build arg, the analytics dashboard service can now
adapt to different environments, like the
`participation.sanchogov.tools` sub-domain, as part of configuring the
analytics service under one domain tree.
…vtools-sub-domain-for-the-analytics-service

Fix configuration for analytics dashboard
…one-item-is-shown-show-more-button-is-also-shown-and-disappears-when-clicked

fix/861-drep-explorer-when-one-item-is-shown-show-more-button-is-also-shown-and-disappears-when-clicked
…l-defects

fix/716-drep-explorer-visual-defects
…o 226-retire-dreps-who-delegate-to-another-drep
MSzalowski and others added 20 commits May 15, 2024 10:47
…correctly-appended-filter-yourself-to-drep-directory

[#1028] fix: remove incorrectly appended filter yourself to drep directory
…ory-with-extra-result

fix/1019-empty-drep-directory-with-extra-result
…ep-directory

fix/928-not-404-page-in-drep-directory
…ed-after-change-from-drep-to-direct-voter

[#957] drep/list drep type fix
@MSzalowski
Copy link
Contributor

Deploy on test has failed due to broken test workflow configuration. It needs the revert but should not impact the staging workflow. If so - we will revert this as well.

@pmbinapps pmbinapps merged commit b36df05 into staging May 16, 2024
5 of 7 checks passed
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.