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

[#97] Rebrand the application in infrastructure configuration #115

Conversation

placek
Copy link
Contributor

@placek placek commented Feb 5, 2024

The changes introduced in this PR are part of a comprehensive effort to update the project's infrastructure configuration, documentation, and deployment scripts to align with the new project's code-name naming convention.

List of changes

  • Update project documentation: Revised the deployment documentation files as well as markdown files describing purpose and usage of the project components.
  • Update deployment configuration: Changed the Docker Compose configuration and associated dependencies (configuration files, environment setups, etc.) to match the updated project structure and naming conventions.
  • Update Grafana configurations: Updated service names and dashboard representations in Grafana configuration as well as other metrics services.
  • Rename and update Terraform infrastructure modules:
    • Renamed EC2 Terraform modules and updated their respective contents, including main configuration files, user data scripts, and variables.
    • Updated versions.tf to reflect changes in module naming.
    • Added new output file outputs.tf in the govtool-ec2 module for better resource management.
    • Removed the old outputs.tf file from the vva-ec2 module.
    • Updated ECR module variables.
  • Update Makefile for deployment workflow Updated the Makefile in the scripts/govtool directory to match the renamed components.
  • Rename project in tests and workflows: Modified the project name in the integration tests, backend tests, load tests, metrics tests, frontend workflows, etc… from 'vva' to 'govtool'.

Ryan Williams and others added 30 commits December 13, 2023 15:51
`cardano-db-sync` got a new version `sancho-3-0-0` which brings some breaking changes. This commit updates the SQL queries where needed.
…twork/metrics endpoint

Before there was no easy way to check current voting power of alwaysAbstain and noConfidence dreps. Now they are available in the network/metrics endpoint
Votes were counted in a wrong way, especially when it came to NoConfidence GAs and AlwaysNoConfidence DRep. The SQL query was modified and the problem is fixed
This commit encompasses a series of updates to the infrastructure configuration
of the GovTool project, aligning with the rebranding initiative detailed
in ticket #111. The modifications include renaming Terraform modules,
EC2 instances, and related infrastructure components from 'vva' to 'govtool'.

Technical Details:
- Updated the DEPLOY.md documentation to reference the new `govtool-ec2` module
  instead of the old `vva-ec2`.
- Renamed Terraform modules in `main.tf`. For instance, `vva-ecr-be` is now
  `govtool-ecr-backend`, and `vva-ecr-fe` is `govtool-ecr-frontend`.
- Updated various Terraform configurations, including resource names and module
  references, to reflect the new `govtool` naming.
- Renamed files and modules within the `infra/terraform/modules` directory,
  such as changing `vva-ec2` to `govtool-ec2` and updating associated files like
  `user_data.sh` and `variables.tf`.
- Adjusted the Makefile in the `scripts/govtool` directory to check for
  the renamed Terraform module `govtool-$(env)-$(cardano_network)`.
@placek placek linked an issue Feb 5, 2024 that may be closed by this pull request
3 tasks
adgud
adgud previously approved these changes Feb 6, 2024
MSzalowski
MSzalowski previously approved these changes Feb 7, 2024
Copy link
Contributor

@MSzalowski MSzalowski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - I just left the 2 comments that you might have a look at

.github/workflows/lighthouse.yml Outdated Show resolved Hide resolved
tests/govtool-backend/test_cases/conftest.py Outdated Show resolved Hide resolved
This commit encompasses a significant update to the backend testing suite,
aligning it with the GovTool rebranding as part of ticket #111. The changes
include renaming test directories, files, and updating references within
the test cases to reflect the new project codename.

Technical Details:
- Renamed the backend testing directory from `tests/vva-be` to `tests/govtool-backend`.
- Updated `.github/workflows/test_backend.yml` to reference the new test directory and updated project URLs.
- Renamed several files within the test directory, including `.env.example`, `.gitignore`, `README.md`, `config.py`, and various test case files.
- Modified test case files to replace 'vva' references with 'govtool', ensuring the tests are correctly aligned with the updated backend application name.
This commit implements a series of changes to the integration tests for
the GovTool frontend, aligning them with the rebranding effort as outlined
in the ticket #111. The modifications include renaming test directories,
files, and updating references within the test cases to reflect the new
project codename 'govtool'.

Technical Details:
- Renamed the frontend testing directory from `tests/vva-fe` to `tests/govtool-frontend`.
- Updated `.github/workflows/test_integration_cypress.yml` to reference the new test directory and updated project URLs.
- Renamed various files within the test directory, including `.gitignore`, `README.md`, configuration files, and numerous test case files.
- Adjusted test case files to replace 'vva' references with 'govtool', ensuring the tests are accurately aligned with the updated frontend application name.
- Renamed the package in `package.json` from `vva-fe-test` to `govtool-frontend-test`.
This commit involves updating the infrastructure tests to align with
the GovTool rebranding, as part of the work on ticket #111. The changes
include modifying various configuration files, scripts, and documentation
to replace references to the old project codename 'vva' with
the new 'govtool' codename.

Technical Details:
- Updated `.env.example` in the `tests/test-infrastructure` directory to use `STACK_NAME=govtool`.
- Revised `README.md` to reflect the new project name in the test infrastructure documentation.
- Modified `deploy-swarm.sh` script, changing comments and deployment labels to mention 'govtool' instead of 'vva'.
- Updated `docker-compose-services.yml` and `docker-compose.yml` files to use the new project name in service definitions and deployment constraints.
- Adjusted `gen-configs.sh` to generate secrets with the 'govtool' prefix, ensuring compatibility with the updated project setup.
This commit encompasses modifications to the metrics tests, part of the larger
effort to align all parts of the project with the GovTool rebranding,
as detailed in ticket #97. The changes include updates to configuration files
and documentation, ensuring they accurately reflect the new project codename.

Technical Details:
- Updated `.env.example` in the `tests/test-metrics-api` directory, changing `PGDATABASE='vva'` to `PGDATABASE='govtool'`.
- Revised `README.md` to update the description, indicating that the API is now associated with the GovTool app instead of 'vva'.
- These changes are critical to ensure consistency and clarity in the metrics tests, aligning them with the GovTool project's new naming conventions and ensuring accurate data logging and metrics gathering.
This commit involves a comprehensive rebranding of the load testing suite
from 'vva' to 'GovTool', as part of the ongoing efforts detailed in ticket #111.
This update ensures all aspects of the load testing, including Java class names,
Maven group and artifact IDs, and configuration settings, are consistent with
the new GovTool naming convention.

Technical Details:
- Updated Maven `pom.xml`, changing `groupId` and `artifactId` to reflect the GovTool project.
- Renamed various Java classes in the `tests/load-testing` directory from `org.cardano.vva` to `org.cardano.govtool`.
- Updated configuration files `gatling.conf` and `recorder.conf` to reflect the new project name.
This commit updates the Lighthouse workflow configuration to align with
the GovTool project rebranding, as part of the ongoing changes detailed
in ticket #111. The modifications ensure that the Lighthouse workflow
accurately references the updated project structure and naming conventions.

Technical Details:
- Revised `.github/workflows/lighthouse.yml` to use the updated paths and file references for the GovTool project.
- Adjusted the cache key in the Lighthouse workflow to reference the correct `package-lock.json` files, changing from `tests/vva-fe` to `tests/govtool-frontend`.
- Ensured that the workflow steps are properly configured to work with the new GovTool project structure.
- These changes are essential for maintaining the integrity and efficiency of the Lighthouse performance testing in the CI/CD pipeline, ensuring it reflects the current state of the GovTool project.
This commit updates the Sonar Scan workflow configuration to reflect
the new codename of the project - GovTool, as part of the restructuring
outlined in ticket #111. The changes ensure that the Sonar Scan workflow
is properly aligned with the new project name, particularly for the
frontend component of the GovTool application.

Technical Details:
- Modified `.github/workflows/frontend_sonar_scan.yml` to rename the workflow job from "Execute sonar-scanner on vva-fe" to "Execute sonar-scanner on govtool frontend".
- Ensured that the workflow steps are correctly configured to work with the GovTool frontend project.
@placek placek force-pushed the chore/97-rebrand-application-in-infrastructure-configuration branch from 72dc823 to 3817703 Compare February 7, 2024 10:12
This commit changes the naming convention for build versions in the GovTool
project Makefile, using the commit hash instead of the branch name.

This adjustment addresses potential issues with branch names containing
forbidden characters that may not be compatible with docker tag allowed
literals.

This modification enhances the robustness and reliability of the build
and deployment process, aligning with requirements of the branch naming
convention stated in CONTRIBUTING.md.

Technical Details:
- The new branch naming convention requires branch prefixes separated
  from actual branch name with slash character which is forbidden in
  docker tag naming[^1].

By utilizing the commit hash for build versioning, we ensure that each build
is traceable to a specific state of the codebase, enhancing traceability
and accountability in the development process.

[^1]: https://docs.docker.com/engine/reference/commandline/image_tag/
This commit introduces the capability to execute arbitrary Docker Compose
commands on target environments directly from the Makefile, significantly
enhancing operational flexibility and efficiency for managing
the GovTool project's infrastructure.

By enabling the execution of arbitrary Docker Compose commands, this enhancement
empowers developers and operators to perform complex orchestration tasks more
efficiently, directly aligning with DevOps best practices for automation
and management of containerized environments.

This addition facilitates a wide range of Docker Compose operations, such
as service management, logs monitoring, and environment diagnostics,
directly from the Makefile without the need for direct interaction
with the deployment server.

Technical Details:
- Updated `scripts/govtool/Makefile` to include a new `docker` recipe, allowing the execution of user-defined Docker Compose commands via the `cmd` variable.
- The recipe also ensures that the SSH key of the deployment server is added to known hosts, preventing interactive prompts that could hinder automated workflows.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants