DefectDojo / django-DefectDojo

DevSecOps, ASPM, Vulnerability Management. All on one platform.
https://defectdojo.com
BSD 3-Clause "New" or "Revised" License
3.68k stars 1.54k forks source link

Add AWS ECS Compatibility to DefectDojo #11048

Open Busola-TR opened 1 week ago

Busola-TR commented 1 week ago

:warning: Note on feature completeness :warning:

Is your feature request related to a problem? Please describe.

As of now, DefectDojo doesn't provide built-in support for deploying on AWS ECS (Elastic Container Service), which makes it difficult for users running their services on ECS to easily deploy and manage DefectDojo containers. Managing ECS compatibility would streamline containerized deployments for users with AWS infrastructures.

Problem statement:
I am frustrated by the manual setup required to deploy DefectDojo on ECS. The current setup is more tailored for Kubernetes or Docker Compose, but there's no dedicated guide or configuration for AWS ECS.


Describe the solution you'd like

Solution overview:
To support users who prefer AWS ECS for container management, I propose introducing ECS-compatible task definitions, service configurations, and documentation that guides users through deploying DefectDojo on ECS.

Key additions:

  1. ECS Task Definitions: Add a JSON template for ECS task definitions to launch DefectDojo containers.
  2. Service Setup: Provide AWS-specific instructions for setting up Fargate or EC2-based ECS services.
  3. Networking: Ensure documentation includes necessary configurations for security groups, load balancers, and IAM roles for AWS ECS compatibility.
  4. Documentation: Extend the current deployment documentation to include a section for AWS ECS, complete with step-by-step instructions.

Describe alternatives you've considered


Additional context

Updates to existing documentation:


How to Test

  1. Deploy the updated version of DefectDojo using the provided ECS task definition.
  2. Ensure the application runs without issues on ECS, both using Fargate and EC2-based instances.
  3. Verify logging works with CloudWatch Logs based on the provided configurations.
  4. Test scalability by increasing the task count and ensuring that the ECS service properly handles the additional load.

Checklist:

mtesauro commented 1 week ago

@Busola-TR As a project, we've tried to stay away from vendor specific deploys - AWS, GCP, Azure, OpenShift, etc. directly in this repo.

We are happy to take contributions of guides, code or other ways to deploy DefectDojo - that's why we created the Community Contribs repo where you'll find several items that have been contributed by the community but aren't strictly DefectDojo source code. We have things like GKE, Rancher and Cloud Formation templates already in there.

https://github.com/DefectDojo/Community-Contribs

I'd be happy to approve a PR for this in Community Contribs - it appears like you've done this and have some experience you could share with the community which would be greatly appreciated by those with similar situations.