Workarea CLI Cheat Sheet

Install the Workarea CLI

Using an Apple Machine

Installation on macOS uses Homebrew. If you do not have Homebrew installed see https://brew.sh/

brew tap workarea/tools https://stash.tools.weblinc.com/scm/wl/homebrew-taps.git
brew cask install workarea-cli

Note that you need access to Workarea stash to install the CLI.

Using a Linux Machine

Open a Support issue to install on Linux.

Setup Application

workarea setup --client-id={client_id} --aws-secret-access-key={key} --aws-access-key-id={key}

Doctor

Detect new environments or fix connection issues with existing environments

workarea doctor -r

Console

To open a rails console in an environment use:

workarea {env} console

Edit

You can edit secrets on your server with:

workarea {env} edit secrets

And edit proxy configuration with:

workarea {env} edit proxy

Running Rake Tasks

workarea {env} rake {args}

Rake tasks should be run from the CLI to ensure they have enough resources to run.

Debugging

Check running pods

workarea {env} pods

View Logs

App

workarea {env} logs app

You will be prompted to select pod and container. Container choices are:

This can be simplified by doing:

workarea {env} logs app -c app-log -f

Here you will be prompted to select a pod but we are specifying the container in the command (also note the -f to follow the logs)

Sidekiq

All the same notes from app apply!

workarea {env} logs sidekiq

Proxy

You only need to select the pod here.

workarea {env} logs proxy

Getting a shell

workarea {env} bash app

Will be prompted to select a pod. The "app" is optional, it will just filter the list of pods for you.

Veryfying git commit of deploy

export KUBECONFIG=~/.weblinc/kubeconfigs/{client}-{cluster_env}-kubeconfig
kubectl -n {client}-{cluster_env}-app get deployments app -o jsonpath='{.spec.template.spec.containers[0].image}'

Copy Files

To remote

workarea {env} cp --source=test.txt --destination=/workarea/test.txt --copy-to-remote

From remote

workarea {env} cp --source=test.txt --destination=test.txt

Create a New Application or Plugin

To create a new application:

workarea new app {app_name}

To create a new plugin:

workarea new plugin {plugin_name}
Now on GitHub