 (def TransportManagement
   {(s/optional-key :ssh-pull) s/Any
    (s/optional-key :duplicity-push)
-                              {:public-key                 secret/Secret
-                               :private-key                secret/Secret
-                               :passphrase                 secret/Secret
-                               :root-password              (s/either {:hashed-password secret/Secret}
-                                                                     {:clear-password secret/Secret})
-                               (s/optional-key :target-s3) {:aws-access-key-id               secret/Secret
-                                                            :aws-secret-access-key           secret/Secret
-                                                            :bucket-name                     s/Str
-                                                            (s/optional-key :directory-name) s/Str}}})
+   {:public-key                 secret/Secret
+    :private-key                secret/Secret
+    :passphrase                 secret/Secret
+    :root-password              (s/either {:hashed-password secret/Secret}
+                                          {:clear-password secret/Secret})
+    (s/optional-key :target-s3) {:aws-access-key-id               secret/Secret
+                                 :aws-secret-access-key           secret/Secret
+                                 :bucket-name                     s/Str
+                                 (s/optional-key :directory-name) s/Str}}})
 
 (def BackupConfig
   {:backup-name                           s/Str

      {:dda-backup backup-user})))

(s/defn ^:always-validate
infra-backup-element :- infra-schema/BackupElement
  [backup-element :- BackupElementResolved]
  (let [{:keys [name type]} backup-element]
    (-> backup-element

  (clojure.string/upper-case (pgp/hex-id (pgp/decode-public-key ascii-armored-key))))

(s/defn ^:always-validate
 user-domain-configuration
  [config :- BackupConfigResolved]
  (let [{:keys [backup-user transport-management]} config
        duplicity-push (get-in transport-management [:duplicity-push])
