Caution
This project is in active development and does not provide any stable release yet, you can expect breaking changes until our first real release!
With Gexec we are building a generic execution platform for Ansible, OpenTofu and Terraform. Besides that it should be possible to execute any kind of script which is supported by Asdf plugins. Some plugins are installed as part of the containers, if you are installing this project differently it is up to you to install and configure Asdf.
You can download prebuilt binaries from the GitHub releases or from our download site. Besides that we also prepared repositories for DEB and RPM packages which can be found at Cloudsmith. If you prefer to use containers you could use our images published on GHCR. You are a Mac user? Just take a look at our homebrew formula. If you need further guidance how to install this take a look at our documentation.
Package repository hosting is graciously provided by Cloudsmith. Cloudsmith is the only fully hosted, cloud-native, universal package management solution, that enables your organization to create, store and share packages in any format, to any place, with total confidence.
If you are not familiar with Nix it is up to you to have a working environment for Go (>= 1.24.0) and Nodejs (22.x) as the setup won't we covered within this guide. Please follow the official install instructions for Go and Nodejs. Beside that we are using go-task to define all commands to build this project.
git clone https://github.com/gexec/gexec.git
cd gexec
task fe:install fe:build be:build
./bin/gexec-server -hIf you got Nix and Direnv configured you can simply execute the following commands to get al dependencies including go-task and the required runtimes installed. You are also able to directly use the process manager of devenv:
cat << EOF > .envrc
use flake . --impure --extra-experimental-features nix-command
EOF
direnv allowWe are embedding all the static assets into the binary so there is no need for any webserver or anything else beside launching this binary.
To start developing on this project you have to execute only a few commands. To start development just execute those commands in different terminals:
task watch:server
task watch:runner
task watch:frontendThe development server of the backend should be running on http://localhost:8080 while the frontend should be running on http://localhost:5173. Generally it supports hot reloading which means the services are automatically restarted/reloaded on code changes.
If you got Nix configured you can simply execute the devenv command to start the frontend, backend, MariaDB, PostgreSQL and Minio:
devenv upIf you find a security issue please contact [email protected] first.
Fork -> Patch -> Push -> Pull Request
Apache-2.0
Copyright (c) 2025 Thomas Boerger <[email protected]>