Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cyse7125-su24-team10/helm-webapp-cve-processor

The cve-processor Helm chart deploys a Go-based application designed to fetch CVE data from the CVE repository and push it to Kafka for further processing. The chart includes configuration for running the application as a Kubernetes job, secured access via environment variables, and a robust scaling policy.
https://github.com/cyse7125-su24-team10/helm-webapp-cve-processor

aws golang groovy helm jenkins kafka kubernetes semantic-release

Last synced: 3 days ago
JSON representation

The cve-processor Helm chart deploys a Go-based application designed to fetch CVE data from the CVE repository and push it to Kafka for further processing. The chart includes configuration for running the application as a Kubernetes job, secured access via environment variables, and a robust scaling policy.

Awesome Lists containing this project

README

        

# Helm CVE Processor

[![Amazon Web Services](https://img.shields.io/badge/Amazon%20Web%20Services-232F3E.svg?style=for-the-badge&logo=Amazon-Web-Services&logoColor=white)](https://aws.amazon.com/)
[![Golang](https://img.shields.io/badge/Go-00ADD8.svg?style=for-the-badge&logo=Go&logoColor=white)](https://golang.org/)
[![Jenkins](https://img.shields.io/badge/Jenkins-D24939.svg?style=for-the-badge&logo=Jenkins&logoColor=white)](https://www.jenkins.io/)
[![Groovy](https://img.shields.io/badge/Groovy-4298B8.svg?style=for-the-badge&logo=Apache-Groovy&logoColor=white)](https://groovy-lang.org/)
[![Docker](https://img.shields.io/badge/Docker-2496ED.svg?style=for-the-badge&logo=Docker&logoColor=white)](https://www.docker.com/)
[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-4169E1.svg?style=for-the-badge&logo=PostgreSQL&logoColor=white)](https://www.postgresql.org/)
[![Kubernetes](https://img.shields.io/badge/Kubernetes-326CE5.svg?style=for-the-badge&logo=Kubernetes&logoColor=white)](https://kubernetes.io/)
[![Helm](https://img.shields.io/badge/Helm-0F1689.svg?style=for-the-badge&logo=Helm&logoColor=white)](https://helm.sh/)
[![Semantic Release](https://img.shields.io/badge/Semantic%20Release-494949.svg?style=for-the-badge&logo=semantic-release&logoColor=white)](https://semantic-release.gitbook.io/)
[![Apache Kafka](https://img.shields.io/badge/Apache%20Kafka-231F20.svg?style=for-the-badge&logo=Apache-Kafka&logoColor=white)](https://kafka.apache.org/)

### Helm Chart Summary for cve-processor Application

**Description:**
The cve-processor Helm chart deploys a Go-based application designed to fetch CVE data from the CVE repository and push it to Kafka for further processing. The chart includes configuration for running the application as a Kubernetes job, secured access via environment variables, and a robust scaling policy.

**Specifications:**
- **Kubernetes Job:** Defines a one-time job to fetch CVE data and push it to Kafka.
- **InitContainer:** Ensures database schema migration using Flyway before the main job starts.
- **RBAC Configuration:** Includes a role and role binding that provides necessary permissions for jobs and secrets.
- **Horizontal Pod Autoscaler (HPA):** Automatically scales the application pods between 1 and 3 replicas based on CPU utilization.
- **Pod Disruption Budget (PDB):** Ensures at least one pod is available during disruptions.
- **Service Account:** Runs the job under a service account with no automounted tokens for added security.
- **Resource Limits:** Manages CPU and memory requests and limits for efficient resource usage.
- **Liveness and Readiness Probes:** Configured for health checks, ensuring the application is running and ready to serve requests.
- **Secrets Management:** Handles sensitive information such as database passwords and Kafka credentials using Kubernetes secrets.
- **Image Pull Secrets:** Securely pulls Docker images from Docker Hub using a personal access token (PAT).

**Usage:**
To deploy the cve-processor application using Helm, run the following command:
```
helm install cve-processor ./cve-processor -n cve-processor
```
Replace `-n cve-processor` with your desired namespace.

This Helm chart provides a scalable, secure, and reliable solution for fetching CVE data and pushing it to Kafka in a Kubernetes environment.