2021-03-21 23:10:46 +01:00
2021-03-21 23:10:46 +01:00
2021-03-21 23:10:46 +01:00
2021-03-21 23:10:46 +01:00
2021-03-21 23:13:59 +01:00
2021-03-21 23:10:46 +01:00
2021-03-21 23:10:46 +01:00
2021-03-21 23:45:01 +01:00
2021-03-21 23:45:01 +01:00
2021-03-21 23:10:46 +01:00
2021-03-21 23:10:46 +01:00
2021-03-21 23:45:01 +01:00
2021-03-21 23:10:46 +01:00
2021-03-21 23:10:46 +01:00
2021-03-21 23:10:46 +01:00

Speedrun

Speedrun executes commands, at scale.

Features:

  • native cloud integration (currently Google Cloud only, AWS and Azure coming up!)
  • stateless and agentless
  • no complex configuration required

Installation

Download the precompiled binary from here:

curl https://github.com/dpogorzelski/speedrun/releases/tag/0.1.0

Usage

export GOOGLE_APPLICATION_CREDENTIALS=/path/to/serviceaccount.json
speedrun init
speedrun key new
speedrun key set
speedrun run whoami

Examples

Use 1000 concurrent SSH workers

speedrun run "uname -r" --concurrency 1000

Stop Nginx on VMs matching the filter

speedrun run sudo systemctl stop nginx --filter "labels.env=staging AND labels.app=foobar"

Ignore SSH fingerprint mismatch and connect via private IP addresses

speedrun run "ls -la" --filter "labels.env != prod" --ignore-fingerprint --concurrency 1000 --use-private-ip

Use a different config file

speedrun run whoami -c /path/to/config.toml

Set public key on specific instances instead of project metadata (useful if instances are blocking project wide keys):

speedrun key set --filter "labels.env = dev"

Configuration

Using certain flags repeteadly can be annoying, it's possible to persist their behavior via config file. Default config file is located at ~/.speedrun/config.toml and can be re-initialized to it's default form via speedrun init.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Project Status

This project is in a very early stage so expect a lot of breaking changes in the nearest future

License

MPL-2.0

v0.3.0 Latest
2022-05-09 20:55:41 +00:00
Languages
Go 87.4%
Makefile 7.1%
Shell 5.5%