- Go 49.8%
- Lua 48.8%
- Nix 0.6%
- Shell 0.6%
- Dockerfile 0.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
ci/woodpecker/push/change_log Pipeline was successful
ci/woodpecker/push/push_main Pipeline was successful
ci/woodpecker/push/push_integration Pipeline was successful
ci/woodpecker/cron/vulnerability Pipeline was successful
ci/woodpecker/cron/renovate Pipeline was successful
ci/woodpecker/cron/release Pipeline was successful
ci/woodpecker/cron/auto_merge Pipeline was successful
Merged automatically |
||
| internal | ||
| lua/samples | ||
| meta | ||
| tests | ||
| .gitignore | ||
| .goreleaser.yaml | ||
| .markdownlint.json | ||
| .prettierrc | ||
| .trivyignore | ||
| Containerfile | ||
| flake.lock | ||
| flake.nix | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| main.go | ||
| README.md | ||
| renovate.json | ||
Atis - Ati's Script
This is a runtime environment for Lua code, that supports functions on Linux.
Purpose of project
For automation purposes, mostly within containers workflows, I write shell
scripts. But even to run a /bin/sh (not mention bash) there is need for
installed dynamic libraries. I prefer to use distroless images in workflows and
running script there is a bit difficult for me. Write programs in Go, then later
run in distroless is working but for a few lines of action it is really an
overkill to use Go.
So, this is my idea, to write runtime environment for Lua that is statically build, then I can write and run scripts even in distroless or scratch images.
Why Lua
I am a Neovim user, so I am familiar with Lua 5.1 version. I could have embed other language, like javascript, but Lua seems much more comfortable for me. It is a personal reference.
Why this name
My name is Attila and I am very terrible by choice names. I thought, I make something with my name. The 'Ati' is a nickname for Attila, and I put 'Script' after it, so 'atis' has been born. Besides, the 'Atis' also a nickname for Attila. It may be a bit silly, but it is what it is, not like anyone would be bothered, this is just a hobby side project.
Usage
The examples or tests directories for sample scripts.
Scripts can be run locally when the runtime environment is installed, but the primary usage is meant to be in container. Example command to run it from container:
$> podman run --rm -v "$(pwd)/lua/samples:/lua:z" codeberg.org/onlyati/atis run /lua/hello_world.lua
Or own image can be built.
FROM codeberg.org/onlyati/atis
COPY lua/samples /lua
CMD ["run", "/lua/hello_world.lua"]