mirror of
https://github.com/gristlabs/grist-core.git
synced 2025-06-05 21:04:00 +00:00
Summary: * Moves essential plugins to grist-core, so that basic imports (e.g. csv) work. * Adds support for a `GRIST_SANDBOX_FLAVOR` flag that can systematically override how the data engine is run. - `GRIST_SANDBOX_FLAVOR=pynbox` is "classic" nacl-based sandbox. - `GRIST_SANDBOX_FLAVOR=docker` runs engines in individual docker containers. It requires an image specified in `sandbox/docker` (alternative images can be named with `GRIST_SANDBOX` flag - need to contain python and engine requirements). It is a simple reference implementation for sandboxing. - `GRIST_SANDBOX_FLAVOR=unsandboxed` runs whatever local version of python is specified by a `GRIST_SANDBOX` flag directly, with no sandboxing. Engine requirements must be installed, so an absolute path to a python executable in a virtualenv is easiest to manage. - `GRIST_SANDBOX_FLAVOR=gvisor` runs the data engine via gvisor's runsc. Experimental, with implementation not included in grist-core. Since gvisor runs on Linux only, this flavor supports wrapping the sandboxes in a single shared docker container. * Tweaks some recent express query parameter code to work in grist-core, which has a slightly different version of express (smoke test doesn't catch this since in Jenkins core is built within a workspace that has node_modules, and wires get crossed - in a dev environment the problem on master can be seen by doing `buildtools/build_core.sh /tmp/any_path_outside_grist`). The new sandbox options do not have tests yet, nor does this they change the behavior of grist servers today. They are there to clean up and consolidate a collection of patches I've been using that were getting cumbersome, and make it easier to run experiments. I haven't looked closely at imports beyond core. Test Plan: tested manually against regular grist and grist-core, including imports Reviewers: alexmojaki, dsagal Reviewed By: alexmojaki Differential Revision: https://phab.getgrist.com/D2942 |
||
---|---|---|
.. | ||
ACLFormula.ts | ||
ActionHistory.ts | ||
ActionHistoryImpl.ts | ||
ActionSummary.ts | ||
ActiveDoc.ts | ||
ActiveDocImport.ts | ||
AppEndpoint.ts | ||
Authorizer.ts | ||
BrowserSession.ts | ||
checksumFile.ts | ||
Client.ts | ||
Comm.js | ||
dbUtils.ts | ||
DocApi.ts | ||
DocClients.ts | ||
DocManager.ts | ||
DocPluginData.ts | ||
DocPluginManager.ts | ||
DocSession.ts | ||
DocSnapshots.ts | ||
DocStorage.ts | ||
DocStorageManager.ts | ||
docUtils.d.ts | ||
docUtils.js | ||
DocWorker.ts | ||
DocWorkerMap.ts | ||
ExcelFormatter.ts | ||
ExpandedQuery.ts | ||
Export.ts | ||
ExportCSV.ts | ||
ExportXLSX.ts | ||
expressWrap.ts | ||
ExternalStorage.ts | ||
extractOrg.ts | ||
FileParserElement.ts | ||
filterUtils.ts | ||
FlexServer.ts | ||
GoogleAuth.ts | ||
GoogleExport.ts | ||
GranularAccess.ts | ||
GristServer.ts | ||
gristSessions.ts | ||
guessExt.ts | ||
HashUtil.ts | ||
HostedMetadataManager.ts | ||
HostedStorageManager.ts | ||
IBilling.ts | ||
IChecksumStore.ts | ||
ICreate.ts | ||
IDocStorageManager.ts | ||
idUtils.ts | ||
IElectionStore.ts | ||
INotifier.ts | ||
ISandbox.ts | ||
IShell.ts | ||
ITestingHooks-ti.ts | ||
ITestingHooks.ts | ||
log.ts | ||
manifest.ts | ||
NSandbox.ts | ||
OnDemandActions.ts | ||
PermissionInfo.ts | ||
Permit.ts | ||
places.ts | ||
PluginEndpoint.ts | ||
PluginManager.ts | ||
requestUtils.ts | ||
RowAccess.ts | ||
SafePythonComponent.ts | ||
sandboxUtil.js | ||
sendAppPage.ts | ||
ServerColumnGetters.ts | ||
serverUtils.ts | ||
Sessions.ts | ||
Sharing.ts | ||
shortDesc.ts | ||
shutdown.js | ||
SQLiteDB.ts | ||
TagChecker.ts | ||
TestingHooks.ts | ||
Throttle.ts | ||
TimeQuery.ts | ||
UnsafeNodeComponent.ts | ||
uploads.ts | ||
WorkCoordinator.ts |