# Getting Started
- Download the Commandeer app for Mac, Windows, or Linux.
- Go through onboarding to agree to our terms, and set your options
- Setup your first account
# Anatomy of an Account
There are two different types of accounts in Commandeer. The first is a local account, which connects to LocalStack instead of directly to AWS. This let’s you run all your AWS services locally, if you still want to add tokens for Slack, Algolia, Sendgrid, Twilio, or other services you still can which makes it easy to run a semi-local environment for services that do not have a local representation. The second is an entirely cloud account. This allows you to connect to AWS, Algolia, Slack, etc.
There are two different use cases that I have run across in this type of setup. The first is if you are running say development and production in the same AWS account but in different regions. You would either set this up as having an account called something like my-company-dev and my-company-prod where dev is in US West 1 and prod is in US East 1. You would then not need to switch between regions in the top section, but just switch accounts. Alternatively, you could just setup one account called say, my-company. And then switch between US West 1 and US East 2 in the top section. Both ways are valid, and it is more of a personal preference as to how you would like to operate. Also remember, there are a few services like IAM and S3 that are actually global, so the users, roles, groups, and S3 buckets will show up regardless of what region you select. Below you can see that I currently have it setup where dev and prod are one account, and I switch regions. The disadvantage of this setup is you have to memorize the region, and I will be changing it shortly because I want to run dev and prod environments of SendGrid and Twilio.
Below you can see an example of my commandeer dev account. It shows you the services that are connected, and allows you to edit accounts.
If you are a developer that works for multiple clients, or have multiple environments, this setup can be very helpful. Let’s say you use Dynamo, S3, Lambda, Algolia, and Sendgrid for a system you have built. You can then add an account called my-sweet-company-dev that uses keys to connect to aws, Algolia, and Sendgrid development accounts. You can also then connect your staging environment as another account named my-sweet-company-stg that has keys to a staging environment for AWS, Algolia and Sendgrid. With this setup, you could also then connect the same key to Slack, so that it can write messages to the slack channels of your choosing. This is nice as most companies have just one slack environment, but have multiple system environments. The third setup in this situation could then be my-sweet-company-local which if it is set to Local, it will point all AWS services to LocalStack to a copy of the AWS system. Unfortunately, many cloud services do not have such a sweet local world like AWS by the team at LocalStack, but not to worry, Commandeer can have a hybrid setup. So the localstack urls get defined, and then for Algolia and Sendgrid you could just point to the development environment with those keys. One note, for things that actually have data like Algolia, you will want to point to either a different account from dev, or point to the same one, but pre or postfix your indexes for example, if you have multiple indexes in Algolia, you can call them user-local and user-dev but have them in the same account.
# Obtaining AWS Credentials
# 1. Login to AWS (AWS Console)
Head over to the AWS Console and login to the account that you would like to connect to Commandeer.
# 2. Go to the IAM Users Dashboard (AWS Console)
On the IAM Users page, you will see all the users in the account. You should select the user that you are getting the keys for.
# 3. Create Access Keys (AWS Console)
On the user page you will see a button to create access keys. Note: you can use your already existing keys, or if you already have two sets of keys, you will have to deactivate the others first.
# 4. Download the credentials.csv file (AWS Console)
On the Create access key modal, press the download .csv to obtain your access keys.
# 5. Press the + Add Account button (Commandeer)
At the top of Commandeer, press the + Add Account button to add your credentials to the app. Note: This does NOT copy the credentials to our system. These are stored locally just for you.
# 6. Upload your credentials.csv file (Commandeer)
Upload the newly created credentials.csv file to the Commandeer app by either dragging and dropping, pressing the upload button, or if you are extra adventurous typing in your access and secret keys. You can also test the connection to make sure they are correct.