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

feature(tool): Implementation of the Appsettings files linter #11

Merged
merged 33 commits into from
Nov 21, 2023

Conversation

rgcouto
Copy link
Collaborator

@rgcouto rgcouto commented Aug 4, 2023

Appsetings Linter implementation

Description:
The current pull request proposes the implementation of an AppSettings Linter. This feature aims to improve the reliability and overall quality of application configuration files.

Motivation:
The configuration files play a crucial role in defining how applications behave in various environments. However, with increasing complexity, it's becoming challenging to keep track of all the setting definitions and potential errors. This often leads to unexpected issues, and difficulties in debugging.

Proposed Solution:
The AppSettings Linter is designed to tackle these challenges head-on. It will be a tool that scans the appsettings.json files for potential issues, inconsistencies, and adherence to the Stratio Vault Library syntax requirements. The linter will ensure that the configurations are correctly structured, appropriately typed, and free from common mistakes that might lead to runtime errors or security risks.

Implementation Details:
The AppSettings Linter is developed as a standalone utility using python. It can be integrated into CI/CD pipelines and run automatically during code reviews and deployments. A Docker image will also be implemented to improve an easier adoption of this tool.

Testing:
To ensure the reliability of the linter, comprehensive unit tests and integration tests will be created to cover various scenarios and edge cases.

Expected Impact:
By implementing the AppSettings Linter, the following benefits are expected to be achieved:

  • Increased confidence in configuration correctness and consistency.
  • Reduced risk of runtime errors due to misconfiguration.
  • Improved security posture by identifying and addressing potential vulnerabilities.
  • Streamlined code reviews, making it easier to maintain the integration of this library.

Thank you for your time and consideration. Let's work together to make this project even more robust and reliable!

@rgcouto rgcouto added the enhancement New feature or request label Aug 4, 2023
@rgcouto rgcouto self-assigned this Aug 4, 2023
@rgcouto rgcouto marked this pull request as ready for review August 9, 2023 13:21
.github/workflows/utils.yml Outdated Show resolved Hide resolved
utils/linter/Dockerfile Outdated Show resolved Hide resolved
utils/linter/src/validator/validator.py Show resolved Hide resolved
utils/linter/tests/resources/appsettings.AppRole.json Outdated Show resolved Hide resolved
@rgcouto rgcouto merged commit 83dd1ed into main Nov 21, 2023
14 checks passed
@rgcouto rgcouto deleted the feature/implementation-of-appsettings-linter branch November 21, 2023 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants