Replies: 4 comments 13 replies
-
Some resources gathered so far (will post separate answers to make comment threads easier):
|
Beta Was this translation helpful? Give feedback.
-
Architecture proposal which seems quite similar to Site's aims https://3factor.app/ - relevant HN thread https://news.ycombinator.com/item?id=18255574 |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Nice set of questions. My current thinking below:
Running on the site server produces coupling between 2 separate concerns, scalability/availability of Site itself and scalability/availability of user functions. It also creates a problem of having to sandbox the evaluation (can I run something like
I see this as a Lambda entity which describes its reference ID, signature and return type. The
The custom logic itself, the actual body of the function, should probably live outside Site. Reasoning here is that the business logic would still need to be hosted on some file system to allow development and testing. Going back and forth to extract the current logic from Site would be a sub-par experience compared to Github.
This could map into an initial POST
I guess the lambda definition would need to allow input/output hooks into XT. Which means, instead of passing custom parameters, the input could be sourced from the evaluation of an XT query which is part of the definition of the lambda. Similarly for the output, the result could be stored directly into XT.
The lambda object in XT would need to be created with a query property, which is the query to issue to XT at the time of evaluation. The actual lambda function should expect a single parameter of type "collection" which represents the result of calling the query. Site would be responsible to call such query and pass it to the invocation of the lambda function. |
Beta Was this translation helpful? Give feedback.
-
Currently, Site is focused only on building custom APIs for XTDB, but you are limited to providing datalog queries. Any processing that can't be done in a datalog query must be done on the frontend currently.
So the questions to be answered are:
Beta Was this translation helpful? Give feedback.
All reactions