See migration guide
hl:doctor
command#'hr/status
See migration guide
0.6.5
. Babashka version included 0.7.0
.0.3.5
See migration guide
0.6.3
. Put in ServerlessRepo's README.md all necessary information regarding the layer.0.6.8
.:envs
property from :ctx
to prevent security issues. Use System/getenv
instead!disable-analytics?=true
in h/entrypoint
.See migration guide
[bb tasks] Introduce bb hl:update-bb-tasks
as an automation for updating to stable version of tasks.
[bb layer] Update babashka runtime to version 0.6.2
. Runtime does not precalculates the classpath. Cold start should be lower now! :)
[bb layer] Use bb.edn
for specifying dependencies for babashka code instead of relying on deps.edn
.
[bb layer] Remove babashka-shim
from the runtime, remove direct dependency on holy-lambda
.
Users should put the newest holy-lambda
version in bb.edn
and use bb hl:babashka:sync
to download the dependencies.
Pack dependencies in the layer and reference it's ARN in template.yml
.
Example
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
Example basic lambda using `holy-lambda` micro library
Parameters:
Runtime:
Type: String
Default: provided
Timeout:
Type: Number
Default: 40
MemorySize:
Type: Number
Default: 128
HL_ENTRYPOINT:
Type: String
Default: com.company.example-lambda.core
Globals:
Function:
Runtime: !Ref Runtime
Timeout: !Ref Timeout
MemorySize: !Ref MemorySize
Environment:
Variables:
HL_ENTRYPOINT: !Ref HL_ENTRYPOINT
Resources:
BabashkaDepsLayer:
Type: AWS::Serverless::LayerVersion
Properties:
LayerName: BabashkaDepsLayer
ContentUri: ./.holy-lambda/bb-clj-deps
ExampleLambdaFunction:
Type: AWS::Serverless::Function
Properties:
FunctionName: ExampleLambdaFunction
Handler: com.company.example-lambda.core.ExampleLambda
CodeUri: src
Events:
HelloEvent:
Type: HttpApi
Properties:
ApiId: !Ref ServerlessHttpApi
Path: /
Method: GET
Layers:
- <HERE_PUT_PHISICAL_ID>
- !Ref BabashkaDepsLayer
...
:body-parsed
(see https://github.com/FieryCod/holy-lambda/issues/74)[holy-lambda] Improved performance of the runtime
[bb layer] Renamed the Entrypoint
environment variable for Babashka runtimes to HL_ENTRYPOINT
.
[bb tasks] Rename hl:sync
to hl:babashka:sync
. Sync downloads only pods
and Babashka deps. Dependencies for babashka should be specified in bb.edn.
[bb tasks] Remove :mvn/local-repo
from deps.edn
. Dependencies for Clojure & Native backend are not downloaded to a local directory.
[bb tasks] Project compilation happens without Docker now.
[bb tasks] HL reverts allowance for not specifying the backend name.
[bb tasks] Rename :runtime
in bb.edn
to :backend
to match the documentation.
[bb tasks] Remove :entrypoint
and :clj-alias
support. Use :compile-cmd
in :build
instead!
[docker] Holy Lambda images are now available at ghcr. Please use the new ghcr.io/fierycod/holy-lambda-builder
instead of fierycod/graalvm-native-image
. Images don't include aws
, aws sam
, and clojure
.
[holy-lambda] Fix application/json
content type detection
[docker] Holy Lambda images are now available at ghcr. Please use the new ghcr.io/fierycod/holy-lambda-builder
instead of fierycod/graalvm-native-image
. Images don't include aws
, aws sam
, and clojure
.
See here(https://github.com/FieryCod/holy-lambda/pkgs/container/holy-lambda-builder/versions)
[docker] Holy Lambda now supports aarch64 for all of the runtimes and is now compatible with MacOS M1 :)
[docs] Documentation has been updated to match the newest version
[babashka] Old babashka artifact has been deprecated.
Use one of:
[babashka layer] Bump babashka to 0.6.2
[graalvm] Holy Lambda distributes configuration for GraalVM native-image to let the users use HL without bb tasks
.
[runtime] Fix :awsRequestId
ctx property to point to runtime :invocation-id
.
[native:conf] Remove warning:
WARNING: Could not resolve fierycod.holy_lambda.core$entrypoint$fn__6578 for reflection configuration. Reason: java.lang.ClassNotFoundException: fierycod.holy_lambda.core$entrypoint$fn__6578.
Rationale https://github.com/FieryCod/holy-lambda/discussions/68
defn
for lambda definition.
Holy Lambda exposes a single macro from the core namespace entrypoint
. native-runtime namespace has been renamed to
custom-runtime. custom-runtime namespace is internal, not for public consumption.fierycod/graalvm-native-image
images:
.jar
file[bb tasks] Add support for passing arguments to commands in --
style.
Example
bb stack:invoke --validation-fn '(fn [response] true)'
[ci] Run integration tests on all supported GraalVM images
[bb tasks] Add experimental support for setting some of HL options via AWS variables. This should ease pain of using HL with AWS vault.
[docker] Add fierycod/graalvm-native-image:dev
which targets GraalVM CE dev releases :)
[docker] Add zip program for CI based deployments where tasks are run in Docker context
[bb tasks] Remove clj-kondo from the required commands
[holy-lambda] Interceptors should not throw when response is byte encoded
[holy-lambda] Don't use -H:+AllowIncompleteClasspath on behalf of user
[holy-lambda] Use DISABLE_SIGNAL_HANDLERS="true"
in bootstrap file
[holy-lambda] Allow users to support arbitrary response if the response is byte encoded. Opens a way to support transit and other content-types.
[holy-lambda] Properly parse response. Add support for AWS Step Functions.
[holy-lambda] Use config-merge-dir instead of config-output-dir when executing bb native:conf. User should be allowed to specify custom configuration in reflect-config.json
, resource-config.json
that should not be overriden.
[holy-lambda] Add support for sending a base64 encoded images from HL hr/png-image
[docs] Add documentation about using GraalVM-EE
[examples] Add basic cdk example
[holy-lambda] System/exit 1 when handler is not found during native:conf
[bb tasks] Don't remove empty .aws
folder since tasks might not have proper permissions set, bind ~/.aws
folder at /.aws
path instead.
[bb tasks] Add support for CI deployments.
[bb tasks] Add support for docker :network
option
[docs] Add FAQ, CI support documents
[bb tasks] Fix using docker in CI environment
[bb tasks] Remove broken stack:lint command. Use plain clj-kondo instead
[bb layer] Add a type hint & fix bb layer. Users should update to :runtime:version 0.1.2
[CI] Add full test suite for basic lambda examples
[bb tasks] Add support for multi environment deployments
[bb tasks] Add :validation-fn
for bb stack:invoke
command:
Example:
bb stack:invoke :validation-fn '(fn [{:keys [body headers statusCode]}] (= body "Hello world"))'
bb stack:logs
refl
projectdocker:build:ee
. GraalVM EE support will arrive soon.LinkOption
reflection.bb
executable.CLJ_ALIAS
checking[bb tasks] Remove :build-variant. Replaced by :docker section
[bb tasks] Change native-configurations path. User should be able to modify the configuration which is now generated at resources/native-configurations
[bb tasks] Allow runtime override when using :native runtime. You can now invoke lambda in :java runtime when :native runtime is declared in bb.edn:
Example:
bb stack:invoke :runtime :java
[bb tasks] Allow nil value for :native-deps option
[bb tasks] Add support for setting :docker:volumes. This is crucial when working with local libraries, since HL runs tasks in docker context!
[bb layer] Bump layer version to 0.0.32 which includes babashka v0.4.4
[bb tasks] Commands bb bucket:create and bb bucket:remove can now create/remove specified bucket (not only the stack bucket) when :name parameter is used
[bb tasks] Inform the user when docker image is not downloaded. This makes HL more user friendly.
[bb tasks] Don't AOT whole project when uberjaring. AOT compile only the main class.
[bb tasks] Add support for deps.edn aliases in bb.edn. Useful for local libraries
[bb tasks] Fix bb stack:sync which was failing on the first run
[bb tasks] Add support for the custom profile in :infra
Update babashka layer to version 0.4.1
[bb tasks] Add an automated way of managing layer (update/downgrade). The new way is not compatible with the previous one. Please remove your old babashka layers stack and run bb stack:sync
.
[docs] Add documentation for getting started guide, refine template (entirely done by @lowecg. Thank you so much!)
[holy-lambda] Change the order of execution for :leave interceptors. Order is the same as for Pedestal Interceptors now :)
[bb tasks] Add validation for docker, AWS setup. Now holy-lambda will fail early with the helpful message if either AWS or docker is not properly set up.
[bb tasks] Region is now derived from the profile if exists. A region in bb.edn overrides default region
[bb tasks] Commands which depend on stack:sync are now restricted if the project is not synced
[bb tasks] stack:invoke, stack:deploy, stack:api now support setting :params for AWS SAM parameters-overrides.
Example:
bb stack:invoke :params "{:SomeParameter \"Hello World\"}"
Handler definition has been changed from [event,context] -> response
to [request] -> response
.
Can you improve this documentation? These fine people already did:
Karol Wójcik & FierycodEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close