{"id":30899083,"url":"https://github.com/infosys/server-patching-tool","last_synced_at":"2025-10-10T08:02:45.779Z","repository":{"id":297398141,"uuid":"865782200","full_name":"Infosys/Server-Patching-Tool","owner":"Infosys","description":"Server-Patching-Tool Framework simplifies Linux servers patch management and tracking of automated patching execution status through interactive dashboard and reporting features.","archived":false,"fork":false,"pushed_at":"2024-10-01T14:30:23.000Z","size":247,"stargazers_count":1,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-05T09:26:17.102Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Infosys.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-10-01T06:00:37.000Z","updated_at":"2024-10-04T09:53:21.000Z","dependencies_parsed_at":"2025-06-05T09:36:49.689Z","dependency_job_id":null,"html_url":"https://github.com/Infosys/Server-Patching-Tool","commit_stats":null,"previous_names":["infosys/server-patching-tool"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Infosys/Server-Patching-Tool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Infosys%2FServer-Patching-Tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Infosys%2FServer-Patching-Tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Infosys%2FServer-Patching-Tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Infosys%2FServer-Patching-Tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Infosys","download_url":"https://codeload.github.com/Infosys/Server-Patching-Tool/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Infosys%2FServer-Patching-Tool/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274231860,"owners_count":25245858,"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","status":"online","status_checked_at":"2025-09-09T02:00:10.223Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-09-09T02:11:25.732Z","updated_at":"2025-10-10T08:02:45.709Z","avatar_url":"https://github.com/Infosys.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Server-Patching-Tool\nServer-Patching-Tool Framework simplifies Linux servers patch management and tracking of automated patching execution status through interactive dashboard and reporting features.\n\n## Overview \n\nOne-Patch Automation Framework simplifies Linux servers patch management and tracking of automated patching execution status through interactive dashboard and reporting features.\n\nThis framework consists of mainly three components:\n- Django Web Application for Centralized: **patchautomation_portal**\n- FastApi rest services for triggering automation tool: **patchautomationEndpoints**\n- AWX for orchestration ansible playbooks execution and status updates: **ansible_scripts**\n\n## Pre requisites\n\n- Python above version 3.x.\n- AWX latest version(https://github.com/ansible/awx/tree/devel/tools/docker-compose).\n  - Knowledge of configuring AWX is expected.\n\n\n## Configuration\n\n- **One-patch Automation Portal**: In `variables.py` file set your AWX URL and file paths\n- **ServerPatchEndpoints**: In `properties.py `file set AWX `credentials`, `vault_id`, `ssh_key_id`, `database_url`\n- **AWX**:\n  - Add the ssh key to access the remote servers.\n  - Create a project.\n  - Add the ansible_script provided into the newly created project.\n  - Create an inventory.\n  - Add a notification webhook set target url as http:/YOUR_HOST/update_runid as POST method.\n\n\n## Starting the Development Environment\n\n### Clone the project\n```bash\nhttps://github.com/Infosys-CodeStore-Repos/OnepatchServerAutomation.git\n```\n### Install the requirements.txt\n```bash\npip install -r requirements.txt\n```\n### Start the ServerPatchEndpoints\n```bash\npython -m uvicorn --workers 5 --host=0.0.0.0 --port=61008 serverPatchingEndpoints:app\n```\n### Start the One-patch Automation Portal\nTo create DB and required tables run below commands.\n```bash\npython manage.py migrate\n```\nTo start the app\n```bash\npython -m uvicorn --host=0.0.0.0 --port=61007 patchautomation_portal.asgi:application\n```\n\n### Usage\n\n- **Bulk Patching of Linux Servers**: Upload a CSV template provided with lists of servers to be patched. Track upload journey and execution status thorugh track upload tab.\n- **Report Generation**: In Application Overview tab, Select  the Application name to view details for the servers under the Application and their current execution status and patch version and export complete Master dump using the button available below.\n\n### Workflow of the Application\n\n```mermaid\nsequenceDiagram\n    participant User\n    participant One-Patch Automation portal\n    participant Database\n\t participant ServerpatchEndpoints\n\t  participant AWX\n    Note over User,AWX:User Journey - Upload Server List\n    User-\u003e\u003eOne-Patch Automation portal: Uploads-file\n\tOne-Patch Automation portal-\u003e\u003eDatabase: Insert data into table\n\tOne-Patch Automation portal-\u003e\u003eServerpatchEndpoints:Trigger Automation tool\n\tServerpatchEndpoints-\u003e\u003eAWX: Run the Ansible Playbooks\n\tAWX-\u003e\u003eDatabase: Update execution status\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfosys%2Fserver-patching-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finfosys%2Fserver-patching-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfosys%2Fserver-patching-tool/lists"}