gexec

module
v0.0.0-...-b9703bf Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 25, 2025 License: Apache-2.0

README

Gexec

General Workflow Codacy Badge Discord Go Reference GitHub Repo

[!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.

Install

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 Baltorepo. 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.

Build

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 -h

If 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 allow

We are embedding all the static assets into the binary so there is no need for any webserver or anything else beside launching this binary.

Development

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:frontend

The 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 up

Security

If you find a security issue please contact gexec@webhippie.de first.

Contributing

Fork -> Patch -> Push -> Pull Request

Authors

License

Apache-2.0

Copyright (c) 2025 Thomas Boerger <thomas@webhippie.de>

Directories

Path Synopsis
cmd
pkg
api/v1
Package v1 provides primitives to interact with the openapi HTTP API.
Package v1 provides primitives to interact with the openapi HTTP API.
upload
Package upload is a generated GoMock package.
Package upload is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL