Using Commandeer as a Front-End Console for AWS Local Resources

If you’ve worked with Localstack for mock AWS testing, then chances are most of the interactions with the stack have been via the AWS CLI or an SDK. Localstack’s Community Edition does not currently offer an official web-based UI, however, this feature is offered in Pro and Enterprise versions.

At a basic level, Commandeer provides a neat UI for interaction with AWS cloud and Localstack services.

The context of this article is limited to providing a basic overview of setting up Commandeer (release version 1.6.0) with Localstack.

Installing Commandeer

Install Commandeer by running:

$ sudo snap install commandeer

Localstack Set Up

My preference was to use Docker Compose.

The following outlines the Localstack setup running on my localhost.

  • Create directory structure for files and docker mounts.
$ mkdir -p $HOME/localstack/host_tmp_dir
  • Create a docker-compose file at $HOME/localstack/docker-compose.yml with the following contents.
version: '3.7'
services:
localstack:
container_name: localstack-main
image: localstack/localstack:0.12.5
ports:
- "4566:4566"
- "4571:4571"
environment:
- SERVICES=${SERVICES-acm,apigateway
,cloudformation,cloudwatch,dynamodb
,dynamodbstreams,ec2,es,events
,firehose,iam,kinesis,kms,lambda,rds
,route53,s3,s3api,secretsmanager,ses,sns
,sqs,ssm,stepfunctions,sts}
- DEBUG=${DEBUG- }
- LAMBDA_EXECUTOR=${LAMBDA_EXECUTOR-docker}
- KINESIS_ERROR_PROBABILITY=${KINESIS_ERROR_PROBABILITY-0.0}
- DOCKER_HOST=unix:///var/run/docker.sock
- DATA_DIR=/tmp/localstack/data
- HOST_TMP_FOLDER=${TMPDIR}
- LAMBDA_REMOTE_DOCKER=false
volumes:
- "${TMPDIR:-/tmp/localstack}:/tmp/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"
  • Bring up the stack using:
$ cd $HOME/localstack
$ TMPDIR=$HOME/localstack/host_tmp_dir docker-compose up -d

The combination of compose environment variables, LAMBDA_REMOTE_DOCKER=false and HOST_TMP_FOLDER=${TMPDIR} imply that our docker host and docker client are on the same machine. Refer to Localstack configuration documentation for further details.

Check Commandeer to Localstack Connectivity

$ commandeer &
  • This should get you to the Welcome to Commandeer start up window
  • To continue using Commandeer with Localstack on a limited plan, hit the escape key
  • You can choose to Login in App to signup for a premium paid plan, which provides access to an extensively richer feature set
  • You should now be at the main console
  • You’ll also notice a reference to account local, which has has been created by default
  • From the left hand services pane, scroll to Localstack and select the Dashboard sub item
  • Commandeer’s console should refresh to reflect the running Localstack services
  • The above shows a total of 24 active services (“Services on”)
  • Towards the top right hand of the console, you should also see Docker and Localstack status indicators highlighted in green

Examples of Using the Commandeer Console

S3 Bucket Creation

Execute an Existing Lambda Function

Closing Remarks

The Commandeer app code base is closed source, however, a demo application for help in creating Commandeer service is publicly available via an open source repo.

Learner. Interests include Cloud and Devops technologies.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store