Releases: akkoro/assemblylift
v0.4.0-alpha.11
Adds the environment
and cpu_compat_mode
attributes to function definitions:
[[api.functions]]
cpu_compat_mode = "high" # defaults to "default"
environment = { VAR_1 = "val1", VAR_2 = "val2" }
Additionally fixes some issues in the k8s
provider which snuck in over the last couple of releases 👨🏻🔧
What's Changed
- Function environment variables,
enable_simd
flag by @dotxlem in #94 - Replace
enabled_simd
withcpu_compat_mode
by @dotxlem in #95
Full Changelog: v0.4.0-alpha.10...v0.4.0-alpha.11
v0.4.0-alpha.10
This release is ABI breaking! Rust guests will need to upgrade to the latest (v0.4.0-alpha.10) assemblylift-core-io-guest
crate.
What's Changed
- Map
/tmp
in Lambda WASI environments by @dotxlem in #92 - Rewrite core using Wasmtime by @dotxlem in #93
Full Changelog: v0.4.0-alpha.9...v0.4.0-alpha.10
v0.4.0-alpha.9
Another bugfix release!
What's Changed
- Fix Terraform provider bugs & uprev
terraform
binary to v1.3.2 by @dotxlem in #91 - Independent service
is_root
and projectmap_to_root
flags 95dfeab
Download
Download the asml
CLI for Linux (GNU libc) with
curl -O public.assemblylift.akkoro.io/cli/0.4.0-alpha.9/x86_64-linux-gnu/asml
chmod +x asml
or macOS
curl -O public.assemblylift.akkoro.io/cli/0.4.0-alpha.9/x86_64-apple-darwin/asml
chmod +x asml
v0.4.0-alpha.8
This is a bugfix release!
- Fix TOML serialization error on
asml make function
- Fix AWS Lambda runtime not loading IOmods correctly
Download
Download the asml
CLI for Linux (GNU libc) with
curl -O public.assemblylift.akkoro.io/cli/0.4.0-alpha.8/x86_64-linux-gnu/asml
chmod +x asml
or macOS
curl -O public.assemblylift.akkoro.io/cli/0.4.0-alpha.8/x86_64-apple-darwin/asml
chmod +x asml
v0.4.0-alpha.7
What's Changed
- Fix Gloo API provider if no domains declared by @dotxlem in #88
- Fix templates by @dotxlem in #89
- Flag service API as "root" by @dotxlem in #90
Full Changelog: v0.4.0-alpha.6...v0.4.0-alpha.7
Download
Download the asml
CLI for Linux (GNU libc) with
curl -O public.assemblylift.akkoro.io/cli/0.4.0-alpha.7/x86_64-linux-gnu/asml
chmod +x asml
or macOS
curl -O public.assemblylift.akkoro.io/cli/0.4.0-alpha.7/x86_64-apple-darwin/asml
chmod +x asml
v0.4.0-alpha.6
What's Changed
- DNS Providers + TLS Certificates by @dotxlem in #84
- Add
nuke
command to CLI by @dotxlem in #85 - Add flag enabling service DNS names mapped to root by @dotxlem in #86
Full Changelog: v0.4.0-alpha.5...v0.4.0-alpha.6
Download
Download the asml
CLI for Linux (GNU libc) with
curl -O public.assemblylift.akkoro.io/cli/0.4.0-alpha.6/x86_64-linux-gnu/asml
chmod +x asml
or macOS
curl -O public.assemblylift.akkoro.io/cli/0.4.0-alpha.6/x86_64-apple-darwin/asml
chmod +x asml
v0.4.0-alpha.5
What's Changed
- Fix Ruby on AWS Lambda by @dotxlem in #82
- Deploy large Lambda function archives to S3 by @dotxlem in #83
- Fix bugs preventing use of multiple backend providers
Full Changelog: v0.4.0-alpha.4...v0.4.0-alpha.5
v0.4.0-alpha.4
What's Changed
Full Changelog: v0.4.0-alpha.3...v0.4.0-alpha.4
v0.4.0-alpha.3
What's Changed
- Support Gloo API Gateway for Kubernetes by @dotxlem in #77
- Terraform Gloo VirtualService instead of using
kubectl
by @dotxlem in #78 - Create k8s secret for container registry credentials by @dotxlem in #79
- Yak shaving for v0.4.0-alpha.3 by @dotxlem in #80
Full Changelog: v0.4.0-alpha.2...v0.4.0-alpha.3
v0.4.0-alpha.2
This release adds support for the Ruby programming language!
Download the asml
CLI for Linux (GNU libc) with
curl -O public.assemblylift.akkoro.io/cli/0.4.0-alpha.2/x86_64-linux-gnu/asml
chmod +x asml
or macOS
curl -O public.assemblylift.akkoro.io/cli/0.4.0-alpha.2/x86_64-apple-darwin/asml
chmod +x asml
Add a ruby function to a service:
asml make function service-name.function-name -l ruby
And add language = "ruby"
to the function definition in service.toml:
[api.functions.function-name]
language = "ruby"
provider = { name = "k8s-hyper-alpine" }
Note that as of this release Ruby is supported only by the Kubernetes provider (included in the definition above). See this blog post for more information about the k8s provider.
A Ruby function must include the file handler.rb
as its entry point. All files in the function directory will be copied recursively to the deployed image.
The precompiled Ruby distribution for AssemblyLift includes the asml
extension (exposing the AssemblyLift ABI) as well as the json
gem. The usually-bundled net-
gems are omitted for space as AssemblyLift does not support WASI sockets.
Example function which proxies the input (body) to the HTTP IOmod and waits for the response, returning the IOmod response to the caller:
require 'asml'
require 'base64'
require 'json'
# Proxy the function input to the HTTP IOmod and return the response
def main(input)
body = input['body_encoding'] == 'base64' ? Base64.decode64(input['body']) : nil
if body != nil then
Asml.log(body)
ioid = Asml.iomod_invoke('akkoro.std.http.request', body)
res = loop do
res = Asml.get_io_document(ioid)
break res if res != nil
end
Asml.success(res)
end
end
main(JSON.parse(Asml.get_function_input()))