Skip to content
Merged
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
c9fbcc3
Create README.md
Padmalaya26 Oct 1, 2026
aeee013
Update README.md
Padmalaya26 Oct 1, 2026
e6bfb90
Update README.md
Padmalaya26 Oct 1, 2026
1906f21
Enhance README with project details and CI practices
Padmalaya26 Oct 1, 2026
859c25c
Revise README for clarity on CI and API development
Padmalaya26 Oct 1, 2026
fe034c6
Update README.md
Padmalaya26 Oct 1, 2026
243bd44
Update README.md
Padmalaya26 Oct 4, 2026
ffb3b55
changed folder name
Padmalaya26 Oct 4, 2026
f7906ef
Update README.md
Padmalaya26 Oct 4, 2026
97783f7
Update README.md
Padmalaya26 Oct 4, 2026
b8c82df
Update README.md
Padmalaya26 Oct 4, 2026
028e4e4
Update README.md
Padmalaya26 Oct 4, 2026
3af8765
Changed folder name and added partner name
Padmalaya26 Oct 5, 2026
34d1e3b
Update README.md
Padmalaya26 Oct 5, 2026
957b5e2
Enhance README with project details and workflows
Padmalaya26 Oct 9, 2026
21c8523
Fix formatting in README for final project submission
Padmalaya26 Oct 9, 2026
eb4838e
Revise README for Automation Pipeline project
Padmalaya26 Oct 9, 2026
d71beb3
Merge branch '2026' into 2026
Padmalaya26 Oct 9, 2026
9c671c3
Revise README for KTH DevOps Course 2026 Edition
Padmalaya26 Oct 9, 2026
100b1bd
Restore README.md
Padmalaya26 Oct 9, 2026
84766c9
Restore root README from KTH repository
Padmalaya26 Oct 9, 2026
a72b63c
Refactor README.md for clarity and conciseness
Padmalaya26 Oct 11, 2026
8498074
Fix formatting issues in README.md
Padmalaya26 Oct 11, 2026
e863e34
Enhance README with CI/CD workflows and links
Padmalaya26 Oct 23, 2026
39eaff9
Merge branch '2026' into 2026
Padmalaya26 Oct 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 58 additions & 43 deletions contributions/project/moharana-blst/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,40 +26,43 @@ The API provides weather information for a requested city and is implemented usi

The CI pipeline is implemented using **GitHub Actions** and is automatically triggered on every push and pull request.

**CI Workflow**

```text
Developer Commit
↓
GitHub Push
↓
GitHub Actions
↓
OpenAPI Validation
↓
Spectral Linting
↓
Unit Testing
↓
Build Verification
```

**Continuous Deployment (CD) to Azure API Management**

The CD pipeline automatically deploys the OpenAPI specification to **Azure API Management (APIM)** after successful validation.

**CD Workflow**
The CD pipeline automatically deploys the application package to App Service, imports the OpenAPI definition into **Azure API Management (APIM)**, and updates the APIM backend URL.

**CI/CD Workflow**
```text
GitHub Push
↓
GitHub Actions
↓
Azure Authentication
↓
Import OpenAPI Specification
↓
Azure API Management
Developer
│
▼
GitHub Repository
│
├── OpenAPI Specification
├── Node.js API
├── Terraform
└── GitHub Actions
│
▼
CI Pipeline
├─ OpenAPI Validation
├─ Spectral Linting
├─ Unit Tests
├─ Build Verification
└─ CodeQL Security Scan
│
▼
CD Pipeline
├─ Deploy Node.js Application
└─ Deploy OpenAPI Definition
│
▼
Azure App Service
│
▼
Azure API Management
│
▼
Consumers
```

**Infrastructure as Code (IaC)**
Expand All @@ -68,19 +71,29 @@ Infrastructure provisioning is automated using **Terraform**.

**Infrastructure Components**

Terraform resource provisions:
Terraform configuration is in [`terraform/`](terraform/). It defines:

- An Azure resource group.
- An Azure API Management service.
- A Linux App Service plan.
- A Linux Web App configured for Node.js 20.

The resource group name and Azure region are variables; outputs include the resource group name, APIM name and gateway URL, and Web App URL. Terraform is **not** run by the GitHub Actions workflows: provision or update the resources separately, and ensure they exist before deployment. The infrastructure definitions do not configure a remote Terraform state backend.

```text
Azure Resource Group
Azure API Management Service
```

**Final Project submission**

**GitHub Repository**

**Repository:** https://github.com/Padmalaya26/api-lifecycle-devops

**Project report**

The report explains the architecture, demonstrated processes, design decisions, component interactions, and project limitations:

- [Download the report (PDF)](https://github.com/Padmalaya26/api-lifecycle-devops/blob/main/docs/report.pdf)


**GitHub Actions Pipeline**

**Workflow Location**
Expand All @@ -92,16 +105,18 @@ Azure API Management Service
├── codeql.yml
└── deploy-apim.yml
```
**GitHub Actions Pipeline Run**
The Actions tab provides visibility into all CI/CD piepline executions, validation results, test reports, security scans, and deployment status. Links are below.

- **CodeQl Security Scan run Report:**
https://github.com/Padmalaya26/api-lifecycle-devops/actions/runs/37990068923

- **CI Pipeline Run Report:** https://github.com/Padmalaya26/api-lifecycle-devops/actions/runs/37990068792

- **CD Pipeline Run Report:** https://github.com/Padmalaya26/api-lifecycle-devops/actions/runs/37990068662
**GitHub workflow runs Example**

These links point to recorded GitHub workflow runs:

- [CodeQL security scan](https://github.com/Padmalaya26/api-lifecycle-devops/actions/runs/40029173843/job/120672832499)
- [CI pipeline](https://github.com/Padmalaya26/api-lifecycle-devops/actions/runs/40029107904/job/120672618644)
- [CD pipeline](https://github.com/Padmalaya26/api-lifecycle-devops/actions/runs/40029313371/job/120673306173)

**Previous Pull Request links**
- [Task proposal pull request](https://github.com/KTH/devops-course/pull/3127)
- [Previous project submission pull request](https://github.com/KTH/devops-course/pull/3199)

**Conclusion**

Expand Down
Loading