/infra

This repository for Infrastructure files for portfolio

Primary LanguageHCL

Infrastructure files for portfolio

Terraform Files:

  1. Terraform files for provisioning EKS and ECR on AWS cloud.
  2. Terraform files for provisioning GKE on Google cloud platform.

Helm files:

  1. nginx-ingress.

    • install cert-manager
      ## add cert-manager repo to helm
      helm repo add jetstack https://charts.jetstack.io && helm repo update
      ## install cert-manager
      helm install \
        cert-manager jetstack/cert-manager \
        --namespace cert-manager \
        --create-namespace \
        --set installCRDs=true 
    • install nginx-ingress
      helm install ingress-nginx ingress-nginx-3.32.0.tgz -f value-ingress-nginx-3.32.0.yaml
  2. FluxCD

    • Add the Flux CD Helm repository:
      helm repo add fluxcd https://charts.fluxcd.io
    • Install the HelmRelease Custom Resource Definition.
      kubectl apply -f helm-operator-crds-1.2.0.yaml 
    • Install Helm Operator for Helm 3.
      helm upgrade -i helm-operator fluxcd/helm-operator \
        --namespace flux \
        --set helm.versions=v3
    • Run kubectl apply on HelmRelease file.
  3. Monitoring - Prometheus with Grafana.

    • Install prometheus stack.
      ## instal stack
      helm install prometheus --namespace monitoring --create-namespace prometheus-community/kube-prometheus-stack
    • Make sure you have mysql-exporter enabled in devops repository on the helm chart.
    • You can find more information about that on the README file in the devops repository.
  4. Logging - EFK stack.