Edgar

I take some times to write a new utility for my day to day work: Edgar[1].

`edgar' is a small utility to help one maintain their huge SSH config file. It's heavilly inspired by concierge[2] (even the tests are directly taken from the `concierge' examples!).

[1] Edgar (HTTPS)

[2] concierge (HTTPS)

Installation

`edgar' only support python3. We are now in 2019!

Usage

Contrary to `concierge', there is no inotify support. The main idea is that you are not always modifying your SSH config file and it's not that hard to just call manually `edgar' when your config template is ready.

`edgar' rely on a config file stored in your `~/.config' folder: `~/.config/edgar.yml'. As its name show it, this is a YAML file.

This file should contain a list of host configurations. Thus the most simple config file may be:

Which will output the following:

If the main object is not a list, it is taken as a primary host configuration named `*':

Which will output the following:

Finally, `edgar' understands sub-hosts and ansible-like `with_items' processing:

Which will output the following:

Reference

`edgar' understands all SSH config parameter, only if they are well written (there is no attempt to add missing capital).

It understands the following supplementary commands:

FAQ

1. Don't forget to add the colon between the SSH parameter and its value.

2. Some values must be protected, like the one with `*'. For exemple: `Host: "*.toto.com"'.

Comments

nil

--

📅 vendredi 22 novembre 2019 à 22:36

📝 Étienne Pflieger with GNU/Emacs 29.4 (Org mode 9.7.11)

🏷️ python

🏷️ Bidouille

🏷️ SSH

📜 Back to gemlog

🏡 Back to home

🚀 Propelled by fronde