Skip to content

Commit a8e2385

Browse files
committed
updating the readme
1 parent fdb27d3 commit a8e2385

File tree

6 files changed

+80
-1
lines changed

6 files changed

+80
-1
lines changed

β€ŽREADME.md

Lines changed: 80 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,80 @@
1-
# GCP DevSecOps Pipelines
1+
# GCP DevSecOps Pipeline
2+
3+
![License](https://img.shields.io/github/license/devsecblueprint/gcp-devsecops-pipeline?logo=license&style=for-the-badge)
4+
![Terraform Cloud](https://img.shields.io/badge/Terraform-Registry-purple?logo=terraform&style=for-the-badge)
5+
![GitHub Issues](https://img.shields.io/github/issues/devsecblueprint/gcp-devsecops-pipeline?logo=github&style=for-the-badge)
6+
![GitHub Forks](https://img.shields.io/github/forks/devsecblueprint/gcp-devsecops-pipeline?logo=github&style=for-the-badge)
7+
![GitHub Stars](https://img.shields.io/github/stars/devsecblueprint/gcp-devsecops-pipeline?logo=github&style=for-the-badge)
8+
![GitHub Last Commit](https://img.shields.io/github/last-commit/devsecblueprint/gcp-devsecops-pipeline?logo=github&style=for-the-badge)
9+
![CI Status](https://github.com/devsecblueprint/gcp-devsecops-pipeline/actions/workflows/default.yml/badge.svg?style=for-the-badge)
10+
11+
This project provides an opinionated DevSecOps pipeline for Google Cloud Platform (GCP), built with Terraform and GitHub Actions. It integrates security best practices into the software development lifecycle to ensure secure, automated infrastructure deployments.
12+
13+
## 🧱 Project Structure
14+
15+
```text
16+
gcp-devsecops-pipeline/
17+
β”œβ”€β”€ .github/workflows/ # CI/CD pipelines using GitHub Actions
18+
β”‚ β”œβ”€β”€ default.yml # Default pipeline for miscellaneous jobs
19+
β”‚ β”œβ”€β”€ terraform-apply.yml # Runs Terraform apply operations
20+
β”‚ └── terraform-linter.yml # Lints Terraform code for best practices
21+
β”œβ”€β”€ assets/ # Diagrams and visual assets
22+
β”‚ └── infra_architecture.drawio.svg
23+
β”œβ”€β”€ terraform/ # Main Terraform configuration for GCP
24+
β”‚ β”œβ”€β”€ data.tf
25+
β”‚ β”œβ”€β”€ main.tf
26+
β”‚ β”œβ”€β”€ provider.tf
27+
β”‚ β”œβ”€β”€ variables.tf
28+
β”‚ └── modules/
29+
β”‚ └── pipelines/ # Reusable Terraform modules
30+
β”‚ β”œβ”€β”€ main.tf
31+
β”‚ └── variable.tf
32+
β”œβ”€β”€ LICENSE # Project license
33+
β”œβ”€β”€ .gitignore # Git ignored files
34+
└── README.md # Project documentation
35+
```
36+
37+
## πŸš€ Features
38+
39+
- **Infrastructure as Code (IaC):** Uses Terraform to define and manage infrastructure in GCP.
40+
- **Modular Design:** Core infrastructure and pipeline logic are separated into reusable modules.
41+
- **Security-first Pipelines:** GitHub Actions workflows include a Terraform linter and secure deployment workflow.
42+
- **Visual Architecture Diagram:** A visual reference of the infrastructure is provided under `assets/`.
43+
44+
## βš™οΈ Getting Started
45+
46+
1. **Clone the repository**
47+
48+
```bash
49+
git clone https://github.com/<your-org>/gcp-devsecops-pipeline.git
50+
cd gcp-devsecops-pipeline
51+
```
52+
53+
2. **Initialize and apply Terraform**
54+
55+
```bash
56+
cd terraform
57+
terraform init
58+
terraform plan
59+
terraform apply
60+
```
61+
62+
3. **Review GitHub Workflows**
63+
64+
- Customize `.github/workflows/terraform-apply.yml` and `.github/workflows/terraform-linter.yml` as needed for your environment.
65+
66+
## πŸ“Œ Prerequisites
67+
68+
- [Terraform CLI](https://developer.hashicorp.com/terraform)
69+
- A configured [GCP Service Account](https://cloud.google.com/iam/docs/service-accounts) with the appropriate roles
70+
- [GitHub Actions](https://docs.github.com/en/actions) configured for secret management and automation
71+
72+
## πŸ›‘οΈ Security Considerations
73+
74+
- Secrets must be stored securely using GitHub repository secrets.
75+
- Terraform linting helps enforce security standards pre-deployment.
76+
- Diagrams and modularization promote clarity and maintainability in infrastructure design.
77+
78+
## πŸ“„ License
79+
80+
This project is licensed under the terms of the [LICENSE](./LICENSE) file.

β€Žimage-1.png

-38.4 KB
Binary file not shown.

β€Žimage-2.png

-37.4 KB
Binary file not shown.

β€Žimage-3.png

-43.4 KB
Binary file not shown.

β€Žimage-4.png

-81.3 KB
Binary file not shown.

β€Žimage.png

-95.6 KB
Binary file not shown.

0 commit comments

Comments
Β (0)