diff options
| author | Joe Kirchoff <[email protected]> | 2022-03-17 09:55:09 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-03-17 09:55:09 -0700 |
| commit | 7466cb93fbb9f4082dc253a328222dac8bbe58e4 (patch) | |
| tree | 2b60020b7ab15867bfabf135bf8217aabe553c6d /zenserver/compute/apply.cpp | |
| parent | Introduced basic validation of the clang-format version (diff) | |
| download | zen-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.cpp | 38 |
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(); |