Skip to content

Releases: tanuj24/goku

goku CLI 0.7.0

Choose a tag to compare

@tanuj24 tanuj24 released this 13 Oct 13:16

goku CLI 0.7.0: goku update from Goku 4.2 or earlier now brings your Lambda code along.

Install or update:

  • macOS / Linux: curl -fsSL https://tanuj24.github.io/goku/install.sh | sh
  • Windows (PowerShell): irm https://tanuj24.github.io/goku/install.ps1 | iex
  • Already installed: goku update --cli, then goku update

Fixed

  • goku update from Goku 4.2 or earlier keeps Lambda code. Those versions kept function and layer code (and the
    Lambda debugger's files and ECR and EKS helper files) inside the container, outside the data folder. With CLI 0.6.0,
    moving to Goku 4.3 kept every function but lost the code of those uploaded as a zip file. The CLI now copies these
    files into Goku's data before it removes the old container, and says so:
    copied from the old container: Lambda code.
  • When the copy cannot run, the old container is kept as goku-previous instead of being removed, and Goku 4.3
    copies the code from it as it starts. Remove it with docker rm goku-previous once your functions run.
  • goku start with another GOKU_IMAGE and goku data migrate do the same.

Already updated to 4.3 with CLI 0.6.0? A function deployed from S3 gets its code back on its next invoke; a function
uploaded as a zip file, and a layer, needs its code uploaded once more (aws lambda update-function-code,
publish-layer-version).

The binaries are built with cli/build.sh. Verify them against checksums.txt (SHA-256).

goku CLI 0.6.0

Choose a tag to compare

@tanuj24 tanuj24 released this 30 Sep 06:59

goku CLI 0.6.0 for Goku 4.2: workspaces, and what an AWS role can do.

Install or update:

  • macOS / Linux: curl -fsSL https://tanuj24.github.io/goku/install.sh | sh
  • Windows (PowerShell): irm https://tanuj24.github.io/goku/install.ps1 | iex
  • Already on 0.5.0: goku update --cli

New

  • goku workspace (alias goku ws) runs only the services you're working with today:
    • goku ws create data --services glue,s3,athena saves a workspace, then goku ws switch data starts it and
      stops the others.
    • start, pause, resume and stop act on a workspace and print each step as it runs.
    • ls and show report state, memory, CPU, services and recent activity.
    • edit, delete, export, import and stop-outside manage them.
  • goku iam profiles | connect | roles | access shows what a role in your real AWS account can do:
    • goku iam connect --profile prod signs in on your machine with the AWS CLI, including SSO and MFA, scans the
      account read-only and hands Goku a session held in memory only.
    • goku iam roles lists the account's roles with who each trusts and when it was last used.
    • goku iam access ROLE shows its access per service, who can assume it, its policies and its risks.
  • AWS profiles in the IAM Lab: goku start mounts ~/.aws read-only into Goku so the console can connect with
    your profiles. GOKU_AWS_PROFILES=off turns that off. goku update adds the mount to an existing container, and
    goku doctor reports it.

Workspaces and role access need Goku 4.2 (goku update).

The binaries are built with cli/build.sh. Verify them against checksums.txt (SHA-256).

goku CLI 0.5.0

Choose a tag to compare

@tanuj24 tanuj24 released this 28 Sep 06:47

goku CLI 0.5.0 for Goku 4.1: connect AI assistants to your local AWS.

Install or update:

  • macOS / Linux: curl -fsSL https://tanuj24.github.io/goku/install.sh | sh
  • Windows (PowerShell): irm https://tanuj24.github.io/goku/install.ps1 | iex
  • Already on 0.4.0: goku update --cli

New

  • goku mcp is a stdio MCP server for Claude Code, Claude Desktop, Cursor, VS Code, Windsurf and other MCP clients. It bridges to Goku's MCP endpoint (http://localhost:8080/mcp) and starts Goku if it isn't running.
    • --url points it at another endpoint, and --no-start stops it from starting Goku.
    • --verbose logs the traffic to stderr.
  • goku mcp config [claude-code|claude-desktop|cursor|vscode|windsurf|all] prints copy-paste setup for each client, in both stdio and HTTP forms. For Claude Code it is just claude mcp add goku -- goku mcp.
  • goku doctor now reports whether the MCP endpoint answers.
  • Docker outside PATH: the CLI now finds docker in the usual install folders when it isn't on PATH, for apps started without a shell PATH, such as Claude Desktop.

The binaries are built with cli/build.sh. Verify them against checksums.txt (SHA-256).

goku CLI 0.4.0

Choose a tag to compare

@tanuj24 tanuj24 released this 27 Sep 13:59

goku CLI 0.4.0 for Goku 4.0. Mimir is now Goku, everywhere.

Install or update:

  • macOS / Linux: curl -fsSL https://tanuj24.github.io/goku/install.sh | sh
  • Windows (PowerShell): irm https://tanuj24.github.io/goku/install.ps1 | iex

From 0.4.0 on, goku update --cli updates the CLI in place.

New

  • Data on disk: Goku keeps everything in a folder, databases included: ~/.goku/data (%LOCALAPPDATA%\Goku\data on Windows).
    • GOKU_DATA_DIR picks another folder.
    • GOKU_DATA_DIR=volume keeps the Docker-volume mode.
  • goku data shows the folder, its mode and its size. goku data open opens the folder, and goku data migrate moves an older install's volume into it.
  • Update notices: at most once a day, the CLI tells you when a new Goku image or CLI is out. It downloads one static file (releases.json) and nothing about you is sent. GOKU_UPDATE_CHECK=off turns this off.
  • goku update --cli replaces the CLI in place, verified against checksums.txt. goku update --check shows what is available.
  • goku update moves an existing install to the new names:
    • it renames the mimir container to goku;
    • it moves the container to the tanujsoni027/goku image;
    • it moves the state into the data folder, and keeps the old volume as a backup.
  • goku uninstall keeps the data folder. Add --purge to delete it too (it asks first; --yes skips the question).

Names

The defaults are now:

  • the image tanujsoni027/goku;
  • the container goku;
  • the Glue folder /tmp/goku-glue;
  • the site tanuj24.github.io/goku.

MIMIR_* settings still work, with a note to rename them to GOKU_*. The mimir command still works as a deprecated alias.

The binaries are built with cli/build.sh. Verify them against checksums.txt (SHA-256).

goku CLI 0.3.0

Choose a tag to compare

@tanuj24 tanuj24 released this 27 Sep 02:26

goku CLI 0.3.0 (formerly the mimir CLI) installs and runs Goku, the local AWS cloud, on macOS, Linux and Windows.

Install on macOS or Linux:

curl -fsSL https://tanuj24.github.io/mimir/install.sh | sh

Install on Windows (PowerShell):

irm https://tanuj24.github.io/mimir/install.ps1 | iex

Then run goku start. Goku runs in Docker, so you need Docker Desktop on macOS and Windows, or Docker Engine or Docker Desktop on Linux.

What's in 0.3.0:

  • One native program per platform: macOS, Linux and Windows on x64 and ARM64. The download is checked against checksums.txt.
  • Windows: goku env --shell powershell | Invoke-Expression or --shell cmd. The installer puts goku.exe on your PATH.
  • The mimir command is deprecated: it's installed next to goku and still works, but prints a note to use goku. GOKU_NO_DEPRECATION_NOTICE=1 hides the note.
  • Your install carries over: the container, image and data volume keep their names.