Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
f62c1b7
Update deployment.yml
chinmaya10000 Mar 11, 2024
31ca05f
Update deployment.yml
chinmaya10000 Mar 12, 2024
d4ee670
Update deployment.yml
chinmaya10000 Mar 12, 2024
840467e
Update app-of-apps.yml
chinmaya10000 Mar 18, 2024
f149513
Update geocentric-app.yml
chinmaya10000 Mar 18, 2024
fe3cacb
Update heliocentric-app.yml
chinmaya10000 Mar 18, 2024
4520079
Update heliocentric-no-pluto-app.yml
chinmaya10000 Mar 18, 2024
f1e4e42
Update geocentric-app.yml
chinmaya10000 Mar 18, 2024
f614e1c
Update deployment.yml
chinmaya10000 Mar 18, 2024
311d4e1
Update deployment.yml
chinmaya10000 Mar 18, 2024
b727eda
Update deployment.yml
chinmaya10000 Mar 18, 2024
c80acba
Update deployment.yml
chinmaya10000 Mar 20, 2024
af6e8d0
Update deployment.yml
chinmaya10000 Mar 21, 2024
cfe77ff
use bitnami
chinmaya Sep 19, 2024
e8ac389
monitor argocd
chinmaya Sep 20, 2024
f7c3cad
monitor argocd
chinmaya Sep 20, 2024
b51c96f
monitor argocd
chinmaya Sep 20, 2024
e09a7b8
Update and rename secret.yaml to mongo-secret.yaml
chinmaya10000 Sep 20, 2024
449eb79
Create mongo.yaml
chinmaya10000 Sep 20, 2024
73cc342
Create mongo-configmap.yaml
chinmaya10000 Sep 20, 2024
b8fce30
Create mongo-express.yaml
chinmaya10000 Sep 20, 2024
7e26428
Update mongo-secret.yaml
chinmaya10000 Sep 20, 2024
a53b4b6
initial commit
chinmaya Oct 26, 2024
5cba4af
Updated image version for Build - 3
Oct 26, 2024
2f3e679
Updated image version for Build - 4
Oct 26, 2024
e4cd112
add secret
chinmaya Oct 26, 2024
af21012
add configmap
chinmaya Oct 26, 2024
69f1ed3
remove configmap
chinmaya Oct 26, 2024
81a1f73
fix url
chinmaya Oct 26, 2024
327e75d
encrypt secret using bitnami sealed secret
chinmaya Oct 26, 2024
bd8f64f
initial commit
chinmaya Dec 26, 2024
67d056c
install argocd
chinmaya Jan 12, 2025
b93c2af
initial commit
chinmaya Jan 18, 2025
3941889
initial commit
chinmaya Jan 18, 2025
70b088e
initial commit
chinmaya Jan 18, 2025
0afe10b
initial commit
chinmaya Jan 18, 2025
a88754c
initial commit
chinmaya Jan 18, 2025
01c369c
initial commit
chinmaya Jan 18, 2025
8b8fd37
initial commit
chinmaya Jan 18, 2025
69893d6
initial commit
chinmaya Jan 18, 2025
b863cd8
Updated image version for Build - v9
Jan 18, 2025
d709386
Merge branch 'main' into feature/argocd-gitops
chinmaya10000 Jan 18, 2025
d6f0936
deploy using gitops with argocd
chinmaya Jan 21, 2025
8c1c67a
initial commit
chinmaya Jan 22, 2025
ac71f10
initial commit
chinmaya Jan 23, 2025
cc1cab0
initial commit
chinmaya Jan 23, 2025
e147d78
Updated image version for Build - 1.0-2
dynosenseJenkins Jan 23, 2025
1ddaf52
initial commit
chinmaya Jan 23, 2025
9420b9f
initial commit
chinmaya Jan 23, 2025
b259e63
initial commit
chinmaya Jan 23, 2025
f2b6e52
initial commit
chinmaya Jan 23, 2025
3b24935
initial commit
chinmaya Jan 23, 2025
68f0c90
initiall commit
chinmaya Jan 31, 2025
c4f5d59
Initiall commit
chinmaya Feb 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions argocd-monitor/alert-manager-configuration.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
apiVersion: monitoring.coreos.com/v1alpha1
kind: AlertmanagerConfig
metadata:
name: main-rules-alert-config
namespace: argocd
spec:
route:
receiver: 'email'
repeatInterval: 30m
routes:
- matchers:
- name: alertname
value: ArgocdServiceNotSynced
- name: alertname
value: ArgocdServiceUnhealthy
repeatInterval: 10m
receivers:
- name: 'email'
emailConfigs:
- to: 'chinmayapradhan10000@gmail.com'
from: 'chinmayapradhan10000@gmail.com'
smarthost: 'smtp.gmail.com:587'
authUsername: 'chinmayapradhan10000@gmail.com'
authIdentity: 'chinmayapradhan10000@gmail.com'
authPassword:
name: gmail-auth
key: password
31 changes: 31 additions & 0 deletions argocd-monitor/argocd-alert-rules.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: main-rules
namespace: argocd
labels:
app: kube-prometheus-stack
release: my-kube-prometheus-stack
spec:
groups:
- name: argocd.rules
rules:
- alert: ArgocdServiceNotSynced
expr: argocd_app_info{sync_status!="Synced"} != 0
for: 15m
labels:
severity: warning
annotations:
summary: ArgoCD service not synced (instance {{ $labels.instance }})
description: "Service {{ $labels.name }} run by argo is currently not in sync.\n VALUE = {{ $value }}\n LABELS = {{ $labels }}"
- alert: ArgocdServiceUnhealthy
expr: argocd_app_info{health_status!="Healthy"} != 0
for: 15m
labels:
severity: warning
annotations:
summary: ArgoCD service unhealthy (instance {{ $labels.instance }})
description: "Service {{ $labels.name }} run by argo is currently not healthy.\n VALUE = {{ $value }}\n LABELS = {{ $labels }}"



103 changes: 103 additions & 0 deletions argocd-monitor/argocd-service-monitor.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: argocd-metrics
labels:
release: my-kube-prometheus-stack
spec:
selector:
matchLabels:
app.kubernetes.io/name: argocd-metrics
endpoints:
- port: metrics
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: argocd-server-metrics
labels:
release: my-kube-prometheus-stack
spec:
selector:
matchLabels:
app.kubernetes.io/name: argocd-server-metrics
endpoints:
- port: metrics
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: argocd-repo-server-metrics
labels:
release: my-kube-prometheus-stack
spec:
selector:
matchLabels:
app.kubernetes.io/name: argocd-repo-server
endpoints:
- port: metrics
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: argocd-applicationset-controller-metrics
labels:
release: my-kube-prometheus-stack
spec:
selector:
matchLabels:
app.kubernetes.io/name: argocd-applicationset-controller
endpoints:
- port: metrics
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: argocd-dex-server
labels:
release: my-kube-prometheus-stack
spec:
selector:
matchLabels:
app.kubernetes.io/name: argocd-dex-server
endpoints:
- port: metrics
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: argocd-redis-haproxy-metrics
labels:
release: my-kube-prometheus-stack
spec:
selector:
matchLabels:
app.kubernetes.io/name: argocd-redis-ha-haproxy
endpoints:
- port: http-exporter-port
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: argocd-notifications-controller
labels:
release: my-kube-prometheus-stack
spec:
selector:
matchLabels:
app.kubernetes.io/name: argocd-notifications-controller-metrics
endpoints:
- port: metrics




# kubectl apply -f argocd-service-monitor.yaml -n argocd
# kubectl get servicemonitors -n argocd

# kubectl -n monitoring get prometheuses.monitoring.coreos.com -o yaml | grep -i serviceMonitorSelector -A5


# kubectl create ns monitoring
# helm repo add prometheus-community https://prometheus-community.github.io/helm-charts -n monitoring
# helm install my-kube-prometheus-stack prometheus-community/kube-prometheus-stack --version 62.7.0 -n monitoring
46 changes: 46 additions & 0 deletions argocd-monitor/email-secret.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
annotations:
sealedsecrets.bitnami.com/cluster-wide: "true"
creationTimestamp: null
name: gmail-auth
namespace: argocd
spec:
encryptedData:
password: AgAdN5Iy73lTcQbQePOntWY/ITKUd5aVsqxsjbPg0SPvIaI5zYWz8lxQ0frUYfFN4hF02DeAiC19kxiBXI468wYz3GDPu9kOqXxhlxQnPQitQg5kuNvqZ27ElAnSMbOamzin5ItMhEPmt48uFsykogHXXM0AjHDFUWvkjJGmaLZL/aHOQ6YU6bF6LldGGH9r/iC2VS5TVrqU9Rgmr8qvKOMkNUBK8BKft+0eKOCtTuDYwbtEFF6MEPlqvVtv+LMWWN+0GUgTxguab7mwpTIJjnl13yMTFlVa7Ef/FdL8yTCtYAkBj0O+blOtFOj4omRrmZSwvsEttWjh+uCj5pTYk8nKwseSKAIt+pQNH4xS+MzC9bKf+oUE56N0qaThMtRGj4JZ2wpEHNGFsomDzYKgRoUjOMRtpCBcR+VmfjjclImulefErBrzkH+oNoTB3C4gpWWEL8Z74VXd54l/1qSYUkYphUOeBULUNKUrzagSFuk8AK50kDD6PV1f3oneXKQAJC7uM8tH5hiqjla0UOQkW8GrOZaeE/M7s4+mgKjPHff9xM4UT9QtcfM0KzhlskFSRY1trP30hYaLOrbWPcCSiNq1uB/dVTcxlyawHATqESN+ydbalS+hUHke/ZGKDO3RDMQ9/TyQID5uSqw5DLqbMafV0xs/oeZVTixGVRm8yyQ497EBiV4h299u3TmJxrVVOR/9zg9xnekPFpzKimHJfX0nCtr4
template:
metadata:
annotations:
sealedsecrets.bitnami.com/cluster-wide: "true"
creationTimestamp: null
name: gmail-auth
namespace: argocd
type: Opaque


# helm repo add sealed-secrets https://bitnami-labs.github.io/sealed-secrets
# helm install sealed-secrets -n kube-system --set-string fullnameOverride=sealed-secrets-controller sealed-secrets/sealed-secrets

# kubectl get all -n kube-system | grep -i sealed
# kubectl get secret -n kube-system | grep -i sealed

# Install kubeseal
# curl -OL "https://github.com/bitnami-labs/sealed-secrets/releases/download/v0.23.0/kubeseal-0.23.0-linux-amd64.tar.gz"
# tar -xvzf kubeseal-0.23.0-linux-amd64.tar.gz kubeseal
# sudo install -m 755 kubeseal /usr/local/bin/kubeseal

# Create secret file
# sudo vim email-secret.yaml

# kubectl -n kube-system get secrets
# kubectl -n kube-system get secrets <Secret-name> -o yaml
# kubectl -n kube-system get secrets sealed-secrets-keyd5dvq -o json | jq .data'."tls.crt"'
# kubectl -n kube-system get secrets sealed-secrets-keyd5dvq -o json | jq .data'."tls.crt"' -r
# kubectl -n kube-system get secrets sealed-secrets-keyd5dvq -o json | jq .data'."tls.crt"' -r | base64 -d
# kubectl -n kube-system get secrets sealed-secrets-keyd5dvq -o json | jq .data'."tls.crt"' -r | base64 -d > sealedSecret.crt
# cat sealedSecret.crt
# kubeseal --cert sealedSecret.crt --scope cluster-wide < email-secret.yaml
# kubeseal -o yaml --cert sealedSecret.crt --scope cluster-wide < email-secret.yaml > secret.yaml
# cat secret.yaml
# kubectl get secrets
7 changes: 7 additions & 0 deletions bankapp/db-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: db-config
namespace: bankapp
data:
db_server: jdbc:mysql://mysql-release-primary.bankapp.svc.cluster.local:3306/bankappdb?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC
13 changes: 13 additions & 0 deletions bankapp/db-secret.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: v1
kind: Secret
metadata:
name: db-secret
namespace: bankapp
annotations:
avp.kubernetes.io/path: "credentials/data/app"
type: Opaque
stringData:
db_root_pwd: <db-root-pwd> # Test@123
db_name: <db-name> # bankappdb
db_user: <db-user> # root

25 changes: 25 additions & 0 deletions bankapp/hpa.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: java-app-hpa
namespace: bankapp
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: java-app-deployment
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: 70
18 changes: 18 additions & 0 deletions bankapp/java-app-ingress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: java-app-ingress
namespace: bankapp
spec:
ingressClassName: external-nginx
rules:
- host: k8s-ingress-external-cd564c2ff7-28c937f418df22b9.elb.us-east-2.amazonaws.com
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: java-app-service
port:
number: 80
61 changes: 61 additions & 0 deletions bankapp/java-app.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: java-app-deployment
namespace: bankapp
labels:
app: java-app
spec:
replicas: 3
selector:
matchLabels:
app: java-app
template:
metadata:
labels:
app: java-app
spec:
imagePullSecrets:
- name: my-ecr-registry-key
containers:
- name: java-app
image: 156041433917.dkr.ecr.us-east-2.amazonaws.com/bank-app:1.0-2
imagePullPolicy: Always
ports:
- containerPort: 8080
env:
- name: SPRING_DATASOURCE_URL
valueFrom:
configMapKeyRef:
name: db-config
key: db_server
- name: SPRING_DATASOURCE_USERNAME
valueFrom:
secretKeyRef:
key: db_user
name: db-secret
- name: SPRING_DATASOURCE_PASSWORD
valueFrom:
secretKeyRef:
key: db_root_pwd
name: db-secret
resources:
requests:
memory: "512Mi"
cpu: "250m"
limits:
memory: "1Gi"
cpu: "500m"
---
apiVersion: v1
kind: Service
metadata:
name: java-app-service
namespace: bankapp
spec:
selector:
app: java-app
ports:
- port: 80
targetPort: 8080

33 changes: 33 additions & 0 deletions bankapp/mysql-chart-values-eks.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# architecture: replication
# auth:
# rootPassword: Test@123
# database: bankappdb

# # Enable init container that changes the owner and group of the persistent volume mountpoint to runAsUser:fsGroup
# volumePermissions:
# enabled: true

# primary:
# persistence:
# enabled: false

# secondary:
# # 1 primary and 2 secondary replicas
# replicaCount: 2
# persistence:
# enabled: true # Must be true to persist data across pods
# size: 8Gi # Specify the volume size
# storageClass: gp2 # Storage class for EKS volumes
# accessModes:
# - ReadWriteOnce # Correct access mode for gp2 volumes

# metrics:
# enabled: true
# serviceMonitor:
# enabled: true
# additionalLabels:
# release: my-kube-prometheus-stack



# # helm install mysql-release bitnami/mysql -f mysql-chart-values-eks.yaml -n bankapp
Loading