This is repository stores helm manifests for use with ArgoCD
How to prerequisites for utilization of this repository.
-
A GitHub account.
-
Access to the ArgoCD instances for each environment (DEV, STG, PROD):
-
kubectl
installed on your machine. You can install it by following the official guide. -
Access to the Kubernetes cluster where ArgoCD is installed.
How to use this repository.
- Clone this repository:
git clone https://github.com/yourusername/tech-challenge-helm.git
- Change to the repository directory:
cd tech-challenge-helms
- Create a new branch with a descriptive name:
git checkout -b my-feature-branch
- 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
- Create a new
values.yaml
file with the values for your application:
cd kube-prometheus-stack && touch values.yaml
- 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
- Create a new
Chart.yaml
file with the metadata for your application:
touch Chart.yaml
- 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
- 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
- Commit your changes:
git add .
git commit -m "Add kube-prometheus-stack application"
git push origin my-feature-branch
- Open a pull request to the main repository.
- Wait for the pull request to be reviewed and merged.
- Check the ArgoCD instance for the environment where you want to deploy the application.
- Sync the application to deploy it.
- Check the application status in the ArgoCD instance.
We welcome contributions! Please follow the steps below to contribute to this repository:
- Fork the repository.
- Create a new branch with a descriptive name:
git checkout -b my-feature-branch
- Make your changes and commit them with a meaningful message:
git commit -m "Add my new feature"
- Push your branch to your forked repository:
git push origin my-feature-branch
- Open a pull request to the main repository.
For more details, refer to our Contributing Guidelines.
This project is licensed under the MIT License. See the LICENSE file for more details.