Skip to content

Commit 0172ffd

Browse files
feat(runtime,fnative): Add a very first version of holy-lambda
0 parents  commit 0172ffd

File tree

23 files changed

+3010
-0
lines changed

23 files changed

+3010
-0
lines changed

.gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/target
2+
bootstrap
3+
/classes
4+
/checkouts
5+
profiles.clj
6+
pom.xml
7+
pom.xml.asc
8+
*.jar
9+
*.class
10+
node_modules
11+
/.lein-*
12+
/.nrepl-port
13+
.hgignore
14+
.hg/

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
v8.9.0

CHANGELOG.md

Whitespace-only changes.

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2019 Karol Wójcik aka FieryCod
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

Makefile

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
SHELL := /bin/bash
2+
GREEN='\033[0;32m'
3+
YELLOW='\033[1;33m'
4+
NC='\033[0m'
5+
6+
.PHONY: use-nvm setup release
7+
8+
.DEFAULT_GOAL := setup
9+
VERSION=$(cat project.clj | egrep -o -m 1 '[0-9].[0-9].[0-9].*')
10+
11+
use-nvm:
12+
@. ~/.nvm/nvm.sh && nvm use > /dev/null 2>&1
13+
14+
setup: use-nvm
15+
@printf "\n ${GREEN} Installing Clojure dependencies ${NC}\n"
16+
@lein deps
17+
@printf "\n ${GREEN} Successfully installed all Clojure dependencies ${NC}\n"
18+
@printf "\n ${GREEN} Installing all node modules ${NC}\n"
19+
@npm install -g yarn
20+
@yarn
21+
@printf "${GREEN} Successfully installed all Node.js dependencies ${NC}\n"
22+
@printf "\n ${GREEN} Installing fnative... ${NC}\n"
23+
@bash -c "chmod +x resources/fnative && sudo cp resources/fnative /usr/local/bin/"
24+
@printf "\n ${GREEN} Sucessfully installed fnative utility... ${NC}\n"
25+
26+
release: use-nvm
27+
@sh ./resources/github-tag.sh $(VERSION)
28+
29+
commit: use-nvm
30+
@yarn commit

README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Holy-lambda
2+
Tiny native AWS Custom Lambda Runtime which fulfills your needs!
3+
4+
## Usage
5+
You will need following things to start:
6+
- Node.js >= v8.9.0
7+
- Java >= 8
8+
- Docker, Docker Compose >= 1.13.1, 1.22.0
9+
- Python, Pip >= 3.5.0, 8.9.0
10+
11+
When all of above are installed then:
12+
1. Install `fnative` utility in your path.
13+
14+
## Development
15+
16+
## Acknowledges
17+
- Daria - Thank you that you were always beside me, fighting for me when I had no faith and energy.
18+
- @KrzysztofTucholski - Thank you for boosting my ego
19+
- @uswitch - Thank you for interests in AWS Lambda Functions and providing us the `lambada`
20+
- @hjhamala - Thank you for sharing [post](https://dev.solita.fi/2018/12/07/fast-starting-clojure-lambdas-using-graalvm.html) about native lambda functions. You have inspired me to write `holy-lambda`.

examples/hello-lambda/.gitignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/target
2+
/classes
3+
/checkouts
4+
profiles.clj
5+
pom.xml
6+
pom.xml.asc
7+
*.jar
8+
*.class
9+
/.lein-*
10+
/.nrepl-port
11+
.hgignore
12+
.hg/

examples/hello-lambda/CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Change Log
2+
All notable changes to this project will be documented in this file. This change log follows the conventions of [keepachangelog.com](http://keepachangelog.com/).
3+
4+
## [Unreleased]
5+
### Changed
6+
- Add a new arity to `make-widget-async` to provide a different widget shape.
7+
8+
## [0.1.1] - 2019-02-15
9+
### Changed
10+
- Documentation on how to make the widgets.
11+
12+
### Removed
13+
- `make-widget-sync` - we're all async, all the time.
14+
15+
### Fixed
16+
- Fixed widget maker to keep working when daylight savings switches over.
17+
18+
## 0.1.0 - 2019-02-15
19+
### Added
20+
- Files from the new template.
21+
- Widget maker public API - `make-widget-sync`.
22+
23+
[Unreleased]: https://github.com/your-name/basic-lambda/compare/0.1.1...HEAD
24+
[0.1.1]: https://github.com/your-name/basic-lambda/compare/0.1.0...0.1.1

0 commit comments

Comments
 (0)