aboutsummaryrefslogtreecommitdiff
path: root/zenserver/compute/apply.cpp
diff options
context:
space:
mode:
authorJoe Kirchoff <[email protected]>2022-03-17 09:55:09 -0700
committerGitHub <[email protected]>2022-03-17 09:55:09 -0700
commit7466cb93fbb9f4082dc253a328222dac8bbe58e4 (patch)
tree2b60020b7ab15867bfabf135bf8217aabe553c6d /zenserver/compute/apply.cpp
parentIntroduced basic validation of the clang-format version (diff)
downloadzen-7466cb93fbb9f4082dc253a328222dac8bbe58e4.tar.xz
zen-7466cb93fbb9f4082dc253a328222dac8bbe58e4.zip
Update horde compute to use Jupiter for storage (#60)
Diffstat (limited to 'zenserver/compute/apply.cpp')
-rw-r--r--zenserver/compute/apply.cpp38
1 files changed, 22 insertions, 16 deletions
diff --git a/zenserver/compute/apply.cpp b/zenserver/compute/apply.cpp
index e4d5697fa..044078aa4 100644
--- a/zenserver/compute/apply.cpp
+++ b/zenserver/compute/apply.cpp
@@ -6,6 +6,7 @@
# include <upstream/jupiter.h>
# include <upstream/upstreamapply.h>
+# include <upstream/upstreamcache.h>
# include <zencore/compactbinary.h>
# include <zencore/compactbinarybuilder.h>
# include <zencore/compactbinarypackage.h>
@@ -173,10 +174,10 @@ SandboxedFunctionJob::GrantNamedObjectAccess(PWSTR ObjectName, SE_OBJECT_TYPE Ob
.grfAccessMode = GRANT_ACCESS,
.grfInheritance = grfInhericance,
.Trustee = {.pMultipleTrustee = nullptr,
- .MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE,
- .TrusteeForm = TRUSTEE_IS_SID,
- .TrusteeType = TRUSTEE_IS_GROUP,
- .ptstrName = (PWSTR)m_AppContainerSid}};
+ .MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE,
+ .TrusteeForm = TRUSTEE_IS_SID,
+ .TrusteeType = TRUSTEE_IS_GROUP,
+ .ptstrName = (PWSTR)m_AppContainerSid}};
PACL OldAcl = nullptr;
@@ -328,24 +329,29 @@ SandboxedFunctionJob::SpawnJob(std::filesystem::path ExePath)
////////////////////////////////////////////////////////////////////////////////
-HttpFunctionService::HttpFunctionService(CasStore& Store, CidStore& InCidStore, const std::filesystem::path& BaseDir)
+HttpFunctionService::HttpFunctionService(CasStore& Store,
+ CidStore& InCidStore,
+ const std::filesystem::path& BaseDir,
+ const CloudCacheClientOptions& ComputeOptions,
+ const CloudCacheClientOptions& StorageOptions,
+ const UpstreamAuthConfig& ComputeAuthConfig,
+ const UpstreamAuthConfig& StorageAuthConfig,
+ AuthMgr& Mgr)
: m_Log(logging::Get("apply"))
, m_CasStore(Store)
, m_CidStore(InCidStore)
, m_SandboxPath(BaseDir / "scratch")
, m_FunctionPath(BaseDir / "func")
{
- m_UpstreamApply = MakeUpstreamApply({}, m_CasStore, m_CidStore);
-
- CloudCacheAccessToken AccessToken{.Value = "ServiceAccount 0f8056b30bd0df0959be55fc3338159b6f938456d3474aed0087fb965268d079",
- .ExpireTime = CloudCacheAccessToken::TimePoint::max()};
-
- CloudCacheClientOptions Options = {.ServiceUrl = "https://horde.devtools-dev.epicgames.com"sv,
- .DdcNamespace = "default"sv,
- .BlobStoreNamespace = "default"sv};
-
- auto HordeUpstreamEndpoint =
- MakeHordeUpstreamEndpoint(Options, CloudCacheTokenProvider::CreateFromStaticToken(AccessToken), m_CasStore, m_CidStore);
+ m_UpstreamApply = UpstreamApply::Create({}, m_CasStore, m_CidStore);
+
+ auto HordeUpstreamEndpoint = UpstreamApplyEndpoint::CreateHordeEndpoint(ComputeOptions,
+ ComputeAuthConfig,
+ StorageOptions,
+ StorageAuthConfig,
+ m_CasStore,
+ m_CidStore,
+ Mgr);
m_UpstreamApply->RegisterEndpoint(std::move(HordeUpstreamEndpoint));
m_UpstreamApply->Initialize();