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

test: #231, #187, #224, #272 #277

Merged
merged 21 commits into from
Feb 23, 2024
Merged

test: #231, #187, #224, #272 #277

merged 21 commits into from
Feb 23, 2024

Conversation

MSzalowski
Copy link
Contributor

@MSzalowski MSzalowski commented Feb 23, 2024

List of changes

#231
#187
#224
#272
#205

jankun4 and others added 15 commits February 20, 2024 15:10
fix endpoints broken due to assumption that predefined dreps always exist, even if noone delegated to them
…ent environment

This commit updates the backend Nix configuration to better meet the
current project requirements and explicitly define the backend
development environment, including dependencies and toolchains. The key
changes include:

- Refactoring the default compiler setting to prevent it from being
  changed during runtime. This ensures a consistent development
  environment across all stages of development.
- Removing the dynamic GHC version parameter (`ghcVersion`) and directly
  referencing `ghc927` in `ghcPackages`, making the Haskell compiler
  version explicit and constant throughout the project lifecycle.
- The `additionalTools` function now directly utilizes `ghcPackages`
  instead of dynamically choosing the GHC version, reinforcing the
  commitment to a specific compiler version and its associated toolchain.
…ation

This commit introduces a preparatory note within the backend Nix
configuration, specifically in `govtool/backend/default.nix`, advising
on a future migration strategy towards Nix flakes.

The main change includes a TODO comment that has been added at the beginning
of the `default.nix` file, highlighting the intention to remove the
current `sources.nix` file dependency. The goal is to switch to using
the `nixpkgs` version provided by the flakes lock file, once the flakes
feature is fully integrated and enabled at the root of the project (#53).

This adjustment serves as a reminder to refine the project's Nix setup
further by adopting flakes, a more reproducible and modular Nix
configuration approach. The transition to Nix flakes is anticipated to
streamline dependency management and enhance project build consistency
across different environments.
This commit updates the CHANGELOG.md to reflect the recent adjustments
made to the backend Nix configuration, aimed at better meeting the
project's needs.
This is a pre-step before implementing an exception that will be applied
only to dev environment. This update facilitates easier development and
testing by allowing local frontend applications to communicate with the
backend without CORS restrictions.

For development purposes, Cross-Origin Resource Sharing (CORS) settings
have been updated to include `localhost` in the list of allowed origins.
In next step the configuration for different environments will be stated
explicite in target docjer-compose file.
In preparation for a more modular and environment-specific
docker-compose setup, the existing docker-compose configuration has been
renamed to `docker-compose.node+dbsync.yml`. This change marks a
pre-step towards introducing separate docker-compose files for each
environment, aiming to streamline development processes and improve
clarity.
As part of streamlining the development environment and preparing for a
more granular docker-compose file strategy, the unused
`docker-compose.yml` file within the `scripts/govtool` directory has
been removed. This removal is in alignment with efforts to declutter the
project's configuration files and ensure that only relevant and
environment-specific docker-compose files are maintained. This change
aids in reducing confusion and simplifying the setup process for
developers, ensuring a focus on necessary services and configurations
for development and testing.
…ction

Updated the Makefile within the `scripts/govtool` directory to
dynamically select the docker-compose file based on the
`cardano_network` variable. This change introduces a new variable
`docker_compose_file` that constructs the docker-compose filename from
the given network environment (e.g., `docker-compose.mainnet.yml` or
`docker-compose.testnet.yml`). This adjustment allows for more flexible
deployment processes by automatically selecting the appropriate
docker-compose configuration for different Cardano network environments
during deployment, toggling maintenance mode, and executing other
docker-compose commands. The intent is to streamline deployment
workflows and enhance maintainability by reducing hardcoded references
to specific docker-compose files.
As part of improving the deployment process and environment management,
separate docker-compose files have been created for each environment:
development (dev), testing (test), staging, and beta. This change allows
for tailored configurations per environment, enhancing the ability to
manage unique settings, dependencies, and services required by each. The
`docker-compose.sanchonet.yml` file has been renamed to
`docker-compose.beta.yml` to align with this new structure.
Additionally, the Makefile has been updated to dynamically select the
docker-compose file based on the `env` variable, further streamlining
deployment operations. This modular approach not only simplifies
environment-specific deployments but also improves the overall
manageability and scalability of the infrastructure.
Updated the Docker Compose files for beta, dev, staging, and test
environments to hardcode the domain names for each respective
environment. This change ensures that the services within each
environment are accessible through predefined, environment-specific
URLs, enhancing clarity and reducing the reliance on dynamically
generated domain names based on environment variables. Specifically, the
changes include hardcoding the Grafana URL, status-service, backend API,
and frontend service URLs to their respective environment-specific
domains.

This change also addresses the original issue stated in #224 - an
exception on dev sever to apply specific CORS policy only there.

This adjustment facilitates more predictable deployment and
access patterns for services across different deployment stages.
…ming

Enhanced the Makefile in the `scripts/govtool` directory by introducing
a new variable, `compose_stack_name`, to standardize the naming convention for
Docker Compose projects across different environments. This variable
concatenates 'govtool' with the environment (`env`) and Cardano network
(`cardano_network`) identifiers to form a unified project name (e.g.,
`govtool-dev-sanchonet`). This modification simplifies the Makefile's
readability and maintainability by using `compose_stack_name` in place of
repeated concatenations throughout the file. Additionally, it ensures
consistent naming for Docker Compose projects, facilitating clearer
project management and deployment processes.
Corrected a typo in the `Makefile` under the `scripts/govtool` directory
that caused the Slack notification command to fail. The typo in the git
revision parsing command (`git-rev-parse HEAD`) was corrected to `git
rev-parse HEAD`, ensuring that the command correctly retrieves the
current commit hash. This fix ensures that notifications sent to Slack
upon deployment include the accurate commit hash from which the
deployment was made, improving traceability and communication in
deployment processes.
Copy link
Contributor

@pmbinapps pmbinapps left a comment

Choose a reason for hiding this comment

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

Updates needed for beta.

@MSzalowski MSzalowski merged commit ea0ef5f into test Feb 23, 2024
1 check 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.

5 participants