Rijk van Zanten 76f60913e3 Secure Extensions (#20031)
* start setting up types

* Add types for sandbox flag

* Add initial secure API extensions implementation

* Remove erroneous file

* Delete old exec implementation

* Read sandbox from extension manifest

* Rename \0virtual to @directus/virtual-ent4y

* Test register exec

* Add exec function using ivm callback

* Throw error on invalid type

* Make extensions individually unregisterable

* Remove support for secure bundle extensions

* Rework context passing to fix async

* Remove unused promise.resolve

* Start implementing secure extension register and context functions

* Rename secure to sandbox

* Only dispose isolate on catastrophic error

* Use callback copy option instead of explicit ExternalCopy

* Add registerOperation handler

* Add registerRoute handler

* Rename some return values

* Rename sandbox registration file

* Expose utils through sdk import

* Remove unused files

* Rename timeout to sleep for consistency with flows

* Make registerRoute method uppercase

* Add request util

* Abort process on catastrophic error

* Update api extension sdk import name

* Add variables for reference parameters for consistency

* Add permissions to request util

* Fix non-determinism when registering sandboxed extensions

* Improve stack trace readability

* Initialize isolated-vm for Vitest

* Format files

* Fix request options undefined check

* Always copy host function result into isolate

* Split up host function reference generation

* Add workaround for async error from host not thrown in isolate

* Use undefined instead of null as first argument to apply

* Abort process if sandbox has reached memory limit

* Reorganize files

* Use type error for assertion

* Use typeerrors in sdk generators, restructure some more

* Document

* Add changeset

---------

Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-10-21 10:31:46 -04:00
2023-10-21 10:31:46 -04:00
2023-10-21 10:31:46 -04:00
2023-10-21 00:34:57 +02:00
2023-10-20 18:55:45 +00:00
2023-10-21 10:31:46 -04:00
2023-10-21 00:34:57 +02:00
2023-10-04 14:53:36 -04:00
2023-10-21 00:34:57 +02:00
2023-04-05 13:59:50 -04:00
2023-04-26 14:10:42 -04:00
2023-10-21 00:34:57 +02:00
2023-10-04 14:53:36 -04:00
2023-04-26 14:10:42 -04:00

Directus Logo


🐰 Introduction

Directus is a real-time API and App dashboard for managing SQL database content.

  • Open Source. No artificial limitations, vendor lock-in, or hidden paywalls.
  • REST & GraphQL API. Instantly layers a blazingly fast Node.js API on top of any SQL database.
  • Manage Pure SQL. Works with new or existing SQL databases, no migration required.
  • Choose your Database. Supports PostgreSQL, MySQL, SQLite, OracleDB, CockroachDB, MariaDB, and MS-SQL.
  • On-Prem or Cloud. Run locally, install on-premises, or use our self-service Cloud service.
  • Completely Extensible. Built to white-label, it is easy to customize our modular platform.
  • A Modern Dashboard. Our no-code Vue.js app is safe and intuitive for non-technical users, no training required.

Learn more about DirectusDocumentation


🚀 Directus Cloud

Directus Cloud allows you to create projects, hosted by the Directus team, in 90 seconds.

  • No product limitations or service usage quotas (unlimited users, API requests, etc)
  • A modern self-service dashboard to create and monitor all your projects in one place
  • End-to-end solution: Directus, database, serverless auto-scaling, storage, and a global CDN
  • Select your desired region and provision a new project in ~90 seconds

Create a Directus Cloud Project


🤔 Community Help

The Directus Documentation is a great place to start, or explore these other channels:


❤️ Contributing & Sponsoring

Please read our Contributing Guide before submitting Pull Requests.

All security vulnerabilities should be reported in accordance with our Security Policy.

Directus is a premium open-source (BSL 1.1) project, made possible with support from our passionate core team, talented contributors, and amazing GitHub Sponsors. Thank you all!!


© 2004-2023, Monospace, Inc.

Description
No description provided
Readme 714 MiB
Languages
TypeScript 77.4%
Vue 21.1%
JavaScript 0.5%
SCSS 0.5%
Liquid 0.3%
Other 0.2%