Thank you for your interest in contributing to the OpenVAS Installation project! This repository hosts a script to automate the installation of OpenVAS (Greenbone Community Edition) on Debian 12 systems. We appreciate community feedback to improve the script and documentation, and we welcome your suggestions to enhance the project’s quality and security.
To maintain consistency and ensure alignment with our project goals, we do not accept pull requests. Instead, we encourage contributors to submit issues to report bugs, suggest enhancements, or propose documentation improvements. Our maintainers will review these issues and implement the approved changes ourselves. This document outlines the guidelines for contributing via issues.
- Code of Conduct
- How to Contribute
- Development Setup
- Issue Submission Process
- Style Guidelines
- Testing
- License
- Contact
This project adheres to a Code of Conduct. By participating, you are expected to uphold this code, fostering an open, inclusive, and respectful environment for all contributors.
We welcome contributions in the form of issues to report bugs, suggest enhancements, or propose documentation improvements. We do not accept pull requests, as all changes are implemented by our maintainers to ensure consistency and adherence to project standards. Below are the ways you can contribute:
If you encounter a bug or issue with the script, please report it:
- Check Existing Issues: Ensure the bug hasn’t already been reported by searching the Issues page.
- Open a New Issue: Use the bug report template provided in the repository. Include:
- A clear and descriptive title.
- Steps to reproduce the issue.
- Expected and actual behavior.
- Relevant logs (e.g., from
/var/log/openvas_install.log). - System details (e.g., Debian version, hardware specs).
- Label the Issue: Apply the
buglabel to help us prioritize it.
We welcome ideas to improve the script or its functionality:
- Search for Duplicates: Check the Issues page to avoid submitting duplicate suggestions.
- Use the Enhancement Template: Submit your idea via an issue using the enhancement template. Include:
- A detailed description of the proposed feature or improvement.
- Use cases or benefits of the enhancement.
- Any potential challenges or considerations.
- Label the Issue: Apply the
enhancementlabel.
Documentation improvements are highly valued, including updates to README.md, CONTRIBUTING.md, or inline script comments:
- Open an Issue: Propose documentation changes via an issue, describing the suggested edits or additions.
- Provide Details: Include specific suggestions, such as corrected text, new sections, or improved examples.
- Label the Issue: Apply the
documentationlabel. - Focus Areas: Clarify instructions, fix typos, improve examples, or add troubleshooting tips.
If you want to test the script or reproduce issues locally to provide detailed feedback:
-
Prepare a Debian 12 System:
- Use a clean, fully updated Debian 12 installation (physical, virtual, or containerized).
- Ensure root access and internet connectivity.
- Allocate at least 1GB of free disk space for source, build, and install directories.
-
Clone the Repository:
git clone https://github.com/Kastervo/OpenVAS-Installation.git cd OpenVAS-Installation -
Install Dependencies:
- Run the script’s dependency installation step to ensure required tools are available:
./openvas_install.sh
- Stop after the
install_packagesfunction to avoid full installation during testing.
-
Test the Script:
- Run the script or specific functions to reproduce issues or verify behavior.
- Document your findings in the issue (see Testing).
To contribute, follow these steps to submit an issue:
-
Open an Issue:
- Use the appropriate issue template (
bug,enhancement, ordocumentation). - Provide a clear description, including:
- For bugs: Steps to reproduce, expected vs. actual behavior, logs, and system details.
- For enhancements: Detailed explanation, use cases, and potential challenges.
- For documentation: Specific changes, corrected text, or new content suggestions.
- Apply the correct label (
bug,enhancement, ordocumentation).
- Use the appropriate issue template (
-
Discuss with Maintainers:
- Maintainers will review your issue and may request additional details or clarification.
- Engage in the discussion to refine the proposal or confirm the issue.
- Approved issues will be prioritized for implementation by the maintainers.
-
Implementation by Maintainers:
- Once an issue is approved, maintainers will implement the changes in the
masterbranch. - You may be asked to test the implemented changes in a future release to confirm they address your issue.
Note: We do not accept pull requests. Any pull requests submitted will be closed with a request to open an issue instead. This ensures all changes are thoroughly vetted and implemented consistently by our team.
- Once an issue is approved, maintainers will implement the changes in the
To help maintainers implement your suggestions, please align your issue descriptions with our style guidelines where applicable.
For bug reports or enhancement suggestions related to openvas_install.sh:
- Reference ShellCheck: If suggesting code changes, ensure they pass
shellcheckchecks. - Formatting:
- Suggest 4-space-sized tabs indentation.
- Recommend breaking long lines at logical points (max 80 characters where possible).
- Comments:
- Suggest comments before functions to explain their purpose.
- Recommend inline comments for complex logic.
- Include references to Greenbone documentation (e.g.,
URL: https://greenbone.github.io/...) if relevant.
- Logging:
- Suggest using the
logfunction for all output (INFO,WARN,ERROR). - Recommend clear messages with relevant details (e.g., paths, error codes).
- Suggest using the
- Error Handling:
- Suggest using
run_commandfor commands that require error checking. - Recommend exiting with appropriate status codes on failure.
- Suggest using
- Security:
- Emphasize least privilege (e.g., restrict file permissions, use
gvmuser). - Suggest validating inputs and external data (e.g., GPG signatures).
- Align with certain compliance frameworks where applicable.
- Emphasize least privilege (e.g., restrict file permissions, use
For documentation-related issues:
- Format:
- Suggest proper Markdown syntax (e.g.,
#for headings,**for bold). - Recommend keeping lines under 80 characters.
- Suggest bullet points or numbered lists for clarity.
- Suggest proper Markdown syntax (e.g.,
- Tone:
- Recommend clear, concise, and professional language.
- Avoid jargon unless defined.
- Structure:
- Suggest including a table of contents for longer documents.
- Recommend logical organization (e.g., prerequisites before usage).
- Examples:
- Provide complete, testable code snippets (e.g.,
sudo ./openvas_install.sh). - Suggest fenced code blocks (
bash ...).
- Provide complete, testable code snippets (e.g.,
- Links:
- Recommend referencing Greenbone documentation or authoritative sources.
- Ensure URLs are valid and use HTTPS.
When submitting issues, include detailed testing information to help maintainers reproduce and address them:
- Test Environment:
- Use a fresh Debian 12 installation (VM or container recommended).
- Reset the environment between tests to avoid residual changes.
- Test Cases:
- For bugs: Provide steps to reproduce the issue and expected vs. actual behavior.
- For enhancements: Describe how the feature should work and any test scenarios.
- For documentation: Suggest how to verify the clarity or accuracy of the proposed changes.
- Log Review:
- Include relevant excerpts from
/var/log/openvas_install.logfor bugs. - Note any missing or unclear log messages.
- Include relevant excerpts from
- Security:
- Highlight any permission issues (e.g., incorrect
gvm:gvmownership). - Confirm whether GPG signature verification or SSL certificate generation behaves as expected.
- Highlight any permission issues (e.g., incorrect
- Screenshots or Outputs:
- If applicable, include terminal outputs, error messages, or screenshots in the issue.
By contributing to this project, you agree that your suggestions and feedback will be incorporated under the Apache License 2.0. Ensure your contributions comply with the license terms.
For questions or support, contact the maintainers via:
- GitHub Issues: Open an issue for bugs, enhancements, or documentation suggestions.
- Website: https://kastervo.com/.
Thank you for contributing to the OpenVAS Installation project! Your feedback and ideas help make vulnerability scanning more accessible and secure for everyone.