{"id":27443024,"url":"https://github.com/rupesh40/devops-health-check-dashboard","last_synced_at":"2026-05-12T07:40:12.404Z","repository":{"id":287865673,"uuid":"964047901","full_name":"rupesh40/DevOps-Health-Check-Dashboard","owner":"rupesh40","description":"A lightweight monitoring solution that tracks service statuses via scheduled checks and provides a REST API + CLI for management.","archived":false,"fork":false,"pushed_at":"2025-04-14T10:19:45.000Z","size":759,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-15T01:18:13.279Z","etag":null,"topics":["backend","cicd","devops","docker","flask","helath-check","microservice","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rupesh40.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-10T15:56:02.000Z","updated_at":"2025-04-10T18:20:27.000Z","dependencies_parsed_at":"2025-04-14T11:31:02.556Z","dependency_job_id":"7dabc97e-b80a-47a0-9e6f-8384d6d79b60","html_url":"https://github.com/rupesh40/DevOps-Health-Check-Dashboard","commit_stats":null,"previous_names":["rupesh40/devops-health-check-dashboard"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rupesh40%2FDevOps-Health-Check-Dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rupesh40%2FDevOps-Health-Check-Dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rupesh40%2FDevOps-Health-Check-Dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rupesh40%2FDevOps-Health-Check-Dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rupesh40","download_url":"https://codeload.github.com/rupesh40/DevOps-Health-Check-Dashboard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248986312,"owners_count":21194025,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","cicd","devops","docker","flask","helath-check","microservice","python3"],"created_at":"2025-04-15T01:18:27.204Z","updated_at":"2026-05-12T07:40:12.399Z","avatar_url":"https://github.com/rupesh40.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DevOps Health Check Dashboard\n\n![Architecture Diagram](./diagrams/architecture.png)\n\nA **production-ready** monitoring solution for DevOps teams to track service health statuses with ease and reliability.\n\n## Features\n\n- **Backend Services**:\n  - REST API for managing monitored services\n  - Background health check scheduler\n  - JSON storage (with file locking)\n  - Docker-ready implementation\n  - Comprehensive logging\n\n- **Frontend Dashboard**:\n  - Real-time service status monitoring\n  - Interactive web interface\n  - Add/remove services via UI\n  - Automatic refresh every 30 seconds\n  - Visual status indicators (UP/DOWN)\n  - Responsive design\n\n- **CI/CD with GitHub Actions**:\n  - This project uses GitHub Actions for continuous    integration (CI) and continuous deployment (CD). The CI/CD pipeline automates the process of building, testing, and deploying the application.\n  - The CI pipeline is defined in `.github/workflows/ci-cd. yml`. You can find further documentation in `.github/ workflows/readme.md`.\n\n*\\[Detailed UI documentation available in `ui/README.md`\\]*\n\n---\n\n## Quick Start\n\n### Local Development (Backend Only)\n\n```bash\npython -m venv venv\nsource venv/bin/activate  # Linux/Mac\nvenv\\Scripts\\activate    # Windows\n\npip install -r requirements.txt\npython -m app.run\n```\n\n---\n\n### Docker Deployment: Full System (Backend + Frontend)\n\n```bash\ncd docker/dev/\ndocker-compose -f docker-compose.base.yml -f docker-compose.override.yml up --build\n```\n\n**How to Access Your Application:**\n\n- Frontend Dashboard: [http://localhost](http://localhost)\n- Backend API Direct Access: [http://localhost:5000/health](http://localhost:5000/health)\n- Through Nginx Proxy: [http://localhost/api/health](http://localhost/api/health)\n\n---\n\n## API Documentation\n\n### Endpoints\n\n| Endpoint                | Method | Description                      |\n|-------------------------|--------|----------------------------------|\n| `/health`               | GET    | Get current health status        |\n| `/services`             | POST   | Add new service                  |\n| `/services/\u003cname\u003e`      | DELETE | Remove service                   |\n\n### CLI Usage\n\n```bash\n# List services\npython cli.py list\n\n# Add service\npython cli.py add \"Service Name\" \"http://service.url\"\n```\n\n### CURL Usage (Windows Style Example)\n\n```bash\n# Add service\ncurl -X POST http://localhost:5000/services \\\n     -H \"Content-Type: application/json\" \\\n     -d '{\"name\": \"Facebook\", \"url\": \"https://www.facebook.com/\"}'\n\n# Remove service\ncurl -X DELETE http://localhost:5000/services/Facebook\n```\n\n---\n\n## Configuration\n\nEnvironment variables (in `.env` file):\n\n```bash\nFLASK_ENV=production\nCHECK_INTERVAL=60\nIN_DOCKER=0\n```\n\n---\n\n## Testing\n\nRun unit tests:\n\n```bash\npytest tests/\n```\n\n---\n\n## Directory Structure\n\n```bash\ndevops-health-check-dashboard/\n├── .github/\n│   └── workflows/\n│       └── ci-cd.yml          # CI/CD pipeline\n├── docker/\n│   ├── dev/\n│   │   ├── Dockerfile         # Dev Dockerfile\n│   │   └── docker-compose.yml # Dev Compose\n│   └── prod/\n│       ├── Dockerfile         # Prod Dockerfile\n│       └── docker-compose.yml # Prod Compose\n├── scripts/\n│   ├── deploy.sh              # Production deployment\n│   ├── test-local.sh          # Local test script\n│   └── healthcheck.sh         # Custom health checks\n├── app/\n│   ├── __init__.py\n│   ├── checker.py             # Core health check logic\n│   ├── storage.py             # Read/write JSON storage\n│   ├── config.py              # Load environment configuration\n│   ├── api.py                 # Flask API routes\n│   └── scheduler.py           # Periodic background checker\n├── cli.py                     # CLI entrypoint\n├── run.py                     # Starts Flask app\n├── requirements.txt\n├── .env\n├── .gitignore\n├── README.md\n└── diagrams/\n    └── architecture.png\n├── ui/                        # Frontend code\n│   ├── public/                # Static assets\n│   ├── src/                   # React source code\n│   │   ├── components/        # Reusable components\n│   │   ├── pages/             # Page components\n│   │   ├── services/          # API service layer\n│   │   ├── styles/            # CSS/Tailwind configs\n│   │   └── App.js             # Main React app entry\n│   ├── package.json           # Frontend dependencies\n│   ├── Dockerfile             # Frontend Dockerfile\n│   └── README.md              # Frontend-specific docs\n```\n\n---\n\n## License\n\nThis project is licensed under the [MIT License](./LICENSE).\n\n---\n\n## Contributions\n\nWe welcome contributions of all types!\n\n- Found a bug? Open an Issue.\n- Want a feature? Suggest it or create a Pull Request.\n- Improvements, refactors, documentation updates are all welcome!\n\nPlease fork the repo, create a branch, and open a Pull Request 🚀\n\n---\n\n## Support\n\nIf you find this project helpful, please **Star** ⭐ the repository! It encourages the maintenance and future improvements.\n\nThank you for visiting! 🙌\n\nHappy Monitoring! 🎯","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frupesh40%2Fdevops-health-check-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frupesh40%2Fdevops-health-check-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frupesh40%2Fdevops-health-check-dashboard/lists"}