key manager example
[scpubgit/DKit.git] / examples / keyman
CommitLineData
7a668ea4 1rule dot_ssh_on { A D } {
2 home_dir_on A H
3 directory_in H '.ssh' D
4 mode D '0700'
5}
6
7rule authorized_keys_on { A F } {
8 dot_ssh_on A D
9 file_in D 'authorized_keys' F
10 mode F '0600'
11}
12
13rule key_installed_on { A K } {
14 authorized_keys_on A F
15 contains_line F K
16}
17
18rule my_config_dir D {
19 home_dir_on '' H
20 directory_in H '.keymangler' D
21}
22
23rule config_contains_line { C L } {
24 my_config_dir D
25 file_in D C F
26 contains_line F L
27}
28
29rule known_account A { config_contains_line 'accounts' A }
30rule known_key K { config_contains_line 'keys' K }
31rule known_dead D { config_contains_line 'keys.dead' D }
32
33rule sync_account A {
34 foreach K { known_key K } { key_installed_on A K }
35}