Functionalities
- Create a full stack of AWS Resources from VPC to Instances to host Ubuntu Server
- Programatic Creation of Cloud Resources
- Automatically Create GraphQL schema for the underlying Database
- ORM Representation of the Database, to be used in Middleware GO
- GraphQL Playground to Create Cloud Resources and Store information in PG Database
Tables
Table Name | GQL Read Write Enabled | Public Cloud Resource Creation Enabled |
---|---|---|
domains | Yes | |
classes | Yes | |
stages | Yes | |
privileges | Yes | |
tasks | Yes | |
roles | Yes | |
notifications | Yes | |
budgets | Yes | |
alerts | Yes | |
channels | Yes | |
subscriptions/agreements | Yes | |
sizes | Yes | |
backups | Yes | |
dbs | Yes | |
buckets | Yes | Yes |
filesystems | Yes | |
residents | Yes | |
vpcs | Yes | Yes |
internetgateways | Yes | Yes |
subnets | Yes | Yes |
route_tables | Yes | Yes |
routes | Yes | Yes |
Security Group | Yes | Yes |
Network Intarface | Yes | Yes |
Elastic IP | Yes | Yes |
Instances | Yes | Yes |
Working Flow
- Create vpc: DONE
- Create Internet Gateway: DONE
- Create Custom Route Table: DONE
- Create Subnet: DONE
- Associate Subnet with Route Table: DONE
- Create Security Group to allow port 22, 80, 443: DONE
- Create Network Interface with the ip in the subnet that was created in step 4 DONE
- Assign an elastic IP to he network interface created in step 7 DONE
- Create Ubuntu server DONE
- Install/enable apache2 DONE
How to run
- Clone the repository
- RUN > GO111MODULE=on
- RUN > go run ./server.go
Output in console
2023/01/31 12:11:02 connect to http://localhost:8080/ for GraphQL playground
Open in Browser
Sample Queries to run: https://github.com/paihari/go-pg-gqlgen/blob/main/samplequeries.txt
Next Step:
Dockerize