In this document we will create a simple Flask app that we will deploy to Kubernetes on AWS EKS. Use tiphyspy as a template.
The process for deployment is the following:
Code. Your code is pushed to Github.
Build. If the branch or tag is configured for deployment a Github Actions build is triggered.
Build and Push Image. A docker image is built and pushed to AWS Elastic Container Registry.
Helm Release. Helm is a package manager defining your application that lives within your code. This code defines the environment variables, jobs such as migrations, cronjobs, etc. This installs and upgrades your app on Kubernetes.
Deploy to EKS. Github deploys to AWS EKS using temporary access given using OIDC.