Compare commits
2 commits
f028a4b4fd
...
c4ce3cd275
Author | SHA1 | Date | |
---|---|---|---|
c4ce3cd275 | |||
5ac161f4d4 |
4 changed files with 23 additions and 5 deletions
|
@ -2,7 +2,7 @@
|
||||||
(:require
|
(:require
|
||||||
[orchestra.core :refer [defn-spec]]
|
[orchestra.core :refer [defn-spec]]
|
||||||
[clojure.spec.alpha :as s]
|
[clojure.spec.alpha :as s]
|
||||||
[clojure.string :as st]))
|
[dda.backup.infrastructure :as i]))
|
||||||
|
|
||||||
(def default {:dry-run false
|
(def default {:dry-run false
|
||||||
:debug false})
|
:debug false})
|
||||||
|
@ -13,6 +13,12 @@
|
||||||
::debug
|
::debug
|
||||||
::execution-directory]))
|
::execution-directory]))
|
||||||
|
|
||||||
|
(s/def ::aws-access-key-id string?)
|
||||||
|
(s/def ::aws-secret-access-key string?)
|
||||||
|
(s/def ::aws-config
|
||||||
|
(s/keys :req-un [::aws-access-key-id
|
||||||
|
::aws-secret-access-key]))
|
||||||
|
|
||||||
(defn-spec env-or-file string?
|
(defn-spec env-or-file string?
|
||||||
[name string?]
|
[name string?]
|
||||||
(let [from-env (System/getenv name)
|
(let [from-env (System/getenv name)
|
||||||
|
@ -22,3 +28,14 @@
|
||||||
(some? name-from-file) (slurp name-from-file)
|
(some? name-from-file) (slurp name-from-file)
|
||||||
:else (throw ( RuntimeException.
|
:else (throw ( RuntimeException.
|
||||||
(str "Environment: [" name "," name-from-file "] was missing." ))))))
|
(str "Environment: [" name "," name-from-file "] was missing." ))))))
|
||||||
|
|
||||||
|
|
||||||
|
(defn-spec create-aws-credentials! nil?
|
||||||
|
[config ::aws-config]
|
||||||
|
(let [{:keys [aws-access-key-id aws-secret-access-key]} config]
|
||||||
|
(i/execute! [["mkdir" "/root/.aws"]] {})
|
||||||
|
(spit "/root/.aws/credentials"
|
||||||
|
(str "[default]\n"
|
||||||
|
"aws_access_key_id=" aws-access-key-id "\n"
|
||||||
|
"aws_secret_access_key=" aws-secret-access-key "\n"))
|
||||||
|
(i/execute! [["chmod" "0600" "/root/.aws/credentials"]] {})))
|
|
@ -21,7 +21,8 @@
|
||||||
(defn-spec create-pg-pass! nil?
|
(defn-spec create-pg-pass! nil?
|
||||||
[config ::pg-config]
|
[config ::pg-config]
|
||||||
(let [config-w-defaults (merge default config)]
|
(let [config-w-defaults (merge default config)]
|
||||||
(spit "/root/.pgpass" (domain/pgpass config-w-defaults))))
|
(spit "/root/.pgpass" (domain/pgpass config-w-defaults))
|
||||||
|
(i/execute! [["chmod" "0600" "/root/.pgpass"]] config)))
|
||||||
|
|
||||||
(defn-spec drop-create-db! nil?
|
(defn-spec drop-create-db! nil?
|
||||||
[config ::pg-config]
|
[config ::pg-config]
|
||||||
|
|
|
@ -67,8 +67,8 @@
|
||||||
|
|
||||||
(defn-spec pgpass string?
|
(defn-spec pgpass string?
|
||||||
[config ::pg-config]
|
[config ::pg-config]
|
||||||
(let [{:keys [pg-host pg-db pg-user pg-password]} config]
|
(let [{:keys [pg-host pg-port pg-db pg-user pg-password]} config]
|
||||||
(str pg-host ":" pg-db ":" pg-user ":" pg-password)))
|
(str pg-host ":" pg-port ":" pg-db ":" pg-user ":" pg-password)))
|
||||||
|
|
||||||
(defn-spec db-drop-create-command ::cd/commands
|
(defn-spec db-drop-create-command ::cd/commands
|
||||||
[config ::pg-config]
|
[config ::pg-config]
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
(st/instrument `cut/db-drop-create-command)
|
(st/instrument `cut/db-drop-create-command)
|
||||||
|
|
||||||
(deftest should-calculate-pgpass
|
(deftest should-calculate-pgpass
|
||||||
(is (= "localhost:mydb:user:password"
|
(is (= "localhost:5432:mydb:user:password"
|
||||||
(cut/pgpass {:restic-repository "repo"
|
(cut/pgpass {:restic-repository "repo"
|
||||||
:backup-path "dir-at-repo"
|
:backup-path "dir-at-repo"
|
||||||
:pg-host "localhost"
|
:pg-host "localhost"
|
||||||
|
|
Loading…
Reference in a new issue