Working dir, dns and nginx creation

This commit is contained in:
Daniel Ziltener 2019-12-09 15:13:27 +01:00
parent 77c588b487
commit 8c776921ee
1 changed files with 22 additions and 17 deletions

View File

@ -12,7 +12,8 @@
spy get-env]]) spy get-env]])
(:import (java.nio.file Files (:import (java.nio.file Files
LinkOption) LinkOption)
(java.nio.file.attribute PosixFileAttributeView))) (java.nio.file.attribute PosixFileAttributeView
FileAttribute)))
(def vault-client (vault/new-client "http://127.0.0.1:8200")) (def vault-client (vault/new-client "http://127.0.0.1:8200"))
@ -29,11 +30,12 @@
(.setGroup group))) (.setGroup group)))
(defn make-dirs! [{:keys [company-name]}] (defn make-dirs! [{:keys [company-name]}]
(let [attrs (Files/readAttributes (.toPath (io/file "srv/http/www.sompani.com")) (let [attrs (Files/getFileAttributeView (.toPath (io/file "/srv/http/www.sompani.com"))
PosixFileAttributeView PosixFileAttributeView
(into-array LinkOption [LinkOption/NOFOLLOW_LINKS])) (into-array LinkOption [LinkOption/NOFOLLOW_LINKS]))
group (.group attrs) ;; group (.group attrs)
owner (.owner attrs)] owner (.getOwner attrs)
fattr (into-array FileAttribute [])]
(doseq [dir-str ["/srv/http/staging.%s.talent.careers-cache" (doseq [dir-str ["/srv/http/staging.%s.talent.careers-cache"
"/srv/http/staging.%s.talent.careers-logs" "/srv/http/staging.%s.talent.careers-logs"
"/srv/http/staging.%s.talent.careers-sessions" "/srv/http/staging.%s.talent.careers-sessions"
@ -45,30 +47,33 @@
"/srv/http/%s.talent.careers-uploads" "/srv/http/%s.talent.careers-uploads"
"/srv/http/%s.talent.careers.1234"] "/srv/http/%s.talent.careers.1234"]
:let [dir (.toPath (io/file (format dir-str company-name)))]] :let [dir (.toPath (io/file (format dir-str company-name)))]]
(Files/createDirectory dir nil) (Files/createDirectory dir fattr)
(set-owner dir owner) (set-owner dir owner)
(set-group dir group) ;; (set-group dir group)
) )
(let [link (.toPath (io/file (format "/srv/http/staging.%s.talent.careers" company-name)))] (let [link (.toPath (io/file (format "/srv/http/staging.%s.talent.careers" company-name)))]
(Files/createSymbolicLink link (Files/createSymbolicLink link
(.toPath (io/file (format "/srv/http/staging.%s.talent.careers-1234" company-name))) (.toPath (io/file (format "/srv/http/staging.%s.talent.careers-1234" company-name)))
nil) fattr)
(set-owner link owner) (set-owner link owner)
(set-group link group)) ;; (set-group link group)
)
(let [link (.toPath (io/file (format "/srv/http/%s.talent.careers" company-name)))] (let [link (.toPath (io/file (format "/srv/http/%s.talent.careers" company-name)))]
(Files/createSymbolicLink link (Files/createSymbolicLink link
(.toPath (io/file (format "/srv/http/%s.talent.careers-1234" company-name))) (.toPath (io/file (format "/srv/http/%s.talent.careers-1234" company-name)))
nil) fattr)
(set-owner link owner) (set-owner link owner)
(set-group link group)))) ;; (set-group link group)
)))
(defn create-nginx-server! [datamap] (defn create-nginx-server! [datamap]
(doseq [file ["resources/nginx/skel.talent.careers" (doseq [file ["skel.talent.careers"
"resources/nginx/staging.skel.talent.careers"] "staging.skel.talent.careers"]
:let [out-file (format "/etc/nginx/servers-available/%s" (str/replace file #"skel" (:company-name datamap)))]] :let [in-file (str "resources/nginx/" file)
(info "using template" file "to create" out-file) out-file (format "/etc/nginx/servers-available/%s" (str/replace file #"skel" (:company-name datamap)))]]
(-> (slurp file) (info "using template" in-file "to create" out-file)
(-> (slurp in-file)
(cljstache/render datamap) (cljstache/render datamap)
(spit out-file)))) (spit out-file))))