vercel

A custom runtime for Vercel.com (Now v2) written in OCaml
README

This package provides a custom
runtime
for
AWS Lambda.

Example function

See the examples folder.

Deploying

Note: Based on the instructions in this blog
post
and
the Rust custom runtime
repository

For a custom runtime, AWS Lambda looks for an executable called bootstrap in
the deployment package zip. Rename the generated basic executable to
bootstrap and add it to a zip archive.

The Dockerfile (in conjunction with the build.sh script) in this
repo does just that. It builds a static binary called bootstrap and drops it
in the target directory.

$ ./build.sh && zip -j ocaml.zip bootstrap

Now that we have a deployment package (ocaml.zip), we can use the AWS
CLI
to create a new Lambda function. Make sure to
replace the execution role with an existing role in your account!

$ aws lambda create-function --function-name OCamlTest \
  --handler doesnt.matter \
  --zip-file file://./ocaml.zip \
  --runtime provided \
  --role arn:aws:iam::XXXXXXXXXXXXX:role/your_lambda_execution_role \
  --tracing-config Mode=Active

You can now test the function using the AWS CLI or the AWS Lambda console

$ aws lambda invoke --function-name OCamlTest \
  --payload '{"firstName": "world"}' \
  output.json
$ cat output.json  # Prints: {"message":"Hello, world!"}

Copyright & License

Copyright © 2018 António Nuno Monteiro

Distributed under the 3-clause BSD License (see LICENSE).

Install
Sources
lambda-runtime-0.1.0.tbz
sha256=58863594a2f94993208c749b77eb769cf5340b8d87bb9e5e994035ba331867ff
sha512=53c9e2c256f092c09e6ce7926b1bbcbdc93efcb727d5a755557d2eb7ab1c7b0ad0a3b8e708b01a70a6eda5ef6fa9714b40f79e172bc5d17aa2c434d8ecb9a9ca
Dependencies
Reverse Dependencies