git.iko.soy/typeable/octopod
on master help sign in
check to exists helm and b2b-helm before running
commitbbbce605faa654c8bb5faf63d22011d3a7fe5fcd authorAndrei Orlov <aaorlov1@gmail.com> dateWed 19 Feb 2020, 22:21 (7 years ago) parentbea83e2
2 files changed+23−24
src/DMS/Helm.hs+1−1 src/DMS/Lib.hs+22−23
src/DMS/Helm.hs+1−1
@@ -43,7 +43,7 @@ createInfraArgs name = [
4343 , "--release-name", rn
4444 , "--set", "'b2b-kafka-int.zk=" ++ rn ++ "-zk-0." ++ rn ++ "-zk." ++ namespace ++ "/int'"
4545 , "--set", "'b2b-elasticsearch.cluster_hosts=" ++ rn ++ "-elasticsearch-0." ++ rn ++ "-elasticsearch." ++ namespace ++ "'"
46− , "--set", "'b2b-postgres.postgres_db=" ++ rn_ ++ "'"
46+ , "--set", "'b2b-postgres.postgres_db=avia'"
4747 , infraChartName
4848 ]
4949 where rn = releaseName infraChartName name
src/DMS/Lib.hs+22−23
@@ -20,6 +20,7 @@ import Database.PostgreSQL.Simple
2020import Options.Generic
2121import Network.Wai.Handler.Warp
2222import Servant
23+import System.Exit
2324import System.Log.FastLogger
2425import System.Process.Typed
2526
@@ -37,7 +38,7 @@ type PgPool = Pool Connection
3738type AppM = ReaderT State Handler
3839
3940data State
40− = State { pool :: PgPool, logger :: TimedFastLogger }
41+ = State { pool :: PgPool, logger :: TimedFastLogger, helm :: FilePath, b2bHelm :: FilePath }
4142
4243runDMS :: IO ()
4344runDMS = do
@@ -45,8 +46,14 @@ runDMS = do
4546 (logger, cleanUp) <- newTimedFastLogger timeCache (LogStdout defaultBufSize)
4647 logInfo logger "started"
4748 args <- getRecord "DMS"
48− pool <- initConnectionPool (db args) (dbPoolSize args)
49− run (port args) (app $ State pool logger)
49+ helm <- helmPath
50+ b2bHelm <- b2bHelmPath
51+ case (helm, b2bHelm) of
52+ (Just h, Just b) -> do
53+ pool <- initConnectionPool (db args) (dbPoolSize args)
54+ run (port args) (app $ State pool logger h b)
55+ (Nothing, _) -> die "helm not found"
56+ (_, _) -> die "b2b-helm not found"
5057
5158initConnectionPool :: ByteString -> Int -> IO PgPool
5259initConnectionPool db = createPool (connectPostgreSQL db) close 1 30
@@ -77,15 +84,11 @@ list = do
7784
7885create :: Deployment -> AppM Text
7986create d = do
80− State{pool = p, logger = l} <- ask
81− b2bHelm <- liftIO b2bHelmPath
82− case b2bHelm of
83− Just b2bHelm -> do
84− createDeployment p d
85− createInfra d b2bHelm
86− createApp d b2bHelm
87− liftIO . logInfo l $ "deployment created, deployment: " <> (pack . show $ d)
88− Nothing -> liftIO . logWarn l $ "b2b-helm not found. qed"
87+ State{pool = p, logger = l, b2bHelm = b} <- ask
88+ createDeployment p d
89+ createInfra d b
90+ createApp d b
91+ liftIO . logInfo l $ "deployment created, deployment: " <> (pack . show $ d)
8992 return ""
9093
9194 where
@@ -131,15 +134,11 @@ edit n (Deployment _ _ e) = do
131134
132135destroy :: Text -> AppM Text
133136destroy n = do
134− State{pool = p, logger = l} <- ask
135− helm <- liftIO helmPath
136− case helm of
137− Just helm -> do
138− destroyApp n helm
139− destroyInfra n helm
140− deleteDeployment p
141− liftIO . logInfo l $ "deployment destroyed, name: " <> n
142− Nothing -> liftIO . logWarn l $ "helm not found. qed"
137+ State{pool = p, logger = l, helm = h} <- ask
138+ destroyApp n h
139+ destroyInfra n h
140+ deleteDeployment p
141+ liftIO . logInfo l $ "deployment destroyed, name: " <> n
143142 return ""
144143
145144 where
@@ -174,8 +173,8 @@ update n (Deployment _ t _) = do
174173logInfo :: TimedFastLogger -> Text -> IO ()
175174logInfo logger = logWithSeverity logger "INFO"
176175
177−logWarn :: TimedFastLogger -> Text -> IO ()
178−logWarn logger = logWithSeverity logger "WARN"
176+logWarning :: TimedFastLogger -> Text -> IO ()
177+logWarning logger = logWithSeverity logger "WARN"
179178
180179logWithSeverity :: ToLogStr msg => TimedFastLogger -> ByteString -> msg -> IO ()
181180logWithSeverity logger severity msg = logger $ \ft -> metadata ft <> message