Skip to content

Latest commit

 

History

History
120 lines (81 loc) · 2.62 KB

README.md

File metadata and controls

120 lines (81 loc) · 2.62 KB
Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage

About The Project

The product owners are all about the new buzz word: GitOps! For this assignment, you will need to create a new Kubernetes cluster on AWS, deploy a monitoring tool using Helm chart and go everything the GitOps way.

The end goal, provide a demonstration on how you are committing a code in your source control and the changes will be deployed to the infrastructure without manual intervention.

(back to top)

Built With

This section should list any major frameworks/libraries used to bootstrap my project.

(back to top)

Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • terraform
    brew tap hashicorp/tap
    brew install hashicorp/tap/terraform
  • helm
    curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
    chmod 700 get_helm.sh
    ./get_helm.sh

Installation

  1. Clone the repo
    git clone https://github.com/yahav876/gitops-terraform-k8s-helm.git
  2. Configure kubectl with aws:
    aws eks update-kubeconfig --region region-code --name cluster-name
  3. Configure "Secrets"
     AWS_ACCESS_KEY_ID
     AWS_SECRET_ACCESS_KEY
     KUBE_CONFIG_DATA (cat $HOME/.kube/config | base64)
     TF_API_TOKEN
  4. Test UI of Grafana
    kubectl port-forward deployment/monitoring-grafana 3000
    
    user: admin
    password: prom-operator

(back to top)

Usage

Just make a "push" and your EKS cluster with Prometheus monitoring helm chart will be deployed to your aws account.

(back to top)