KeyMangler example app
[scpubgit/DKit.git] / examples / keyman
index 07021f0..5a4d7d8 100644 (file)
@@ -48,10 +48,19 @@ rule not_known_account A { config_not_contains_line 'accounts' A }
 rule not_known_key K { config_not_contains_line 'keys' K }
 rule not_known_dead D { config_not_contains_line 'keys.dead' D }
 
-rule account_synchronized A {
+rule all_known_installed_on A {
   foreach K { known_key K } { key_installed_on A K }
 }
 
+rule all_dead_not_installed_on A {
+  foreach K { known_dead K } { key_not_installed_on A K }
+}
+
+rule account_synchronized A {
+  all_known_installed_on A
+  all_dead_not_installed_on A
+}
+
 rule all_synchronized {} {
   foreach A { known_account A } { account_synchronized A }
 }
@@ -59,4 +68,15 @@ rule all_synchronized {} {
 rule unknown_installed_on { A K } {
   key_installed_on A K
   not { known_key K }
+  not { known_dead K }
+}
+
+rule known_installed_on { A K } {
+  key_installed_on A K
+  known_key K
+}
+
+rule dead_installed_on { A K } {
+  key_installed_on A K
+  known_dead K
 }