Skip to content

Commit

Permalink
Merge pull request #285 from alwinsimon/v1
Browse files Browse the repository at this point in the history
V1
  • Loading branch information
alwinsimon authored Oct 29, 2023
2 parents 263f398 + 6598fe8 commit 81a6d46
Show file tree
Hide file tree
Showing 18 changed files with 314 additions and 7 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/CD - Deploy - Auth Service.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# ========================================= CD - Deploy - Auth Service =========================================

name: CD - Deploy - Auth Service

on:
push:
branches:
- production
paths:
- "auth/**"

jobs:
Auth-Service-CD-Pipeline:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
# Build Image and push to Docker registry
- run: cd auth && docker build -t alwinsimon/bookmyseat-auth .
- run: docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
- run: docker push alwinsimon/bookmyseat-auth

# Restart Deployment in K8s cluster deployed in Digital Ocean
- uses: digitalocean/action-doctl@v2
with:
token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
- run: doctl kubernetes cluster kubeconfig save ${{ secrets.DIGITALOCEAN_CLUSTER_ID }}
- run: kubectl rollout restart deployment auth-depl
31 changes: 31 additions & 0 deletions .github/workflows/CD - Deploy - Client Service.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# ========================================= CD - Deploy - Client Service =========================================

name: CD - Deploy - Client Service

on:
push:
branches:
- production
paths:
- "client/**"

jobs:
Client-Service-CD-Pipeline:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
# Build Image and push to Docker registry
- run: cd client && docker build -t alwinsimon/bookmyseat-client .
- run: docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
- run: docker push alwinsimon/bookmyseat-client

# Restart Deployment in K8s cluster deployed in Digital Ocean
- uses: digitalocean/action-doctl@v2
with:
token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
- run: doctl kubernetes cluster kubeconfig save ${{ secrets.DIGITALOCEAN_CLUSTER_ID }}
- run: kubectl rollout restart deployment client-depl
31 changes: 31 additions & 0 deletions .github/workflows/CD - Deploy - Expiration Service.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# ========================================= CD - Deploy - Expiration Service =========================================

name: CD - Deploy - Expiration Service

on:
push:
branches:
- production
paths:
- "expiration/**"

jobs:
Expiration-Service-CD-Pipeline:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
# Build Image and push to Docker registry
- run: cd expiration && docker build -t alwinsimon/bookmyseat-expiration .
- run: docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
- run: docker push alwinsimon/bookmyseat-expiration

# Restart Deployment in K8s cluster deployed in Digital Ocean
- uses: digitalocean/action-doctl@v2
with:
token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
- run: doctl kubernetes cluster kubeconfig save ${{ secrets.DIGITALOCEAN_CLUSTER_ID }}
- run: kubectl rollout restart deployment expiration-depl
22 changes: 22 additions & 0 deletions .github/workflows/CD - Deploy - Manifests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# ========================================= CD - Deploy - Manifests =========================================

name: CD - Deploy - Manifests

on:
push:
branches:
- production
paths:
- "infra/**"

jobs:
Deploy-Manifests-CD-Pipeline:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: digitalocean/action-doctl@v2
with:
token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
- run: doctl kubernetes cluster kubeconfig save ${{ secrets.DIGITALOCEAN_CLUSTER_ID }}
- run: kubectl apply -f infra/k8s && kubectl apply -f infra/k8s-prod
31 changes: 31 additions & 0 deletions .github/workflows/CD - Deploy - Orders Service.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# ========================================= CD - Deploy - Orders Service =========================================

name: CD - Deploy - Orders Service

on:
push:
branches:
- production
paths:
- "orders/**"

jobs:
Orders-Service-CD-Pipeline:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
# Build Image and push to Docker registry
- run: cd orders && docker build -t alwinsimon/bookmyseat-orders .
- run: docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
- run: docker push alwinsimon/bookmyseat-orders

# Restart Deployment in K8s cluster deployed in Digital Ocean
- uses: digitalocean/action-doctl@v2
with:
token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
- run: doctl kubernetes cluster kubeconfig save ${{ secrets.DIGITALOCEAN_CLUSTER_ID }}
- run: kubectl rollout restart deployment orders-depl
31 changes: 31 additions & 0 deletions .github/workflows/CD - Deploy - Payments Service.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# ========================================= CD - Deploy - Payments Service =========================================

name: CD - Deploy - Payments Service

on:
push:
branches:
- production
paths:
- "payments/**"

jobs:
Payments-Service-CD-Pipeline:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
# Build Image and push to Docker registry
- run: cd payments && docker build -t alwinsimon/bookmyseat-payments .
- run: docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
- run: docker push alwinsimon/bookmyseat-payments

# Restart Deployment in K8s cluster deployed in Digital Ocean
- uses: digitalocean/action-doctl@v2
with:
token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
- run: doctl kubernetes cluster kubeconfig save ${{ secrets.DIGITALOCEAN_CLUSTER_ID }}
- run: kubectl rollout restart deployment payments-depl
31 changes: 31 additions & 0 deletions .github/workflows/CD - Deploy - Tickets Service.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# ========================================= CD - Deploy - Tickets Service =========================================

name: CD - Deploy - Tickets Service

on:
push:
branches:
- production
paths:
- "tickets/**"

jobs:
Tickets-Service-CD-Pipeline:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
# Build Image and push to Docker registry
- run: cd tickets && docker build -t alwinsimon/bookmyseat-tickets .
- run: docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
- run: docker push alwinsimon/bookmyseat-tickets

# Restart Deployment in K8s cluster deployed in Digital Ocean
- uses: digitalocean/action-doctl@v2
with:
token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
- run: doctl kubernetes cluster kubeconfig save ${{ secrets.DIGITALOCEAN_CLUSTER_ID }}
- run: kubectl rollout restart deployment tickets-depl
9 changes: 6 additions & 3 deletions .github/workflows/CI - Tests - Auth Service.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
# ========================================= Main Branch ::: CI - Tests - Auth Service =========================================
# ========================================= CI - Tests - Auth Service =========================================

name: CI - Tests - Auth Service

on: pull_request
on:
pull_request:
paths:
- "auth/**"

jobs:
Production-Branch-Pre-Integration-Tests:
Auth-Service-Pre-Integration-Tests:
runs-on: ubuntu-latest

steps:
Expand Down
16 changes: 16 additions & 0 deletions .github/workflows/CI - Tests - Orders Service.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# ========================================= CI - Tests - Orders Service =========================================

name: CI - Tests - Orders Service

on:
pull_request:
paths:
- "orders/**"

jobs:
Orders-Service-Pre-Integration-Tests:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- run: cd orders && npm install && npm run test:ci
16 changes: 16 additions & 0 deletions .github/workflows/CI - Tests - Payments Service.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# ========================================= CI - Tests - Payments Service =========================================

name: CI - Tests - Payments Service

on:
pull_request:
paths:
- "payments/**"

jobs:
Payments-Service-Pre-Integration-Tests:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- run: cd payments && npm install && npm run test:ci
16 changes: 16 additions & 0 deletions .github/workflows/CI - Tests - Tickets Service.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# ========================================= CI - Tests - Tickets Service =========================================

name: CI - Tests - Tickets Service

on:
pull_request:
paths:
- "tickets/**"

jobs:
Tickets-Service-Pre-Integration-Tests:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- run: cd tickets && npm install && npm run test:ci
1 change: 0 additions & 1 deletion auth/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import mongoose from "mongoose";
import { app } from "./app";

const startServer = async () => {

const PORT = 3000;
const SERVICE_NAME = "AUTH";

Expand Down
2 changes: 1 addition & 1 deletion client/api/build-client.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export default ({ req }) => {

return axios.create({
baseURL:
"http://ingress-nginx-controller.ingress-nginx.svc.cluster.local",
"http://bms.alwinsimon.com/",
headers: req.headers,
});
} else {
Expand Down
2 changes: 1 addition & 1 deletion client/pages/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const IndexPage = ({ currentUser, tickets }) => {
<>
<h1>Landing Page</h1>
<br />
<h5>Signed Out</h5>
<h5>Signed Out.</h5>
</>
);
}
Expand Down
File renamed without changes.
47 changes: 47 additions & 0 deletions infra/k8s-prod/ingress-srv.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-service
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
rules:
- host: bookmyseat.dev
http:
paths:
- path: /api/users/?(.*)
pathType: Prefix
backend:
service:
name: auth-srv
port:
number: 3000
- path: /api/tickets/?(.*)
pathType: Prefix
backend:
service:
name: tickets-srv
port:
number: 3000
- path: /api/orders/?(.*)
pathType: Prefix
backend:
service:
name: orders-srv
port:
number: 3000
- path: /api/payments/?(.*)
pathType: Prefix
backend:
service:
name: payments-srv
port:
number: 3000
- path: /?(.*)
pathType: Prefix
backend:
service:
name: client-srv
port:
number: 3000
1 change: 1 addition & 0 deletions skaffold.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ deploy:
kubectl:
manifests:
- ./infra/k8s/*
- ./infra/k8s-dev/*
build:
local:
push: true
Expand Down
3 changes: 2 additions & 1 deletion tickets/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"main": "index.js",
"scripts": {
"start": "nodemon --watch 'src/**/*.ts' --exec 'ts-node' src/index.ts",
"test": "jest --watchAll --no-cache"
"test": "jest --watchAll --no-cache",
"test:ci": "jest"
},
"jest": {
"preset": "ts-jest",
Expand Down

0 comments on commit 81a6d46

Please sign in to comment.