# Placeholder Files for Missing Screenshots

This directory contains placeholder files for all required screenshots. Replace these placeholders with actual screenshots when captured.

## Status Legend
- 📝 Placeholder - No image yet
- ✅ Complete - Image has been captured

---

## 01-pipeline-flow/

### Required Images:

| File | Status | Description |
|------|--------|-------------|
| `provision-dev-infra-logs.png` | 📝 | Azure DevOps ProvisionDevInfra logs showing Terraform outputs and pipeline variables |
| `org-creation.png` | 📝 | Azure DevOps organization creation page with organization name input and region selection |
| `new-project-creation.png` | 📝 | Azure DevOps new project creation dialog showing project name, visibility (Private), and Git version control selected |
| `git-push.png` | 📝 | Terminal showing git remote add and git push commands with Azure DevOps URL |
| `repo-files-view.png` | 📝 | Azure DevOps Repos → Files view showing repository structure with azure-pipelines.yml, course-cloud-security-app, infrastructure folders |
| `service-connections-settings.png` | 📝 | Azure DevOps Project Settings → Service connections page with "New service connection" button |
| `service-connection-creation.png` | 📝 | Service connection creation dialog showing Azure Resource Manager, Service principal (automatic), subscription selected, and service connection name filled in |
| `new-pipeline-wizard.png` | 📝 | Azure Pipelines "New pipeline" wizard showing "Existing Azure Pipelines YAML file" selected with /azure-pipelines.yml path |
| `pipeline-runs-completed.png` | 📝 | Azure DevOps pipeline run showing ProvisionDevInfra, Build, and DeployDev stages completed successfully |
| `service-connections-configured.png` | 📝 | Azure DevOps → Project Settings → Service connections showing configured Azure subscription connection |
| `managed-identity-enabled.png` | 📝 | Azure Portal → App Service → Identity showing system-assigned managed identity enabled |
| `key-vault-access-control.png` | 📝 | Azure Portal → Key Vault → Access control (IAM) showing role assignments for managed identity |

---

## 02-quality-gates/

### Required Images:

| File | Status | Description |
|------|--------|-------------|
| `pipeline-runs-completed.png` | 📝 | Azure DevOps pipeline run showing Validate, Build, and DeployDev stages completed successfully |
| `typecheck-output.png` | 📝 | Pipeline QualityGates job logs showing npm run typecheck output |
| `npm-test-output.png` | 📝 | Pipeline QualityGates job logs showing npm test output with test results |

---

## 03-security-scanning/

### Required Images:

| File | Status | Description |
|------|--------|-------------|
| `semgrep-cli-output.png` | 📝 | Semgrep CLI output showing findings in terminal with severity levels and file locations |
| `trivy-cli-output.png` | 📝 | Trivy CLI output showing vulnerability table with CVE IDs, severities, and affected packages |
| `sbom-generation.png` | 📝 | Terminal showing CycloneDX SBOM generation and sbom.json created |
| `semgrep-new-vulnerabilities.png` | 📝 | Semgrep output showing the 4 new vulnerabilities detected: hardcoded-secret, sql-injection-risk, dangerous-eval-usage, unsafe-cors-origin |
| `trivy-lodash-cve.png` | 📝 | Trivy output showing CVE-2020-8203 in lodash 4.17.15 with HIGH or CRITICAL severity |
| `parallel-security-jobs.png` | 📝 | Azure DevOps pipeline run showing Validate stage with 3 parallel jobs (QualityGates, SecurityCodeAnalysis, SecurityDependencyScanning) |
| `security-reports-artifacts.png` | 📝 | Azure DevOps pipeline artifacts showing security-reports folder with Semgrep, SBOM, and Trivy files |

---

## 04-checkov-iac/

### Required Images:

| File | Status | Description |
|------|--------|-------------|
| `checkov-summary.png` | 📝 | Checkov CLI output showing check summary (passed/failed/skipped) with check IDs |
| `inline-skip-comment.png` | 📝 | Terraform file with inline skip comment showing suppression syntax |
| `parallel-iac-scanning-jobs.png` | 📝 | Azure DevOps pipeline run showing Validate stage with 4 parallel jobs (QualityGates, SecurityCodeAnalysis, SecurityDependencyScanning, SecurityIaCScanning) |

---

## 05-owasp-zap/

### Required Images:

| File | Status | Description |
|------|--------|-------------|
| `zap-baseline-scan.png` | 📝 | ZAP Docker container running baseline scan in terminal showing progress and alerts |
| `zap-html-report.png` | 📝 | ZAP HTML report opened in browser showing alerts summary and detailed findings |
| `app-service-tls-settings.png` | 📝 | Azure App Service TLS/SSL settings showing minimum TLS version configuration |

---

## 06-artifact-promotion/

### Required Images:

| File | Status | Description |
|------|--------|-------------|
| `multi-stage-pipeline-runs.png` | 📝 | Azure DevOps pipeline run showing all stages (ProvisionDevInfra, Validate, Build, DeployDev, PostDeploymentTests, DeployTest) |
| `multi-stage-pipeline-runs-again.png` | 📝 | Azure DevOps pipeline run showing all stages (ProvisionDevInfra, Validate, Build, DeployDev, PostDeploymentTests, DeployTest) |
| `published-artifacts.png` | 📝 | Azure DevOps pipeline run → Artifacts section showing published artifacts (backend-app, security-reports) |
| `extracted-artifact-contents.png` | 📝 | Extracted artifact folder showing dist/ files and metadata files (BUILD_COMMIT, BUILD_VERSION, BUILD_NUMBER) |
| `artifact-download-step.png` | 📝 | Pipeline deployment logs showing artifact download step with build ID and artifact name |

---

## Summary

| Category | Total Required | Captured |
|----------|---------------|----------|
| 01-pipeline-flow | 12 | 0 |
| 02-quality-gates | 3 | 0 |
| 03-security-scanning | 7 | 0 |
| 04-checkov-iac | 3 | 0 |
| 05-owasp-zap | 3 | 0 |
| 06-artifact-promotion | 5 | 0 |
| **Total** | **33** | **0** |

---

## Creating Placeholder Files

The following placeholder files have been created for each expected image. Each file contains a text description of what the image should depict. When capturing the actual screenshot, replace this placeholder file with the real image.
