{"id":18658537,"url":"https://github.com/voliveirajr/python-php-deploy","last_synced_at":"2025-10-04T03:56:08.508Z","repository":{"id":81345683,"uuid":"172923591","full_name":"voliveirajr/Python-PHP-Deploy","owner":"voliveirajr","description":"Python Exercise managing nodes using Paramiko implementation of the SSHv2 protocol","archived":false,"fork":false,"pushed_at":"2019-02-28T13:34:29.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-04T03:56:05.309Z","etag":null,"topics":["automation","paramiko","python3","sshv2","yaml-files"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/voliveirajr.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}},"created_at":"2019-02-27T13:45:19.000Z","updated_at":"2019-02-28T13:40:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"d96ac09d-7b46-4b60-bd1a-4c0cf504607a","html_url":"https://github.com/voliveirajr/Python-PHP-Deploy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/voliveirajr/Python-PHP-Deploy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voliveirajr%2FPython-PHP-Deploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voliveirajr%2FPython-PHP-Deploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voliveirajr%2FPython-PHP-Deploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voliveirajr%2FPython-PHP-Deploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/voliveirajr","download_url":"https://codeload.github.com/voliveirajr/Python-PHP-Deploy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voliveirajr%2FPython-PHP-Deploy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278262445,"owners_count":25957938,"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-10-04T02:00:05.491Z","response_time":63,"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":["automation","paramiko","python3","sshv2","yaml-files"],"created_at":"2024-11-07T07:33:24.763Z","updated_at":"2025-10-04T03:56:08.489Z","avatar_url":"https://github.com/voliveirajr.png","language":"Python","readme":"# Python-PHP-Deploy\n\nIt is Python Exercise for an assignment challenge, the aim is manage debian nodes using Paramiko implementation of the SSHv2 protocol not utilising our of shelf tools as ansible, puppet, etc.\nThis is limited to manage packages, move files to the server, restart web server.\n\n## Python version\n\n  It was implemented and tested using Python **3.7.2**:\n\n  This should be executed in an environment (virtualenv) using the `requirements.txt` file\n\n## TL;DR\n\nrun:\n\n```\n$ python appdeploy.py -f production/production.yaml -a setup\n$ python appdeploy.py -f production/production.yaml -a deploy\n$ python appdeploy.py -f production/production.yaml -a restart\n```\n\n## Project Structure\n\n`/slack`            : source code\n`/production`       : environment descriptor and files\n`slackdeploy.py`    : main file\n\n\n## Command Line Interface\n\nusage: `slackdeploy.py [-h] -a {setup,deploy,start,stop,restart,update,uname} -f FILE [-d]`\n\n - a: defines an Action\n    * setup: Install and Uninstall debian packages listed in descriptor file\n    * deploy: Upload files listed in descriptor file\n    * update: update all packages (apt-get update)\n    * uname: performs uname command on nodes\n    * restart: restart the web server accordingly with defined on descriptor file\n\n - f: Yaml descriptor file path\n\n - d: Debug loggin\n\n## Descriptor File\nThe descriptor file is a yaml file where nodes, credentials, files and webserver are defined.\nYou can find in this file:\n\nHosts: list of hosts defining address, user and password\n\nDependencies: Defines the deb packages, it has 2 sub items, Install and Uninstall, this gonna perform `apt-get install` and `apt-get remove` respectively.\n\nFiles: What files should be uploaded, remote path, permissions, user and group.\n\n# Author\n\n**Volmar Oliveira Junior**\n \nvolmar.oliveira.jr@gmail.com\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoliveirajr%2Fpython-php-deploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoliveirajr%2Fpython-php-deploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoliveirajr%2Fpython-php-deploy/lists"}