A comprehensive DevSecOps resource hub featuring security tools, learning paths, code examples, and best practices for integrating security into your DevOps pipeline. This project serves as a curated collection of resources to help developers, security professionals, and DevOps engineers implement security measures throughout the software development lifecycle.
The primary goal of this project is to bridge the gap between development, security, and operations teams by providing:
- Educational Resources: Curated content to learn DevSecOps concepts from basics to advanced topics
- Practical Tools: A comprehensive directory of security tools with categorization and comparison
- Implementation Guidance: Real-world examples and best practices for implementing security in CI/CD pipelines
- Community Collaboration: A platform for sharing knowledge and experiences in DevSecOps practices
- Roadmap Guidance: Structured learning paths for different roles and skill levels
- π οΈ Tools Directory: Discover and compare security tools across multiple categories
- π Learning Resources: Curated books, courses, videos, and practice platforms
- π£οΈ DevSecOps Roadmap: Step-by-step learning path from beginner to expert
- π» Code Examples: Ready-to-use configurations for CI/CD pipelines
- π₯ Community: Contribution guidelines and collaboration resources
Integrating security into your DevOps practices offers numerous benefits:
- Early Vulnerability Detection: Identify and fix security issues early in the development cycle
- Faster Remediation: Reduce time to fix security vulnerabilities with automated scanning
- Reduced Risk: Minimize security-related incidents in production environments
- Compliance: Meet regulatory requirements with built-in security checks
- Cost Efficiency: Address security issues earlier when they're less expensive to fix
- Collaboration: Foster better cooperation between development, security, and operations teams
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher)
- npm or yarn package manager
- Git for version control
-
Clone the repository:
git clone https://github.com/hautph/awesome-devsecops-v2.git cd awesome-devsecops-v2 -
Install dependencies:
npm install # or yarn install # or bun install
-
Start the development server:
npm run dev # or yarn dev # or bun dev
-
Open your browser: Visit
http://localhost:3000to see the application running.
awesome-devsecops-v2/
βββ src/
β βββ app/ # Next.js 13+ app directory
β β βββ api/ # API routes
β β βββ community/ # Community page
β β βββ examples/ # Code examples
β β βββ resources/ # Learning resources
β β βββ roadmap/ # DevSecOps roadmap
β β βββ tools/ # Tools directory
β β βββ globals.css # Global styles
β β βββ layout.tsx # Root layout
β β βββ page.tsx # Home page
β βββ components/ # React components
β β βββ layout/ # Layout components
β β βββ ui/ # UI components (shadcn/ui)
β βββ data/ # Static data files
β β βββ tools.json # Tools database
β β βββ resources.json # Learning resources
β β βββ roadmap.json # Roadmap data
β β βββ examples.json # Code examples
β βββ hooks/ # React hooks
β β βββ use-mobile.ts # Mobile detection hook
β β βββ use-toast.ts # Toast notification hook
β βββ lib/ # Utility functions
β β βββ db.ts # Database utilities
β β βββ types.ts # Type definitions
β β βββ utils.ts # Helper functions
β βββ types/ # Type definitions
β βββ index.ts # Shared type definitions
βββ public/ # Static assets
βββ .env.example # Environment variables example
βββ .gitignore # Git ignore rules
βββ next.config.ts # Next.js configuration
βββ package.json # Project dependencies
βββ tailwind.config.ts # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run format- Format code with Prettiernpm run db:push- Push Prisma schema to databasenpm run db:generate- Generate Prisma clientnpm run db:migrate- Run Prisma migrationnpm run db:reset- Reset Prisma databasebun run dev- Start development server with Bunbun run build- Build for production with Bunbun run start- Start production server with Bunbun run db:push- Push Prisma schema to database with Bunbun run db:generate- Generate Prisma client with Bunbun run db:migrate- Run Prisma migration with Bunbun run db:reset- Reset Prisma database with Bun
- SonarQube
- Semgrep
- CodeQL
- Bandit
- Brakeman
- OWASP ZAP
- Burp Suite
- Nuclei
- Snyk
- OWASP Dependency-Check
- Trivy
- Trivy
- Clair
- Hadolint
- Falco
- Checkov
- tfsec
- Terrascan
- KICS
- GitLeaks
- TruffleHog
- HashiCorp Vault
- detect-secrets
The platform includes categorized learning materials:
- Books: Comprehensive security guides
- Courses: Online training programs
- Videos: Tutorial and conference talks
- Practice Platforms: Hands-on CTF and labs
- Documentation: Official guides and references
Follow our structured learning path:
- Beginner (4-6 weeks): Fundamentals and basic tools
- Intermediate (8-12 weeks): Advanced tools and practices
- Advanced (12-16 weeks): Expert-level security architecture
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name
- Make your changes
- Commit your changes:
git commit -m "Add: your feature description" - Push to your fork:
git push origin feature/your-feature-name
- Create a Pull Request
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass
- Use conventional commit messages
To add a new tool to the database:
- Edit
src/data/tools.json - Add tool object with required fields:
{ "id": "tool-name", "name": "Tool Name", "description": "Brief description", "categories": ["category-id"], "type": "open-source|freemium|commercial", "website": "https://tool-website.com", "github": "https://github.com/user/repo" } - Add category if needed in the categories array
To contribute learning resources or code examples:
- Learning Resources: Edit
src/data/resources.jsonfollowing the existing structure - Code Examples: Add to
src/data/examples.jsonwith proper categorization - Roadmap Updates: Modify
src/data/roadmap.jsonto improve learning paths - Ensure all contributions follow the existing JSON schema and include proper descriptions
- Framework: Next.js 16+ (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- Icons: Lucide React
- State Management: React Hooks, Zustand
- Data Fetching: TanStack Query
- Forms: React Hook Form with Zod validation
- Charts: Recharts
- Animations: Framer Motion
- Drag & Drop: @dnd-kit
- Data Tables: TanStack Table
- Authentication: NextAuth.js
- Internationalization: next-intl
- Database: Prisma ORM
- Data: Static JSON files
- Linting: ESLint
- Formatting: Prettier
Create a .env.local file for environment-specific configurations. You can reference the .env.example file in the project root:
# Analytics (optional)
NEXT_PUBLIC_GA_ID=your-google-analytics-id
# API Keys (if needed)
API_KEY=your-api-key
# Database URL (if using database)
DATABASE_URL=your-database-url- Theme: Modify
src/app/globals.cssandtailwind.config.ts - Components: Customize UI components in
src/components/ui/ - Data: Update JSON files in
src/data/or configure Prisma database inprisma/schema.prisma - Database: Manage database schema and migrations with Prisma commands
This project follows DevSecOps security best practices:
- Regular dependency updates with automated scanning
- Static Application Security Testing (SAST) integration
- Secure configuration defaults following security-first principles
- Input validation and sanitization throughout the application
- Adherence to security guidelines for all integrated tools and services
- Proper handling of secrets and environment variables
This project is licensed under the MIT License - see the LICENSE file for details.
The project is open source and contributions are welcome. By contributing, you agree that your contributions will be licensed under the same MIT License.
- shadcn/ui for the excellent component library
- Tailwind CSS for styling
- Next.js for the framework
- TypeScript for type safety
- React for the UI library
- The DevSecOps community for tools and resources
- Lucide React for beautiful icons
- Radix UI for accessible UI primitives
- Issues: Report bugs on GitHub Issues
- Discussions: Join our GitHub Discussions
- Community: Connect with other DevSecOps practitioners
We regularly update:
- Tool database with new security tools
- Learning resources and tutorials
- Roadmap with current best practices
- Code examples for modern CI/CD platforms
Star this repository if you find it useful! β
Made with β€οΈ for the DevSecOps community