This project uses Quarkus, the Supersonic Subatomic Java Framework.
If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ .
This project has index page with Lorem ipsum and a supercat.(at 8080 port)
Or you can use Docker to build the native executable using: mvn package -Pnative -Dquarkus.native.container-build=true
.
You can then execute your binary: ./target/quarkus-hello-1.0.0-SNAPSHOT-runner
-
This project has terraform configuration under
src/main/terraform
. -
Terraform configuration has s3 backend with DynomoDB lock.
Terraform configuration includes all the following(besides backend):
-
vpc
-
subnet
-
route table
-
security group
-
internet gateway
-
key-pair(local ssh key)
-
ingress, egress
-
2 instances
- Put
id_rsa
andid_rsa.pub
files in project path(they are gitignored) cd provision-aws
To test installation:
vagrant up
vagrant provision ansible --provision-with vagrant
To install on AWS:
- Edit inventories/aws/inventory file to correctly show aws instance ips
vagrant up ansible
vagrant provision ansible --provision-with aws
To deploy app on Kubernetes:
Manifests are src/main/manifests
Visit any ec2 instance with 32000 port. For example deployed app URL:
http://34.243.89.194:32000
İt is included in main terraform directory. All needed config files starts with "lambda-*".
It deploys a serverless fuction that lists all VPCs and Subnets and writes them to DynomoDB. This function is integrated with API Gateway.
Source code for application can be found in src/main/lambda-project/main.py
.