Skip to content

hautph/awesome-devsecops-v2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Awesome DevSecOps v0.2.0

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.

🎯 Purpose & Goals

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

πŸš€ Features

  • πŸ› οΈ 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

πŸ’‘ Why DevSecOps?

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

πŸ“‹ Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v18 or higher)
  • npm or yarn package manager
  • Git for version control

πŸ› οΈ Installation

  1. Clone the repository:

    git clone https://github.com/hautph/awesome-devsecops-v2.git
    cd awesome-devsecops-v2
  2. Install dependencies:

    npm install
    # or
    yarn install
    # or
    bun install
  3. Start the development server:

    npm run dev
    # or
    yarn dev
    # or
    bun dev
  4. Open your browser: Visit http://localhost:3000 to see the application running.

πŸ—οΈ Project Structure

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

🎯 Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run start - Start production server
  • npm run lint - Run ESLint
  • npm run format - Format code with Prettier
  • npm run db:push - Push Prisma schema to database
  • npm run db:generate - Generate Prisma client
  • npm run db:migrate - Run Prisma migration
  • npm run db:reset - Reset Prisma database
  • bun run dev - Start development server with Bun
  • bun run build - Build for production with Bun
  • bun run start - Start production server with Bun
  • bun run db:push - Push Prisma schema to database with Bun
  • bun run db:generate - Generate Prisma client with Bun
  • bun run db:migrate - Run Prisma migration with Bun
  • bun run db:reset - Reset Prisma database with Bun

πŸ›‘οΈ DevSecOps Tools Included

Static Application Security Testing (SAST)

  • SonarQube
  • Semgrep
  • CodeQL
  • Bandit
  • Brakeman

Dynamic Application Security Testing (DAST)

  • OWASP ZAP
  • Burp Suite
  • Nuclei

Software Composition Analysis (SCA)

  • Snyk
  • OWASP Dependency-Check
  • Trivy

Container Security

  • Trivy
  • Clair
  • Hadolint
  • Falco

Infrastructure as Code (IaC) Security

  • Checkov
  • tfsec
  • Terrascan
  • KICS

Secrets Management

  • GitLeaks
  • TruffleHog
  • HashiCorp Vault
  • detect-secrets

πŸ“š Learning Resources

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

πŸ›£οΈ DevSecOps Roadmap

Follow our structured learning path:

  1. Beginner (4-6 weeks): Fundamentals and basic tools
  2. Intermediate (8-12 weeks): Advanced tools and practices
  3. Advanced (12-16 weeks): Expert-level security architecture

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch:
    git checkout -b feature/your-feature-name
  3. Make your changes
  4. Commit your changes:
    git commit -m "Add: your feature description"
  5. Push to your fork:
    git push origin feature/your-feature-name
  6. Create a Pull Request

Contribution Guidelines

  • Follow the existing code style
  • Add tests for new features
  • Update documentation as needed
  • Ensure all tests pass
  • Use conventional commit messages

πŸ“– Adding New Tools

To add a new tool to the database:

  1. Edit src/data/tools.json
  2. 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"
    }
  3. Add category if needed in the categories array

πŸ“š Contributing Resources and Examples

To contribute learning resources or code examples:

  1. Learning Resources: Edit src/data/resources.json following the existing structure
  2. Code Examples: Add to src/data/examples.json with proper categorization
  3. Roadmap Updates: Modify src/data/roadmap.json to improve learning paths
  4. Ensure all contributions follow the existing JSON schema and include proper descriptions

🎨 Technology Stack

  • 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

πŸ”§ Configuration

Environment Variables

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

Customization

  • Theme: Modify src/app/globals.css and tailwind.config.ts
  • Components: Customize UI components in src/components/ui/
  • Data: Update JSON files in src/data/ or configure Prisma database in prisma/schema.prisma
  • Database: Manage database schema and migrations with Prisma commands

🚨 Security

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

πŸ“„ License

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.

πŸ™ Acknowledgments

πŸ“ž Support

πŸ”„ Updates

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

About

πŸ›‘οΈ A curated list of awesome DevSecOps tools, best practices, and resources for securing CI/CD pipelines. Covers SCA, SAST, DAST, IaC, and Container Security.

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors