Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
5cdffbd
feat: implement auth service with JWT authentication
setavitiki Sep 6, 2025
f2e099b
Merge pull request #1 from setavitiki/feature/auth-service
setavitiki Sep 6, 2025
381deb3
feat: implement product service
setavitiki Sep 6, 2025
7cf5dd1
Merge pull request #3 from setavitiki/feature/product-service
setavitiki Sep 6, 2025
8398106
feat: implemet order service with mock db
setavitiki Sep 6, 2025
eb41dbb
Merge pull request #4 from setavitiki/feature/order-service
setavitiki Sep 6, 2025
24954bc
feat: implement payment service
setavitiki Sep 6, 2025
648179c
Merge pull request #5 from setavitiki/feature/payment-service
setavitiki Sep 6, 2025
c168a1c
feat: implement notification service
setavitiki Sep 6, 2025
7ecfb5e
feat: implement deployment and service
setavitiki Sep 6, 2025
89cdafe
Merge pull request #6 from setavitiki/feature/notification-service
setavitiki Sep 6, 2025
9a3fd88
Merge pull request #7 from setavitiki/feature/k8s
setavitiki Sep 6, 2025
0052ec0
fix: updated index.js file (#9)
setavitiki Sep 6, 2025
9e03a2b
ci: add microservices CI/CD pipeline
setavitiki Sep 6, 2025
aee179f
test: verify CI/CD pipeline triggers correctly
setavitiki Sep 6, 2025
7891bd8
fix: update test scripts to not fail pipeline
setavitiki Sep 7, 2025
84864e9
fix: Added proper permissions blocks to all workflow jobs
setavitiki Sep 7, 2025
70b61b5
test: verify CI/CD pipeline triggers correctly
setavitiki Sep 7, 2025
3895e34
ci: add new pipeline for production deploy
setavitiki Sep 7, 2025
b4920c4
ci: added remaining microservices
setavitiki Sep 7, 2025
f834054
test: trigger order-service pipeline
setavitiki Sep 7, 2025
c608c21
test: trigger payment-service pipeline
setavitiki Sep 7, 2025
713e95c
test: trigger notification-service pipeline
setavitiki Sep 7, 2025
ad4b471
feat: add Helm chart for auth-service with production-ready configura…
setavitiki Sep 7, 2025
6055f5c
Merge branch 'main' into develop
setavitiki Sep 7, 2025
024098f
fix: replaced npm ci with npm install in workflows
setavitiki Sep 7, 2025
35543cb
fix: updated package.json for all services
setavitiki Sep 7, 2025
027af7f
Merge branch 'main' into develop
setavitiki Sep 7, 2025
8f43465
fix: updated production and microservice pipeline with kubeconifg
setavitiki Sep 7, 2025
3c5977a
fix: AWS EKS integration
setavitiki Sep 7, 2025
e0c446a
resolve: merge EKS integration with all microservices
setavitiki Sep 7, 2025
835bee0
fix: declared environment in workflow
setavitiki Sep 7, 2025
46ab0f4
fix: added id token
setavitiki Sep 7, 2025
e1f96a0
fix: remove environment scope to access repository secrets
setavitiki Sep 7, 2025
56f4285
fix: downgraded to v2
setavitiki Sep 7, 2025
9386d15
test: debug secrets
setavitiki Sep 7, 2025
8a64e47
fix: removed debug
setavitiki Sep 7, 2025
36ba265
fix: upgraded to v4
setavitiki Sep 7, 2025
12b0445
fix: update image references and pull policy for EKS deployment
setavitiki Sep 7, 2025
c494c3a
Merge branch 'main' into develop
setavitiki Sep 7, 2025
2288761
fix: added yaml files
setavitiki Sep 7, 2025
d8d665e
Merge branch 'main' into develop
setavitiki Sep 7, 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
19 changes: 12 additions & 7 deletions k8s/auth-service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,22 @@ spec:
value: "4000"
- name: JWT_SECRET
value: "production-jwt-secret"
livenessProbe:
httpGet:
path: /health
port: 4000
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /health
port: 4000
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 3
failureThreshold: 3
livenessProbe:
httpGet:
path: /health
port: 4000
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
resources:
requests:
cpu: 100m
Expand All @@ -53,6 +57,7 @@ spec:
selector:
app: auth-service
ports:
- port: 4000
- protocol: TCP
port: 4000
targetPort: 4000
type: ClusterIP
61 changes: 61 additions & 0 deletions k8s/notification-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: notification-service
namespace: ecommerce
spec:
replicas: 2
selector:
matchLabels:
app: notification-service
template:
metadata:
labels:
app: notification-service
spec:
containers:
- name: notification-service
image: notification-service:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 4000
env:
- name: PORT
value: "4000"
readinessProbe:
httpGet:
path: /health
port: 4000
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 3
failureThreshold: 3
livenessProbe:
httpGet:
path: /health
port: 4000
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 256Mi
---
apiVersion: v1
kind: Service
metadata:
name: notification-service
namespace: ecommerce
spec:
selector:
app: notification-service
ports:
- protocol: TCP
port: 4000
targetPort: 4000
type: ClusterIP
61 changes: 61 additions & 0 deletions k8s/order-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: order-service
namespace: ecommerce
spec:
replicas: 2
selector:
matchLabels:
app: order-service
template:
metadata:
labels:
app: order-service
spec:
containers:
- name: order-service
image: order-service:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 4000
env:
- name: PORT
value: "4000"
readinessProbe:
httpGet:
path: /health
port: 4000
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 3
failureThreshold: 3
livenessProbe:
httpGet:
path: /health
port: 4000
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 256Mi
---
apiVersion: v1
kind: Service
metadata:
name: order-service
namespace: ecommerce
spec:
selector:
app: order-service
ports:
- protocol: TCP
port: 4000
targetPort: 4000
type: ClusterIP
61 changes: 61 additions & 0 deletions k8s/payment-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: payment-service
namespace: ecommerce
spec:
replicas: 2
selector:
matchLabels:
app: payment-service
template:
metadata:
labels:
app: payment-service
spec:
containers:
- name: payment-service
image: payment-service:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 4000
env:
- name: PORT
value: "4000"
readinessProbe:
httpGet:
path: /health
port: 4000
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 3
failureThreshold: 3
livenessProbe:
httpGet:
path: /health
port: 4000
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 256Mi
---
apiVersion: v1
kind: Service
metadata:
name: payment-service
namespace: ecommerce
spec:
selector:
app: payment-service
ports:
- protocol: TCP
port: 4000
targetPort: 4000
type: ClusterIP
32 changes: 24 additions & 8 deletions k8s/product-service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,35 @@ spec:
containers:
- name: product-service
image: product-service:latest
imagePullPolicy: Never
imagePullPolicy: IfNotPresent
ports:
- containerPort: 4000
livenessProbe:
env:
- name: PORT
value: "4000"
readinessProbe:
httpGet:
path: /health
port: 4000
initialDelaySeconds: 10
periodSeconds: 10
readinessProbe:
periodSeconds: 5
timeoutSeconds: 3
failureThreshold: 3
livenessProbe:
httpGet:
path: /health
port: 4000
initialDelaySeconds: 5
periodSeconds: 5
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 256Mi
---
apiVersion: v1
kind: Service
Expand All @@ -41,5 +55,7 @@ spec:
selector:
app: product-service
ports:
- port: 4000
targetPort: 4000
- protocol: TCP
port: 4000
targetPort: 4000
type: ClusterIP