Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/haotrr/ppsh
PPSH is a Ansible-like Tool and Library and aims to make things easier.
https://github.com/haotrr/ppsh
ansible ctl deploy-tool deployment golang library ssh
Last synced: 1 day ago
JSON representation
PPSH is a Ansible-like Tool and Library and aims to make things easier.
- Host: GitHub
- URL: https://github.com/haotrr/ppsh
- Owner: haotrr
- License: mit
- Created: 2018-01-30T15:25:44.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2020-04-07T06:53:36.000Z (almost 5 years ago)
- Last Synced: 2024-06-20T14:25:15.861Z (8 months ago)
- Topics: ansible, ctl, deploy-tool, deployment, golang, library, ssh
- Language: Go
- Size: 12.7 KB
- Stars: 8
- Watchers: 1
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ppsh -- Pull/Push via SSH
PPSH is a [Ansible](https://github.com/ansible/ansible)-like Tool and Library written in Go. Ansible is a radically simple IT automation system, and it is Awesome, but it is written in Python and needs Python installed and sometime annoyed configurations, so here comes PPSH. You just need the precompile bin file and a well defined [YAML](http://www.yaml.org/spec/1.2/spec.html) file (see more examples in [app/file](https://github.com/haotrr/ppsh/tree/master/app/file)) to run it, and for simple tasks you even just run it with the well defined arguments. PPSH is also a library and can be easily integrated into your application. More detail will come soon...
## Build
```bash
make
```## App Usage
```bash
$ ./ppsh help
NAME:
ppsh - Pull or Push via SSH in your cluster hosts.USAGE:
ppsh [global options] command [command options] [arguments...]VERSION:
0.0.1COMMANDS:
help, h Shows a list of commands or help for one commandGLOBAL OPTIONS:
--hosts HOST[;HOST], -H HOST[;HOST] host list, in the form of HOST[;HOST]
--cmds CMD[;CMD], -c CMD[;CMD] command list, in the form of CMD[;CMD]
--ciphers CIPHER[;CIPHER], -C CIPHER[;CIPHER] cipher list, in the form of CIPHER[;CIPHER]
--ip-range IP-IP[;{IP-IP|IP/XX}, -I IP-IP[;{IP-IP|IP/XX} ip range, in the form of IP-IP[;{IP-IP|IP/XX}
--user USER, -u USER ssh login USER (default: "root")
--password PASSWORD, -w PASSWORD ssh login PASSWORD
--cert-key FILE, -k FILE ssh private key FILE
--playbook FILE, -p FILE load playbook from path FILE
--taskbook FILE, -t FILE load taskbook from path FILE
--format PLAIN|JSON, -f PLAIN|JSON output as PLAIN|JSON (default: "plain")
--platform LINUX|OTHER, -S LINUX|OTHER platform as LINUX|OTHER (default: "linux")
--output STDOUT|FILE, -o STDOUT|FILE output to STDOUT|FILE (default: "stdout")
--timeout TIMEOUT, -s TIMEOUT TIMEOUT in second (default: 30)
--port PORT, -P PORT ssh PORT (default: 22)
--max-run-count COUNT, -n COUNT max runing COUNT (default: 20)
--help, -h show help
--version, -v print the version
```
See more examples in [app/file/test.txt](https://github.com/haotrr/ppsh/blob/master/app/file/test.txt).## As Library
See more details in [godoc](https://godoc.org/github.com/haotrr/ppsh).## Roadmap
- [ ] Upload files
- [ ] Download files## License
MIT License, see detail in [LICENSE](https://github.com/haotrr/ppsh/blob/master/LICENSE).