-
[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.
-
[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 layer] Bump babashka version to 0.4.6
- [bb tasks] Add tail mode for
bb stack:logs
- [bb tasks] Ignore unnecessary reflections and resources from native-configuration. Based on @borkdude
refl
project - [bb tasks] Deprecate
docker:build:ee
. GraalVM EE support will arrive soon. - [holy-lambda] Remove additional
LinkOption
reflection.
- [bb tasks] Add additional describe:stacks step for stack:destroy, since sometimes stack cannot be destroyed
- [bb tasks] Allow to force compilation on sources
- [holy-lambda] Unify multiHeaders, headers conversion for both local and AWS environment. Breaking change if you were getting the headers from request.
- [holy-lambda-template] Add HttpApi reference in outputs for easier deployment
- [bb tasks] Fix self-manage-layers?
- [bb layer] Bump babashka version to 0.4.5
- [holy-lambda-template] Replace "." in stack name to "-"
- [Dockerfile CE] Bump ClojureTools. Minimize docker image
- [bb tasks] Fix adding Clojure/Pods deps for Babashka projects. For now all the runtimes will create a temporary template-modified.yml file which should be ignored.
- [bb layer] 0.0.34 Fix doubled holy-lambda dependency. Update layer to use the latest holy-lambda library.
- [bb layer] Fix edge case when babashka layer is published without the
bb
executable. - [holy-lambda] Add html response support
- [holy-lambda] Automatically parse :body json string to PersistentMap
- [bb tasks] Check if aws command is available. If not then exit early!
- [bb tasks] Fix
CLJ_ALIAS
checking - [readme,docs] Refine docs. Add documentation on using local libraries
- [holy-lambda-template] Apply correct formatting, use up to 6 characters for sha to prevent gen of incorrect bucket names
-
[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\"}"
- [docker] ce tag is used internally by bb tasks. Projects which use Makefiles should either switch to bb tasks or use image without tag
- [bb tasks] introduce bb tasks to manage stack, infrastracture and runtimes
- [bb layer] don't require uberjar. Provide sources as is.
- [holy-lambda] Fixup runtime error handling
- [holy-lambda] Fixup native-configuration gen
- [holy-lambda-template] Drop support for Makefile and Leiningen
- [holy-lambda-babashka-shim] Provide a shim for jsonista and AWS interfaces so that babashka runtime works flawlessly
- Add new docker tags:
- ce - for community edition
- ce-ci - suitable for usage in docker to deploy with sam. Changes in Makefile are in progress
- ee - you have to provide artifacts and build it on your own using Dockerfile provided in docker/ee
- Speedup interceptors on java/native runtime
- Provide Babashka runtime. Semantics of holy-lambda stay the same. For now bb is included in a zip which is totally lame. If more people will like this runtime then I will provide: babashka as a layer, minimal holy-lambda jar without jsonista (I would rather babashka to use jsonista instead of cheshire)
- Adapt template to allow babashka usage
- Add slack badge
- Add partial support for GraalVMEE (PGO optimizations in progress)
- Move code to separate packages
- Add interceptors support
- Make call to lambda a private function
- Rename fierycod.holy-lambda.core/gen-main to fierycod.holy-lambda.native-runtime/entrypoint (one targeting java runtime should not depend on native-runtime namespace)
- Provide agent/in-context to ease generation of native-configurations
- Unify responses. Response should be a valid map or nil for event ACK. Text/plain should be send via response/text.
- Add some docs
- Fixup tests
- Add full support for async-retriever (look at examples/hello-world & https://github.com/FieryCod/holy-lambda-async-retriever)
- Remove unecessary steps for CircleCI
- Add tests. Allow async handlers (future, promise, map)
- Add CHANGELOG.md
- Provide response utils based on ring-core. Add example of redirect
Handler definition has been changed from [event,context] -> response
to [request] -> response
.
- Fixup reflection
- Add deps.edn; Pregenerate routes; Split runtimes; Add tests
- Switch to rum based macro. Add hook support based on rum hook
- Switch from data.json to jsonista + fixes
- Use Clojure in :scope "provided"
- Handle not existing invocation-id
- (Breaking change) Don't keywordize envs. Tidy up runtime.
- Use only one arity lambdas
- Remove logging system. User should use 3rd party logging implementations
- Update coordinates to docker image
- Allow pass of --static parameter with --libc=musl
- remove 'choly' (#22)
- Revert removal of Dockerfile. Bump graalvm
- Add install-graalvm command
- Remove Node.js dependency
- Switch from joker -> clj-kondo
- Example makefile improvements (#19)
- chore(deps): bump bleach from 3.1.0 to 3.1.1 in /src/python/choly (#15)
- chore(deps): bump handlebars from 4.1.2 to 4.5.3 (#14)
- test(agent): fix tests by correctly sorting payloads (thanks @vemv)
- chore(documentation,release-script): reformat documentation & fix releaser
- chore(documentation) Introduce the first draft of documentation
- fix(custom_runtime,choly) Keywordize hashmap & fix CodeUri gen
- chore(test,readme.md): Change badge & attempt to fix test run
- chore(package.json): bump git-cz dependencies
- feat(choly,agent): Add basic choly cli tool & agent executor
- Initial repro for https://github.com/oracle/graal/issues/1367
- refactor(core,agent): Move the core to separate namespaces & implement draft of GraalVM agent
- fix(cljdoc): Fix cljdoc build
- fix(circleci): Fix CircleCi configuration
- ci(circleci): Add CircleCi automation
- feat(sqs-example): Add reproducible error in sqs-example for GraalVM team
- feat(example, runtime, version): Add sqs example & bump the version of Clojure dependency
- feat(graalvm,dockerfile): Change the default version of GraalVM to the latest stable one
- feat(runtime,makefiles,readme): Add custom logger & log the runtime fatals
- feat(runtime,makefiles): Add workable lambda for both runtimes
- feat(runtime,fnative): Add a very first version of holy-lambda