https://github.com/moshloop/systools
https://github.com/moshloop/systools
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/moshloop/systools
- Owner: moshloop
- Created: 2018-07-02T08:05:06.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2019-01-03T17:43:37.000Z (over 7 years ago)
- Last Synced: 2024-12-28T20:26:27.893Z (over 1 year ago)
- Language: Shell
- Size: 36.1 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# cloud-systools
cloud-systools is a suite of helpers and small CLI's tools designed to make the process of installing and configured cloud based servers and services easier.
## Helpers
| Name | Description | Usage |
| ------------------------ | ------------------------------------------------------------ | -------------------------------------------------- |
| if_exists | Shorthand for `if [ -e $file]` | `if_exists file || touch file` |
| extract | Extracts multiple format archives | `extract a.zip; extract a.tgz` |
| install_git_sync | Checks out and keeps a git repository synchronized with a local folder.
Links `.hooks/post-merge` -> `.git/hooks/post-merge` if it exists | `install_git_sync {git_repo} {local path}` |
| install_rpm | Installs an RPM from an HTTP location.
Checks if the package is installed by filename, rather than downloading | `install_rpm http://host/big_app.rpm` |
| install_service | Creates a new systemd service | `install_service {name} {cmd}` |
| install_service_override | Overrides properties for an existing service | `install_service_override {service} {key}={value}` |
| install_timer | Creates a new systemd based timer task | `install_timer {name} {cmd} [time unit]` |
| install_bin | Downloads a file to `/usr/bin/` and `chmod +x`' it | `install_bin` |
| deploy_file | Downloads and copies a file into a directory in a safe manner | `deploy_file {url} {dir}` |
| extract | Extract different type of archives silently | |
| create_service_account | Creates a new user and home directory meant for for running services | `create_service_account java` |
| bootstrap_volume | Partitions, formats and mounts a volume | `bootstrap_volume {dev} {mount} {type} [owner]` |
| port.py | Pings all ports on all A records returned | `port.py google.com 80,443` |
| update_secret | Adds/Updates an entry in **/etc/secrets.json** | `update_secret DB_PASS random` |
### AWS Specific Tools
| Name | Description | Usage |
| ----------------------- | ------------------------------------------------------------ | ------------------------------------------------- |
| aws_list_hosts | Lists all hosts in an AWS account in a format suitable for `/etc/hosts` | `aws_list_hosts > /etc/hosts` |
| aws_list_instances | List all instances in a simplified JSON format | `aws_list_instances | jq '.[] | [.name,.ip]'` |
| aws_list_targets | List all instances registered with an ELB | `aws_list_targets {elb name}` |
| aws_register_target | Register an instance with an ELB | `aws_register_target {elb} {instance-id}` |
| aws_deregister_target | De-register an instance with an ELB | `aws_deregister_target {elb} {instance-id}` |
| aws_environment_updater | Updates **/etc/environment** with the IP's of instance groups and | `install_timer /usr/bin/aws_environment_updater ` |
| aws_secret_updater | Updates **/etc/secrets.json** with SSM secrets | `install_timer /usr/bin/aws_secret_updater` |
| install_aws_codecommit | Configures git credentials to use AWS | `install_aws_codecommit [profile]` |