From 9a752da13d8f9186140e15cd76fb6da3e64cfadc Mon Sep 17 00:00:00 2001 From: James Shubin Date: Thu, 26 Sep 2024 12:43:26 -0400 Subject: [PATCH] modules: misc: Add a small helper module Maybe I'll collect enough small snippets that I can keep them in here until they get split out elsewhere to more appropriate places. --- modules/misc/main.mcl | 19 +++++++++++++++++++ modules/misc/metadata.yaml | 0 2 files changed, 19 insertions(+) create mode 100644 modules/misc/main.mcl create mode 100644 modules/misc/metadata.yaml diff --git a/modules/misc/main.mcl b/modules/misc/main.mcl new file mode 100644 index 00000000..0f68e370 --- /dev/null +++ b/modules/misc/main.mcl @@ -0,0 +1,19 @@ +import "os" + +# ssh_keygen creates an ssh key pair in the user's home directory if the private +# key doesn't exist. +# TODO: add more parameters such as key size and type in the future +class ssh_keygen($user) { + panic($user == "") # panic if $user is empty + $p = os.expand_home("~${user}/") # eg: ~james/ + exec "ssh-keygen-${user}" { + cmd => "/usr/bin/ssh-keygen", + args => [ + "-t", "rsa", # type + "-f", "${p}.ssh/id_rsa", # private key file + "-N", "", # empty password + ], + creates => "${p}.ssh/id_rsa", + user => $user, + } +} diff --git a/modules/misc/metadata.yaml b/modules/misc/metadata.yaml new file mode 100644 index 00000000..e69de29b