Installation
Install from Source
To install minop from source, ensure you have Go installed and run:
go install github.com/cqroot/minop@latest
Download Pre-compiled Binaries
Download the binary for your platform from the releases page and add its directory to your system's PATH.
Usage
Create the Config File
Create a file named minop.yaml in YAML format. This file contains both hosts and tasks.
Hosts Section
The file should contain groups of hosts under the hosts key, where each group is a list of host strings in the format <user>:<password>@<address>:<port>. Example:
hosts:
all:
- root:asdf@127.0.0.1:8001
main:
- root:asdf@127.0.0.1:8002
- root:asdf@127.0.0.1:8003
Hosts listed under a specific section header (like main in the example) will be assigned to that role.
Tasks Section
Add your tasks under the tasks key:
tasks:
- name: Copy file to /root on the remote host
copy: test.txt
to: /root/test.txt
- name: Copy dir to /root on the remote host
copy: testdir
to: /root/testdir
- name: List /root
shell: ls /root
Execute Tasks
Run the following command to execute tasks on the remote hosts:
minop
This will load ./minop.yaml by default. You can specify a different config file:
minop -c /path/to/config.yaml
Interactive CLI
Start an interactive CLI mode to execute commands on remote hosts:
minop cli
You can also specify a different config file:
minop cli -c /path/to/config.yaml
Contributing
Contributions are welcome! Feel free to open an issue to report bugs, suggest new features, or submit a pull request.
License
This project is open source, licensed under the GPL-3.0 License.