Skip to content

team-tech-challenge/tech-challenge-helms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

tech-challenge-helms

Maintained? MIT License ArgoCD EKS

This is repository stores helm manifests for use with ArgoCD

Table of Contents


Prerequisites

How to prerequisites for utilization of this repository.

  1. A GitHub account.

  2. Access to the ArgoCD instances for each environment (DEV, STG, PROD):

  3. kubectl installed on your machine. You can install it by following the official guide.

  4. Access to the Kubernetes cluster where ArgoCD is installed.


Usage

How to use this repository.

  1. Clone this repository:
git clone https://github.com/yourusername/tech-challenge-helm.git
  1. Change to the repository directory:
cd tech-challenge-helms
  1. Create a new branch with a descriptive name:
git checkout -b my-feature-branch
  1. Create a new directory for your application:
cd apps && mkdir my-app

Example:

  • Create a new directory for install application kube-prometheus-stack:
cd apps && mkdir kube-prometheus-stack
  1. Create a new values.yaml file with the values for your application:
cd kube-prometheus-stack && touch values.yaml
  1. Add the values for your application to the values.yaml file:
# values.yaml
prometheus:
  enabled: true
  alertmanager:
    enabled: true
  nodeExporter:
    enabled: true
  kubeStateMetrics:
    enabled: true
  grafana:
    enabled: true
  pushgateway:
    enabled: true
  1. Create a new Chart.yaml file with the metadata for your application:
touch Chart.yaml
  1. Add the metadata for your application to the Chart.yaml file:
# Chart.yaml
apiVersion: v2
name: kube-prometheus-stack
description: A Helm chart for the kube-prometheus-stack application
version: 0.1.0
  1. Create a new yaml file for your application:
cd apps/app-of-apps && touch kube-prometheus-stack-app.yaml
# kube-prometheus-stack-app.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: kube-prometheus-stack
  namespace: argocd
spec:
    project: default
    source:
        repoURL: 'https://github.com/Musatech/apps-helm-default.git'
        targetRevision: HEAD
        path: apps/kube-prometheus-stack
        helm:
           values: |
              prometheus:
                enabled: true
                alertmanager:
                  enabled: true
                nodeExporter:
                  enabled: true
                kubeStateMetrics:
                  enabled: true
                grafana:
                  enabled: true
                pushgateway:
                  enabled: true
    destination:
        server: 'https://kubernetes.default.svc'
        namespace: monitoring
    syncPolicy:
        automated:
            prune: true
            selfHeal: true
        syncOptions:
            - CreateNamespace=true
            - PruneLast=true 
            - ApplyOutOfSyncOnly=true
            - ServerSideApply=true
  1. Commit your changes:
git add .
git commit -m "Add kube-prometheus-stack application"
git push origin my-feature-branch
  1. Open a pull request to the main repository.
  2. Wait for the pull request to be reviewed and merged.
  3. Check the ArgoCD instance for the environment where you want to deploy the application.
  4. Sync the application to deploy it.
  5. Check the application status in the ArgoCD instance.

Contributing

We welcome contributions! Please follow the steps below to contribute to this repository:

  1. Fork the repository.
  2. Create a new branch with a descriptive name:
    git checkout -b my-feature-branch
  3. Make your changes and commit them with a meaningful message:
    git commit -m "Add my new feature"
  4. Push your branch to your forked repository:
    git push origin my-feature-branch
  5. Open a pull request to the main repository.

For more details, refer to our Contributing Guidelines.


License

This project is licensed under the MIT License. See the LICENSE file for more details.


References