Adds functionality not found on the AWS console.
Initially the project will manage three extra pieces of information when someone adds an inbound rule to a security group.
Those pieces of information...
- Who added the rule
- When was the rule added
- Description of the rule (e.g.: what is the ip address range for)
- Write a Lambda function to write an SQS message when a security group ingress is changed.
- Write DB init to create/populate database if not already done.
- Write code to update database when read message from SQS.
- Use PostgreSQL or MongoDB? Go with PostgreSQL initially.
- Use RDS or local? Local.
- Run as Docker container? Any advantage? Links below.
- Define web server port etc in config.json.
- In DB init function, populate security group table if no rows.
- When someone adds an ingress security group rule lambda function will:
- (1) Add a row to the database table;
- (2) Put a message on in SQS.
- App will check SQS on startup and periodically after that.
- Write lambda code in Python and add to this project.
- Use Vue.js for front-end? Or just jQuery / jQueryUI.
- Don't use Go... https://aws.amazon.com/serverless/build-a-web-app/
- https://aws.amazon.com/blogs/developer/chalice-1-0-0-ga-release/
- Use Google App Engine.
- README.md: This file
- sql/create-db.yml: Create a database called awsplus, with same user and password!
- config/config.go: Read config settings
- datastore/datastore.go: Open db connection; db operations
- logging/logging.go: Log stuff
- frontend: Static files (css, js, etc)
- routes: Routes available to the app
- templates: Templates used by each route
- main.go: Entrypoint, starts up web server
- runtime: Runtime config and logs
- aws: Use AWS go library to get info from AWS
- Install postgresql https://fedoraproject.org/wiki/PostgreSQL
- go get github.com/lib/pq