{"repo":"linkdd/tricorder","free":true,"listed":false,"github":"https://github.com/linkdd/tricorder","clone":"git clone https://github.com/linkdd/tricorder.git","description":"Automation the KISS way","language":"Rust","stars":56,"topics":["automation","ssh","rust"],"license":"MIT","category":"workflow-automation","readme_excerpt":"tricorder Automation the KISS way. Introduction Ansible is a great tool for automation. But it suffers from the same problem of many such tools: a big pile of custom YAML DSL. YAML is used to provide a declarative syntax of your automated workflow. This is nice for simple use cases, but automation can become rather complex very quickly. But once those tools start implementing: - control flow structures (conditions, loops) - variable assignations - modules - package management - ... Your YAML files become a programming language with terrible developer experience. tricorder aims to fix this. It gives you a single tool to perform tasks on multiple remotes. You then use your common UNIX tools like bash , jq , curl , etc... to compose those tasks together. Usage Just like Ansible , tricorder uses an inventory file, listing the hosts to connect to: NB: The inventory is either a TOML file or an executable producing a JSON output. This way you can create dynamic inventories by querying a remote service or database. Then, run one of the following commands: Or to run concurrently instead of sequencially: NB: Authentication is done via ssh-agent only. Every logging messages is written on stderr , the command result for each host is written as a JSON document on stdout : This way, you can compose this tool with jq to extract the relevant informations in your scripts. Usage with the Rust API tricorder is also available as a Rust crate to include it directly in your software: Documentation","default_branch":null,"files":null,"tree":[],"storefront":"/r/linkdd","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/linkdd/tricorder/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}