Commandeer 3.0 Preview - Part 2 - Account Command Center
# Commandeer 3.0 Preview - Part 2 - Account Command Center
Development is moving along nicely on version 3 of Commandeer. In the previous blog post I spoke about how it will be structured. You can read all about the overarching setup of version 3 here. Today, I want to take a deeper dive into the account management.
# Account Management
Commandeer is setup so that you can connect to multiple AWS or LocalStack accounts. Each one uses its own set of keys to connect to your services. (Note: these keys are NEVER stored on our servers. They are kept locally on your machine)
We have many ways of connecting including .aws/credentials, role arn's, or directly to LocalStack. This enables you to easily move between accounts, and also keep everything secure. Once, you have setup an account, you can view it's main dashboard by selecting the item on the home page. Below you can see a direct connection to an AWS account on the home page.
Clicking it will take you to the account dashboard. The main focus of the new redesign is to really give you quick access to any tasks you want to accomplish in your environment.
# Single Account Command Center
All work for a particular account is done within the dashboard. There are a set of tabs at the top that lets you navigate to all services, and has things logically grouped within them to help you work quicker. Below is the breakdown of each tab on the Account Page.
The main dashboard of the account will show:
- Connected To - AWS or LocalStack
- Region - the AWS data center region
- .aws/credentials profile, if any, it is connected to
- .aws/config profile, if any, it is connected to
- Number of running services
- Count of CloudWatch Alarms in the ALARM state
- Quick create - list of resources to create
The dashboard is not in a final state. So there will be other pieces of helpful information on here as we near the release.
This will contain all services that your keys are currently connected to. This includes over 20 AWS services, and things such as Algolia, Slack, Twilio, SendGrid, Serverless Framework and more.
# ER Diagrams
This tab enables you to view ER diagrams for Algolia, Athena, DynamoDB, with Postgres and Redshift diagrams coming soon.
# System Diagrams
It also has a number of system diagrams including:
- Total Inventory - a list of all your resources
- Event Breakdown - shows connections between different services and lambda i.e. DynamoDB Streams, SNS, SQS
- Service Breakdown - a list of all connected services and pertinent information about their resources
- API Gateway - view a system diagram of your API Gateway resources and the connected Lambdas and CloudWatch Logs
- CloudFront - (coming soon) view your entire CloudFront resources distribution
- CloudWatch Alarms - view alarms connected to lambda and cloudwatch alarms
- CloudWatch Rules - view CRON rules connected to lambdas and cloudwatch logs
- DynamoDB - view Dynamo tables connected to lambda and cloudwatch logs and cloudwatch alarms
- EC2 - view a ECS, EKS, EC2, ELB, and EBS diagrams
- S3 - view S3 buckets connected to lambdas, cloudwatch logs and cloudwatch alarms
- SNS - view SNS topics connected to lambdas and cloudwatch logs
- SQS - view SQS queues connected to lambdas and cloudwatch logs
# Deploy IaC
In Commandeer, you can deploy your Ansible, CircleCI, and Serverless Framework yml files. This enables you to store your environment variables, location of files, etc. on a per environment basis. So you can install to dev, staging and local in the exact same way, but with different environment variables saved for each Commandeer account, rather than having to source them in the command line all the time. CloudFormation runner is also coming soon.
You can view your CloudWatch logs and Commandeer Logs here. The CloudWatch logs will take you to all your logs and you can view their output. If the log is for a lambda, it will group them by invocation to make it easy to get to the information you need. Commandeer logs are helpful if you are unable to reach a certain service. You can inspect the errors coming back, to see if it might be an IAM policy issue.
We provide a robust solution to testing out your AWS system. This includes:
- API Gateway Tester - hit your API Gateway endpoints and view the resulting API Gateway Logs, your Lambda's CloudWatch Invocation Logs, and if connected to LocalStack, the output from your LocalStack docker container
- DynamoDB Streams to Lambda tester - add a JSON record to your DynamoDB table and view the connected lambda's invocation logs
- S3 to Lambda Tester - upload a file to the S3 bucket and view the connected lambda's invocation cloudwatch logs
- SNS to Lambda Tester - send data to an SNS topic and view the connected lambda's invocation cloudwatch logs
- SQS to Lambda Tester - send data to an SQS queue and view the connected lambda's invocation cloudwatch logs
- Direct Lambda Invocation - invoke a lambda directly and view it's invocation cloudwatch logs
- Step Functions - run a step function and view the output from each step including the lambda's cloudwatch invocation logs where applicable
# Query Data
You can query data for the following services:
- AppSync - write gsql and view returned results
- Athena Databases - write SQL to return data from your data lake
- PostgresSQL - write SQL to return data from your postgres instances
- RedShift - write SQL to return data from your redshift data warehouse
Version 3.0 of Commandeer was our most ambitious release to date. It took all the pieces that made Commandeer versions 1 and 2 helpful to you, and organized them so that everything you need to do is just a few mouse clicks away.