Version 1.1.0 - 5/26/2020

...
  • Docker
  • Localstack
  • Circle.ci
  • Bash
  • Dynamodb
About 7 min

# Version 1.1.0 - 5/26/2020

Hey everyone, after the launch of v1 we just can't stop but building new features. So four weeks later, here we go, Commandeer 1.1.0 is out!

# Account Management

# Account Export

We're adding more improvements to our Account functionality to simplify managing multiple accounts with Commandeer. Now you can export your Commandeer account as a JSON file so you can share it with your teammate. This can be done on the account detail page.

# AWS Account Session Tokens (Temporary Credentials) Support

For all the folks who are using temporary AWS credentials, for AWS SSO or any other SSO provider, we added refresh token field to AWS account panel. If your AWS keys include a refresh token, just add it to Commandeer to access AWS as usual. Below, you can see, that you will not be able to optionally add in the session token. This is going to open the world of Commandeer to a lot more of you.

# API Gateway Styling and Colors

API Gateway is one of the main entries into a serverless system. It provides you an ability to access your Lambda's via a secure RESTful api. We are working on giving it some more power for you as a user. The first way is that we are now color coding the methods of your resources (endpoints. This helps to quickly see what sort of functionality it is, be it a GET, POST, PATCH, DELETE.

We are also tightening up the detail page for each method. You can see now, that the Method Type, what the response is, and the timeout are all prominently displayed.

The last thing, for those of you with a discerning eye, is that there is a header called Postman. For those of you not familiar with it, it is a desktop app that allows you to setup tests against your endpoint. For myself, it is probably one of the most important tools that has come out in the past 5 years for API driven systems. What it does great is allows you to create tests of your endpoints, have different environments, and allows you to script your test results as well as modify data all through javascript. While the Postman integrations will not be available in the next release, we are working on making deep integrations with their system, but stay tuned, because we think this is going to be one of the most popular integrated services we will have.

# Dynamo DB Enhancements

Dynamo DB is one of our top services. Trailing only S3 in terms of usage. Our aim is to make it the best UI out there for managing your Dynamo DB tables both on AWS and LocalStack.

# Dynamo Table Page Refinement

The first thing we have been doing is just refining our UI. The dashboard for each table will be a lot more ergonomic. The data is front and center, and then you can see indexes, streams, and more information on a separate tab.

# Truncate Table

Secondly, we added a truncate table button. Under the hood, we are making separate requests to delete the records, and actually up the throughput and then set it back after it is done. Dynamo, as everyone knows is tricky, so we think this method will work nicely.

# Download Data

You can also now download a page or table of data at the click of a button. This is a really great feature that will help in daily usage.

# Record View Enhancements

Lastly, we are working on making the data viewer for a record even better than it was. Below you can see an example of it in action, where you have the formatted data on the left hand side, and can still see the raw json on the right.

This was a pretty fun one to work on, and if you have other pieces of data that might be helpful to add in, let us know. For instance, the paymentProviderId above is a Stripe id, so we will be adding in the ability to have things deep link to the item, etc. Also, you can see how we detect that a url is an image, and then show it.

# IAC (Infrastructure As Code) and CI/CD (Continuous Integration/Continuous Deployment)

One of the main pillars of Commandeer is being able to manage your IAC in a sane manner. This means being able to run your yml files against any environment, with all your settings preset for each account and environment. We have talked about this at great length for Ansible and Serverless Framework. We are excited to continue down that trend with 3 more IAC features that we think you may find extremely useful.

The way that we are thinking about IAC is as follows. You need a bunch of different pieces of IAC across many different products. So for instance, you might use Ansible to deploy your static resources like S3 buckets, and Dynamo Tables. You then might deploy your connections between API Gateway and Lambdas via the Serverless Framework. The next set of use cases is that you might want to stand up your environment using Docker. This is done via a docker-compose.yml file. You might also need to do some things in good old fashioned Bash between each of these. Lastly, you want to combine all of these things together with something like Circle.ci. So, we are still getting all the different components of this together, and in the next 3-6 months, you will start to have runners that can do all of these at once. But for now, let me show you the new runners that we are introducing.

# Multiple Commands

All our IAC runners received an upgrade. You can now copy a Unix shell command as well as a docker run command from the command dialog which you can run from your terminal.

# On-Page Settings

No need to go into your account and scroll down to find a section to edit. A new settings button was added to each of our IAC tools so you can see the relevant account section while you're in the context of a particular tool. Ansible, Serverless, Bash, and Docker Compose all have this capability now.

# Docker Compose Runner

You can simply select your docker-compose.yml file and then run it to setup your entire infrastructure on your system. This is a great way to test out different tools. This is something that is the backbone of CI. As the way we normally approach things, is on your CI box, you kick this off, to setup all your different tools, like Redis, LocalStack, Ansible, Serverless Framework, etc.

# Bash Runner

If your CI system consists of Docker, Ansible, and Serverless Framework for instance, then Bash is usually the glue between them. Thee reason for this, is that while IAC is awesome, we have always found, that we have to usually stitch together some random pieces of scripting to tie it all together. As we continue to build out our IAC, you will start to see how we want to approach this. We envision a UI that allows you to select pre and post Bash scripts for all the steps in your process. Again, this is because not everything is handled with all these different tools, and Bash ends up being necessary to glue it all together.

# Circle CI Runner

The last piece of IAC is your CI/CD. We chose to implement Circle.CI first, as we really love it. One really cool thing that we are going to solve for in Commandeer, is better local support. Circle allows you to run workflows in the cloud, which consists of many jobs, but when running it locally, you can only execute a single job with their CLI. We are going to start to tie those jobs together, so that the same experience you get on their site, will also be handled for you locally.

In short order, you will also start seeing runners for Azure Pipelines, Jenkins, Terraform, and a few other popular IAC and CI/CD tools. We are really excited to get this as full-featured as we are dreaming.

# Localstack Enhancements

Our top three services have always been S3, Dynamo, and Lambda. But as of the past few weeks LocalStack has taken over the number 3 slot. While we are not surprised by this, we are really pumped. We have always been really big fans of their tooling, and feel that the more people that use it, the more people that can understand more of what is going on with development in the AWS cloud.

In the next release, slated for a week or so from today, we are also including a newly enhanced LocalStack dashboard, as well as the LocalStack detail pages. Keep on reading to find out what we have added.

# LocalStack Dashboard Enhancements

  • Top section - showing services connected or not connected
  • Main Layout - Moved the terminal to the right hand side, so you can always see the output of LocalStack
  • Mouse Slider - slider between the left and right side - you will start to see this in more places throughout the app as well. We don't love this component we are using, but the app itself will start to feel more and more like IntelliJ and Visual Code, we promise.
  • Table and Card Tab Caching - throughout the app, you will start to see these page settings cached, so that if you prefer to see them in a table or cards, you won't have to continually change them on a page.

# LocalStack Detail Enhancements

  • Top section - showing services connected or not connected, and number of resources
  • Terminal - Added a terminal to this page as well, which helps to see what is happening when you start or stop an individual service
  • General Styling - standard system cards are in place throughout

Below you can see the details for the API Gateway LocalStack service that is being started up on port :4567. On the top is the current status, and last know number of resources for a service (when applicable), like 20 Dynamo DB tables, or 2 S3 Buckets, etc.

# Docker Enhancements

We now have added a new Docker Dashboard. We are working over the next few releases on making Docker better and better as it is the main backbone of our app.

# Docker Dashboard

As you can see below, we show you a lot more information about your docker that is running. Including the version, OS, and how many containers, images, and volumes.

You will also then notice on the containers, volumes, images pages and their detail pages, that everything is formatted with the same headers of extra information. Below you can see a docker container detail as an example.

# Search Help Menu

Mac users get a help search menu allowing you to search for any menu option including your available accounts.

# Resize Panels

All IaC runners, as well as DynamoDB panels, are now resizable with a regular mouse drag. If you need to see the terminal output, your IAC, or your code in more detail, just drag the resize indicator to increase the size of the panel.

# Numerous bug fixes and performance optimizations

We're continually making Commandeer better and better by fixing issues and making the app more performant. If you have any feedback don't hesitate to create an issue on our Github.

Last update: May 25, 2020 17:19