Skip to content

NetanelK/StartupBoosterTask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Home Assignment

Flask App

A simple 'Hello World' flask app listening on 0.0.0.0:8888

Build and run on docker with

$ cd app/
$ docker build -t hello_world .
$ docker run -dp 8888:8888 -t hello_world

Image can be push to a container registry


Terraform

Creates EKS cluster on AWS.

Inputs Default
az_count 2
cidr_block "10.0.0.0/16"
cluster_name "Hello_World_Cluster"
cluster_desired_size 2
cluster_max_size 4
cluster_min_size 2

Creates ECR config secret and AWS LB Ingress controller


K8s Manifests

Deploys AWS internet facing ALB that directs traffic into the cluster

Deploys K8s Node Port Service that directs traffic into Hello_World deployment pods

Deploys K8s Deployment set of Hello_World app image from AWS ECR


CI/CD Pipelines

Actions Secrets:

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
  • CLUSTER_NAME

Builds Hello_World image and push it to AWS ECR

Triggers:

  • Changes on app directory
  • Manual trigger

Action flow:

  1. Checkout this repository
  2. Configure AWS credentials (with AWS secrets)
  3. Login to ECR registry
  4. Build and push image to ECR

Deploys the K8s manifests into EKS cluster

Triggers:

  • Changes on k8s directory
  • Manual trigger

Action flow:

  1. Checkout this repository
  2. Configure AWS credentials (with AWS secrets)
  3. Setup kubeconfig for EKS cluster management
  4. Apply manifest and get app URL
  5. Output URL on job summery

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published