- Go 49.8%
- Lua 48.9%
- Shell 0.6%
- Nix 0.5%
- 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/auto_merge Pipeline was successful
ci/woodpecker/cron/release Pipeline was successful
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `v1.32.35` → `v1.32.36` |  |  | | [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) | `v1.19.34` → `v1.19.35` |  |  | | [github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager](https://github.com/aws/aws-sdk-go-v2) | `v0.3.11` → `v0.3.12` |  |  | | [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) | `v1.107.0` → `v1.107.1` |  |  | --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [x] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xNC4xIiwidXBkYXRlZEluVmVyIjoiNDQuMTQuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Reviewed-on: #105 |
||
| 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"]