adds torrc endpoints

This commit is contained in:
Keagan McClelland
2019-12-27 02:21:24 -07:00
parent a54307ea5f
commit 16188bc898
5 changed files with 8 additions and 49 deletions

View File

@@ -6,9 +6,11 @@
/apps/version/#Text VersionAppR GET --get most recent appId version
/sys/version/agent VersionAgentR GET --get most recent agent version
/sys/version/appmgr VersionAppMgrR GET --get most recent appmgr version
/sys/version/torrc VersionTorrcR GET --get most recent torrc version
!/apps/#S9PK AppR GET --get most recent appId at appversion spec, defaults to >=0.0.0 -- ?spec={semver-spec}
/sys/agent AgentR GET --get most recent agent at appversion -- ?spec={semver-spec}
/sys/appmgr AppMgrR GET --get most recent appmgr at appversion -- ?spec={semver-spec}
/sys/torrc TorrcR GET --get most recent torrc at appversion -- ?spec={semver-spec}
/sys.tar.gz ImageR GET --get most recent iso image, ?spec={semver-spec}

View File

@@ -46,6 +46,9 @@ getAgentR = getApp sysResourceDir "agent"
getAppMgrR :: Handler TypedContent
getAppMgrR = getApp sysResourceDir "appmgr"
getTorrcR :: Handler TypedContent
getTorrcR = getApp sysResourceDir "torrc"
getAppR :: S9PK -> Handler TypedContent
getAppR (S9PK appId) = getApp appResourceDir appId

View File

@@ -24,6 +24,9 @@ getVersionAgentR = getVersionWSpec sysResourceDir "agent"
getVersionAppMgrR :: Handler (Maybe AppVersionRes)
getVersionAppMgrR = getVersionWSpec sysResourceDir "appmgr"
getVersionTorrcR :: Handler (Maybe AppVersionRes)
getVersionTorrcR = getVersionWSpec sysResourceDir "torrc"
getVersionWSpec :: FilePath -> Text -> Handler (Maybe AppVersionRes)
getVersionWSpec rootDir appId = do
spec <- querySpecD mostRecentVersion <$> lookupGetParam "spec"

View File

@@ -1,25 +0,0 @@
{-# LANGUAGE QuasiQuotes #-}
module Live.Serialize where
import Data.String.Interpolate.IsString
import Application
import Lib.External.Registry
import Startlude
someYaml :: ByteString
someYaml = [i|
bitcoind:
title: "Bitcoin Core"
description:
short: "A Bitcoin Full Node"
long: "The bitcoin full node implementation by Bitcoin Core."
version-info:
- version: 0.18.1
release-notes: "Some stuff"
icon-type: png
|]
appRegistryTest :: IO (Either String RegistryRes)
appRegistryTest = flip parseBsManifest someYaml <$> getAppSettings

View File

@@ -1,24 +0,0 @@
module Live.UpdateAgent where
import Application
import Lib.Types.StoreApp
import Lib.UpdateAgent
import Startlude
av :: AppVersion
av = AppVersion (0,0,0)
avs :: AppVersionSpecification
avs = AppVersionSpecification SVEquals av
-- Need a few things to run this...
-- 1) a running "registry" server, pointed to by the settings.yml this file is run against.
-- 2) that server needs to serve up an executable file at /agent.0.0.0 (the version of av above)
-- 3) the executable file must itself spin up a server on the same port as this application, defined again in settings.yml
-- 4) that server must also respond to /version with a semver version in the format "0.0.0"
-- 5) If all goes well, the stack ghci session which calls updateAgentLive should have been killed, and the executable should still be running
updateAgentLive :: IO ()
updateAgentLive = do
(_, agentCtx, _) <- getApplicationRepl
updateAgent' avs agentCtx