📘 Задача 1
TodorYankov-task-1
✅ Деплойнат Node.js + MongoDB
📁 Очаквани файлове:
github-actions-success.png ·
resource-group.png ·
running-app.png ·
application_setting.png ·
app-service-configuration.png ·
app-url.png
💡 Кликнете върху всяка снимка за преглед на цял екран
📌 Цел: Автоматизиран деплой на Node.js приложение в Azure Web App чрез GitHub Actions.
База данни — MongoDB Atlas (Cosmos DB). Доказателства: GitHub Actions workflow, ресурс група, работещо приложение, конфигурация.
📊
github-actions-success.png
Поставете файла в папката
🚀 GitHub Actions — успешен деплой
reading_list_prepexam · workflow: build & deploy
✅ Success · 1m 49s
📦
resource-group.png
Поставете файла в папката
📦 Azure Resource Group
reading_list_rg · 9 ресурса (App Service, Cosmos DB, VNet)
✅ Конфигурирани
📖
running-app.png
Поставете файла в папката
📱 Работещо приложение
Reading List — ExpressJS + MongoDB (Cosmos DB)
✅ Онлайн
⚙️
application_setting.png
Поставете файла в папката
⚙️ Application Setting
DATABASE_URL — MongoDB Atlas (Cosmos DB)
✅ Правилно настроени
⚙️
app-service-configuration.png
Поставете файла в папката
🔧 Конфигурация на Web App
Environment variables — DATABASE_URL (Cosmos DB)
✅ Правилно настроени
🌐
app-url.png
Поставете файла в папката
🌍 Публичен URL
reading-list-todoryankov ... azurewebsites.net
✅ Достъпен
📎 Доказателства: GitHub Actions ✅ · Resource Group ✅ · App ✅ · Config ✅ · URL ✅
📗 Задача 2
webdesign-task-2
✅ Terraform · SoftUniBazar
📁 Очаквани файлове:
deployed-app.png (картинка) ·
main.tf (текст) ·
variables.tf (текст) ·
outputs.tf (текст) ·
values.tfvars (текст)
💡 Кликнете върху картинката за преглед на цял екран, а върху текстовите файлове за преглед на съдържанието
📌 Цел: Провизиониране на инфраструктура за SoftUniBazar (ASP.NET Core 8) с Azure SQL Database чрез Terraform.
Доказателства: работещо приложение и Terraform файлове (main.tf, variables.tf, outputs.tf, values.tfvars). Конфигурация: B1 App Service Plan, .NET 8.0 и Azure SQL Database Basic.
🛒
deployed-app.png
Поставете файла в папката
🛒 SoftUniBazar — работещо приложение
Деплойнато с Terraform · ASP.NET Core 8 · Azure SQL
✅ Онлайн
🖼️ Картинка
📄 main.tf
Terraform конфигурация
resource "azurerm_resource_group" "arg" {
name = var.resource_group_name
}
resource "azurerm_linux_web_app" "alwa" {
name = var.web_app_name
site_config {
dotnet_version = "8.0"
}
}
📖 Кликнете за пълен преглед
📄 Terraform main.tf
BazarRG · B1 App Service · .NET 8 · Azure SQL Basic
✅ Конфигурация
📄 Текстов файл
📄 variables.tf
Входни променливи
variable "resource_group_name" {
description = "Azure Resource Group name"
type = string
}
variable "sql_admin_password" {
description = "Admin password"
type = string
sensitive = true
}
📖 Кликнете за пълен преглед
📄 variables.tf
Декларации на променливи — resource_group_name, sql_admin_password (sensitive)
✅ Добре структурирани
📄 Текстов файл
📄 outputs.tf
Изходни стойности
output "web_app_url" {
value = azurerm_linux_web_app.alwa.default_hostname
}
output "web_app_ips" {
value = azurerm_linux_web_app.alwa.outbound_ip_addresses
}
📖 Кликнете за пълен преглед
📄 outputs.tf
web_app_url и web_app_ips — полезни изходни стойности
✅ Дефинирани
📄 Текстов файл
📄 values.tfvars
Стойности на променливите
resource_group_name
= "BazarRG"
location
= "Poland Central"
web_app_name
= "bazarwebapptodorprepexam"
📖 Кликнете за пълен преглед
📄 values.tfvars
Стойности на променливите за Terraform
✅ Конфигурирани
📄 Текстов файл
📎 Доказателства: Deployed App ✅ · main.tf ✅ · variables.tf ✅ · outputs.tf ✅ · values.tfvars ✅
📙 Задача 3
webdesign-task-3
✅ Prometheus · Blackbox · Alertmanager · Grafana
📁 Очаквани файлове:
prometheus-exam.yml ·
alertmanager-exam.yml ·
alert-rules-exam.yml ·
grafana_dashboard.json ·
Histogram.png
💡 Кликнете върху Histogram за цял екран, а върху конфигурационните файлове за преглед на съдържанието
📌 Цел: Мониторинг на деплойнатото .NET приложение в Azure чрез
Prometheus и Blackbox Exporter, известяване чрез
Alertmanager + webhook.site и визуализация в Grafana.
HTTP probe duration е представена като Histogram чрез метриката probe_duration_seconds.
📊
Histogram.png
Поставете файла в папката
📊 Grafana — HTTP Probe Duration Histogram
Метрика: probe_duration_seconds · Prometheus Data Source
✅ Histogram работи
🖼️ Картинка
📄 Prometheus конфигурация
Scrape interval 15s · /probe · localhost:9115 · Alertmanager localhost:9093
global:
scrape_interval: 15s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets:
- localhost:9093
📖 Кликнете за пълен преглед
📄 Prometheus конфигурация
Scrape interval 15s · /probe · Blackbox target · Alertmanager
✅ Monitoring
📄 Текстов файл
📄 Alertmanager конфигурация
resolve_timeout 1m · webhook_receiver · webhook.site
global:
resolve_timeout: 1m
route:
receiver: "webhook_receiver"
receivers:
- name: "webhook_receiver"
webhook_configs:
📖 Кликнете за пълен преглед
📄 Alertmanager конфигурация
resolve_timeout 1m · webhook_receiver · webhook.site
✅ Webhook
📄 Текстов файл
📄 Alert rules
HTTP probe status alert rule
groups:
- name: "blackbox-alerts"
rules:
- alert: StatusCodeIsDifferentThan200
expr: probe_http_status_code != 200
for: "5s"
labels:
severity: "critical"
annotations:
📖 Кликнете за пълен преглед
📄 Alert rules
HTTP probe status alert rule
✅ Alerting rules
📄 Текстов файл
📄 Grafana Dashboard JSON
Histogram · probe_duration_seconds · exported dashboard
{
"annotations": [
{
"kind": "AnnotationQuery",
"spec": {
"builtIn": true,
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
📖 Кликнете за пълен преглед
📄 Grafana Dashboard JSON
Histogram · probe_duration_seconds · exported dashboard
✅ JSON export
📄 Текстов файл
📎 Доказателства: Prometheus ✅ · Blackbox Exporter ✅ · Alertmanager ✅ · Alert Rules ✅ · Grafana Histogram ✅ · JSON Export ✅