A Lightweight and Flexible Ansible Command Line Tool.
To use flook, follow the following steps:
- Create a python virtual environment or use system wide environment
$ python3 -m venv venv $ source venv/bin/activate
- Install flook package with pip.
$ pip install flook
- Get flook command line help
$ flook --help
- Init the config file and the sqlite database
$ flook config init
- To edit configs
$ flook config init
- Add a recipe
$ flook recipe add <recipe_name> -p <recipe_relative_path> # Some examples $ flook recipe add clivern/ping -p recipe/ping -f $ flook recipe add clivern/nginx -p recipe/nginx -f $ flook recipe add clivern/motd -p recipe/motd -f
- To list recipes
$ flook recipe list # Get recipes as a JSON $ flook recipe list -o json | jq .
- To get a recipe
$ flook recipe get <recipe_name>
- To delete a recipe
$ flook recipe delete <recipe_name>
- Add a host
$ flook host add <host_name> -i <host_ip> -p <ssh_port> -u <ssh_username> -s <ssh_key_path> # Add a remote host $ flook host add example.com -i 127.0.0.1 -p 22 -u root -s /Users/root/.ssh/id_rsa.pem # Add the localhost $ flook host add localhost -i localhost -c local
- To list hosts
$ flook host list # Get hosts as a JSON $ flook host list -o json | jq .
- To get a host
$ flook host get <host_name>
- To SSH into a host
$ flook host ssh <host_name>
- To delete a host
$ flook host delete <host_name>
- Run a recipe towards a host
$ flook recipe run <recipe_name> -h <host_name> # Some examples $ flook recipe run clivern/nginx -h example.com $ flook recipe run clivern/ping -h localhost