MiraCloud is a desktop app that offers an AWS user a chance to visualize all of their services in a specific region or in all of them at once. The user-friendly interface allows the user to launch, delete, run and stop an instance of services like EC2, RDS and S3 buckets. It also creates and deletes connections between security groups of those instances.
- Clone the repo.
git clone *github url
or use SSH - Go to directory and run
npm install
to install all the dependencies - Run
npm run build
to bundle your Electron application - Run
npm start
to start MiraCloud
The login interface securely handles the user's IAM keys by saving into a hidden folder and deleting it upon logout.
-
Set up a new IAM user on your AWS console: Make sure you keep your aws_access_key_id and aws_secret_access_key by downloading the .csv file.
-
Give permissions to AWS IAM User. For read, write, and delete, you can give permission by:
AmazonEC2FullAccess AmazonRDSFullAccess AmazonS3FullAccess AWSLambdaFullAccess
For viewing only, you can give permissions by:
AmazonEC2ReadOnlyAccess AmazonRDSReadOnlyAccess AmazonS3ReadOnlyAccess AWSLambdaReadOnlyAccess
The user will use their public and secret key generated by creating a new IAM user on their AWS account. Once signed in, if the keys are real, the user will choose whether they want to see their instances in one or in all regions.
The user will be able to see all instances of EC2, RDS, S3 and lambda functions they might have. You can either create or delete instances in all or specific region by using the buttons located in the right side-panel.
Once a node is clicked, the user can see the data on the instance selected.
Editing security groups through AWS is unclear for many users that do not regularly use the AWS dashboard. With the navigatable UI provided by MiraCloud, the user can click on a particular instance to get all data associated with it. In addition to viewing this data, inbound and outbound rules for security groups can be effortlessly changed and these changes will be seen by the user.
By clicking on the launch button, a modal will prompt the user to choose which type of instance they want to create. If in the all-regions display, the app will show the list of default images available for the free tier by region. If the user is looking into a specific region, the modal also displays the free-tier image name, but will allow the user to change and input an image of their own. The user can also add a key-pair to their instance if they wish to set an SSH key to access the instance. The pem file with the key will be saved to their download folder.
The delete button requires the user to click on the instance they wish to delete. This will prompt a modal with the id of the instance. If the instance's security group has any inbound/outbound rules other than the default ones, the delete won't be succesful and the app will request the user to clear the connections before deleting the instance.
Rachel Kim | Victoria Adnet | Tarlan Gardashov | Gilbert Ramirez