Important
Thank you for your interest in contributing to the Real-World DevOps/Cloud Projects For Learning repository! Your help is always appreciated, and together we can make this project even better for the entire DevOps community.
Note
There are several ways you can contribute to this project. Every contribution, no matter how small, helps make this repository better for everyone.
- Enhance existing documentation such as the README, setup guides, or usage instructions
- Add missing details or clarify complex sections to make it easier for others to understand
- Translate documentation to other languages to reach a broader audience
- Add visual aids like diagrams, screenshots, or flowcharts
- Identify and report bugs or unexpected behavior by opening an issue
- Provide detailed steps to reproduce the issue, along with screenshots or logs if applicable
- Suggest potential fixes or workarounds when reporting issues
- Propose new features or improvements by starting a discussion in the discussions section
- If you're implementing a feature, ensure it aligns with the project's goals and standards
- Consider the educational value and complexity level for learners
- Contribute new DevOps project setups, configurations, or workflows
- Improve existing setups by optimizing performance, security, or scalability
- Add projects covering new technologies or advanced DevOps concepts
- Ensure projects include comprehensive documentation and learning objectives
- Suggest best practices for DevOps workflows, CI/CD pipelines, or infrastructure management
- Recommend architectural improvements to enhance the project's maintainability and efficiency
- Share real-world experiences and lessons learned
- Contribute troubleshooting guides and common solutions
Tip
Follow these steps to get started with contributing to this project. This workflow ensures smooth collaboration and maintains project quality.
Create a personal copy of the repository by clicking the "Fork" button on the top-right corner of the repository page.
Clone your forked repository to your local machine:
git clone https://github.com/<your-username>/DevOps-Projects.git
cd DevOps-ProjectsReplace <your-username> with your GitHub username.
Create a new branch to work on your changes. Use a descriptive name for your branch:
git checkout -b feature/your-feature-nameImplement your changes or additions to the project. Ensure your changes are modular and follow the project's guidelines.
Test your changes thoroughly to ensure they work as expected and do not introduce new issues.
Write clear and concise commit messages that follow the conventional commit format:
git add .
git commit -m "feat: add new feature description"Push your branch to your forked repository:
git push origin feature/your-feature-nameNavigate to the original repository and open a pull request. Provide a detailed description of your changes, including the problem it solves or the feature it adds.
Important
To maintain consistency and readability across the project, adhere to the following code style guidelines.
- Indentation: Use consistent indentation (2 spaces for YAML, 4 spaces for most code files)
- File Naming: Use kebab-case for file names and directories
- Line Length: Keep lines under 100 characters when possible
- End of File: Ensure files end with a newline character
Use conventional commit prefixes to categorize your commits:
feat:- New features or functionalityfix:- Bug fixes or issue resolutionsdocs:- Documentation changesstyle:- Code style changes (formatting, etc.)refactor:- Code refactoring without functional changestest:- Adding or updating testschore:- Maintenance tasks, dependency updatessecurity:- Security-related changes
- Modularity: Keep your contributions small and focused on a single task or feature
- Documentation: Update or add relevant documentation for your changes
- Security: Follow security best practices outlined in our Security Policy
- Educational Value: Ensure contributions help learners understand concepts clearly
Caution
Before submitting your pull request, ensure all the following requirements are met. This helps maintain the quality and integrity of the project.
- Testing: Your changes have been tested and validated
- Code Quality: Your code follows the project's style and structure
- Documentation: Relevant documentation has been updated or added
- Security: Changes have been reviewed for security implications
- PR Description: Your pull request includes a clear and descriptive title and body
- Merge Readiness: Your branch is up-to-date with the main branch and resolves any merge conflicts
## Description
Brief description of what this PR changes.
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Documentation update
- [ ] Security improvement
- [ ] Other (please describe)
## Testing
- [ ] I have tested this change locally
- [ ] I have added relevant tests
- [ ] All existing tests pass
## Checklist
- [ ] My code follows the project's style guidelines
- [ ] I have updated the documentation as needed
- [ ] I have considered security implicationsNote
This repository has specific guidelines for different types of contributions to ensure educational value and consistency.
- Project Structure: Follow the established project directory structure
- Documentation: Include comprehensive README with prerequisites, setup steps, and learning objectives
- Complexity Level: Clearly indicate beginner, intermediate, or advanced level
- Technologies: List all tools, services, and technologies used
- Security: Ensure no sensitive data or credentials are included
- Consistency: Match the existing documentation style and formatting
- Accuracy: Verify all commands, links, and information are current
- Clarity: Write in clear, accessible language for learners
- Visuals: Add diagrams, screenshots, or flowcharts when helpful
- Root Cause: Address the underlying issue, not just symptoms
- Testing: Include tests to prevent regression
- Documentation: Update relevant documentation if behavior changes
- Communication: Explain the fix clearly in the PR description
Tip
We're here to help you contribute successfully! Don't hesitate to reach out if you need assistance.
- Issues: Open an issue for bugs or feature requests
- Discussions: Join the discussions to share ideas or ask for help
- Security: Report security concerns according to our Security Policy
- Telegram: ProDevOpsGuy Community
- GitHub: Use @ mentions to get maintainers' attention
- Reviews: Participate in code reviews to learn and help others
Note
Contributing to this project is a great way to grow your skills and make a positive impact on the DevOps community.
- Learn and Grow: Enhance your skills in DevOps, CI/CD, and infrastructure management
- Build Portfolio: Create a visible record of your contributions and expertise
- Stay Current: Work with the latest DevOps technologies and practices
- Collaborate: Work with a community of like-minded individuals passionate about DevOps
- Make an Impact: Your contributions help improve the project and benefit others in the community
- Mentor Others: Share your knowledge and help newcomers learn DevOps
- Networking: Connect with other DevOps professionals and enthusiasts
- Recognition: Get recognized for your expertise and contributions
- Experience: Gain real-world experience with diverse DevOps tools and scenarios
Important
We value every contribution and ensure contributors are recognized for their work.
- GitHub Contributors: All contributors are listed in the repository's contributor graph
- Project Credits: Significant contributions are acknowledged in project documentation
- Community Spotlight: Outstanding contributors may be featured in community communications
- Code Contributions: New projects, features, and bug fixes
- Documentation: Improvements to guides, tutorials, and explanations
- Community Support: Helping others in discussions and issues
- Security: Identifying and helping resolve security concerns
- Testing: Improving test coverage and quality assurance
Caution
By contributing to this repository, you agree that your contributions will be licensed under the same terms as the repository.
- License: All contributions are licensed under the repository's existing license
- Original Work: You confirm that your contributions are your original work
- Permissions: You have the right to contribute the code and documentation
- No Warranty: Contributions are provided "as is" without warranty
Thank you for contributing to the DevOps community! 🚀
Your contributions help make DevOps education accessible and impactful for learners worldwide. Together, we're building the most comprehensive resource for hands-on DevOps learning!