Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ntheanh201/udacity-capstone
Cloud DevOps Nanodegree program
https://github.com/ntheanh201/udacity-capstone
Last synced: 24 days ago
JSON representation
Cloud DevOps Nanodegree program
- Host: GitHub
- URL: https://github.com/ntheanh201/udacity-capstone
- Owner: ntheanh201
- Created: 2023-09-07T16:21:20.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2023-09-15T01:10:14.000Z (about 1 year ago)
- Last Synced: 2024-04-15T07:44:35.633Z (7 months ago)
- Language: TypeScript
- Homepage:
- Size: 861 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Capstone Project Overview
In this project you will apply the skills and knowledge which were developed throughout the Cloud DevOps Nanodegree
program. These include:Working in AWS
Using Jenkins or Circle CI to implement Continuous Integration and Continuous Deployment
Building pipelines
Working with Ansible and CloudFormation to deploy clusters
Building Kubernetes clusters
Building Docker containers in pipelines
As a capstone project, the directions are rather more open-ended than they were in the previous projects in the program.
You will also be able to make some of your own choices in this capstone, for the type of deployment you implement, which
services you will use, and the nature of the application you develop.You will develop a CI/CD pipeline for micro services applications with either blue/green deployment or rolling
deployment. You will also develop your Continuous Integration steps as you see fit, but must at least include
typographical checking (aka “linting”). To make your project stand out, you may also choose to implement other checks
such as security scanning, performance testing, integration testing, etc.!Once you have completed your Continuous Integration you will set up Continuous Deployment, which will include:
Pushing the built Docker container(s) to the Docker repository (you can use AWS ECR, create your own custom Registry
within your cluster, or another 3rd party Docker repository) ; and
Deploying these Docker container(s) to a small Kubernetes cluster. For your Kubernetes cluster you can either use AWS
Kubernetes as a Service, or build your own Kubernetes cluster. To deploy your Kubernetes cluster, use either Ansible or
Cloudformation. Preferably, run these from within Jenkins or Circle CI as an independent pipeline.## Scope
- Continuous Integration tool: CircleCI
- Deployment type: Rolling Deployment
- Infrastructure as Code: CDK for provisioning VPC, EKS with 2 worker nodes
- Programming Language: Go
- Linting: golangci-lint
- Kubernetes Manifests: Deployment, Service## GitHub Repository
- https://github.com/ntheanh201/udacity-capstone
## GitHub Container Registry
- https://github.com/users/ntheanh201/packages/container/package/udacity-capstone
## CircleCI Configuration
- Context variables: udacity_aws
- GHCR_PAT: GitHub container registry personal access token
- GHCR_USER: GitHub container registry username- Environment Variables:
- AWS_ACCESS_KEY_ID: AWS Access key ID
- AWS_SECRET_ACCESS_KEY: AWS Secret access key
- AWS_DEFAULT_REGION: AWS Region
- AWS_EKS_ROLE: AWS EKS role name