-
Clone the repository
git clone <repo-url> cd tape
-
Install Go (if running locally)
- Requires Go 1.22 or newer.
-
Install dependencies:
go mod tidy
-
Edit
config.ymlto match your environment (ports, paths, etc). -
Update action packages
- Build package
make build
- Run TAPE
make run
- Check initialized actions and keys
cat ./logs/event.log
-
Update docker-compose.yml and Dockerfile
- If TLS is enabled: Key and cert filenames must match the config.yml
- Default port bind is 8080 => 443, modify as needed
-
Build the Docker Image
make docker-build
-
Execute TAPE container
make docker-up
- This will start the app, mount configs, actions, logs, and files.
- The app will be available on the port specified in
docker-compose.yml(default: 8080).
- Each action must have a unique
route generate_keys(keygenfor core actions) enables or disables authentication and generates a key for the action. If disabled, they key won't be required.
- Core actions are built-in and configured in
config.yml. - Schema:
enabled: # bool method: # string keygen: # bool input: # bool data: # string output_write: # bool output_file: # string route: # string description: # string
- Writes the incoming request out to event log.
name: "whoami"
description: "Show current user"
route: "whoami"
method: POST
generate_keys: true
action: "/usr/bin/whoami"
accept_input: false
output_write: true
output_file: "whoami.log"curl -k -X POST https://<ip_address>:<port>/<route>/<key> -H "Content-Type: application/json" -d '{"data": "test message"}