From 3bf2534c8adc57318c865e8846b07fdbf8e9310e Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 14 May 2023 14:50:39 +0530 Subject: [PATCH 1/7] comment msg --- Docker Project/Dockerfile.dev | 1 + 1 file changed, 1 insertion(+) create mode 100644 Docker Project/Dockerfile.dev diff --git a/Docker Project/Dockerfile.dev b/Docker Project/Dockerfile.dev new file mode 100644 index 00000000..c7c17d95 --- /dev/null +++ b/Docker Project/Dockerfile.dev @@ -0,0 +1 @@ +# Hello world \ No newline at end of file From 1ce0eb5b58f54dad7e8ad897dd47730176e80e67 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 14 May 2023 20:14:42 +0530 Subject: [PATCH 2/7] dockerProject --- simple_blog_api/docker-compose.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 simple_blog_api/docker-compose.yml diff --git a/simple_blog_api/docker-compose.yml b/simple_blog_api/docker-compose.yml new file mode 100644 index 00000000..4d8ba73d --- /dev/null +++ b/simple_blog_api/docker-compose.yml @@ -0,0 +1,21 @@ +version: '3' +services: + postgres: + image: 'postgres:latest' + environment: + - POSTGRES_PASSWORD=postgres_password + - POSTGRES_USER=postgres + - POSTGRES_DB=simple_blog_api + + node-app: + depends_on: + - postgres + image : docker.io/snehasharma2606/simpleblogapi + ports: + - "3000:3000" + environment: + - PGUSER=postgres + - PGHOST=postgres + - PGDATABASE=simple_blog_api + - PGPASSWORD=postgres_password + - PGPORT=5432 \ No newline at end of file From 5485cda7be0e9ddd1cfacc71ff08858d601ebbf9 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 14 May 2023 20:20:32 +0530 Subject: [PATCH 3/7] Docker files update --- Docker Project/Dockerfile.dev | 7 ++++++- Docker Project/docker-compose.yml | 21 +++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 Docker Project/docker-compose.yml diff --git a/Docker Project/Dockerfile.dev b/Docker Project/Dockerfile.dev index c7c17d95..00c95e17 100644 --- a/Docker Project/Dockerfile.dev +++ b/Docker Project/Dockerfile.dev @@ -1 +1,6 @@ -# Hello world \ No newline at end of file +FROM node:18-alpine +WORKDIR /usr/app +COPY ./package.json ./ +RUN npm install +COPY ./ ./ +CMD ["npm", "run", "start"] \ No newline at end of file diff --git a/Docker Project/docker-compose.yml b/Docker Project/docker-compose.yml new file mode 100644 index 00000000..4d8ba73d --- /dev/null +++ b/Docker Project/docker-compose.yml @@ -0,0 +1,21 @@ +version: '3' +services: + postgres: + image: 'postgres:latest' + environment: + - POSTGRES_PASSWORD=postgres_password + - POSTGRES_USER=postgres + - POSTGRES_DB=simple_blog_api + + node-app: + depends_on: + - postgres + image : docker.io/snehasharma2606/simpleblogapi + ports: + - "3000:3000" + environment: + - PGUSER=postgres + - PGHOST=postgres + - PGDATABASE=simple_blog_api + - PGPASSWORD=postgres_password + - PGPORT=5432 \ No newline at end of file From 8ec05a97788c9fee956474b251922f248d54c7a7 Mon Sep 17 00:00:00 2001 From: SnehaSharma3 <133567501+SnehaSharma3@users.noreply.github.com> Date: Sun, 14 May 2023 20:24:40 +0530 Subject: [PATCH 4/7] Delete simple_blog_api directory --- simple_blog_api/docker-compose.yml | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 simple_blog_api/docker-compose.yml diff --git a/simple_blog_api/docker-compose.yml b/simple_blog_api/docker-compose.yml deleted file mode 100644 index 4d8ba73d..00000000 --- a/simple_blog_api/docker-compose.yml +++ /dev/null @@ -1,21 +0,0 @@ -version: '3' -services: - postgres: - image: 'postgres:latest' - environment: - - POSTGRES_PASSWORD=postgres_password - - POSTGRES_USER=postgres - - POSTGRES_DB=simple_blog_api - - node-app: - depends_on: - - postgres - image : docker.io/snehasharma2606/simpleblogapi - ports: - - "3000:3000" - environment: - - PGUSER=postgres - - PGHOST=postgres - - PGDATABASE=simple_blog_api - - PGPASSWORD=postgres_password - - PGPORT=5432 \ No newline at end of file From 9da344809cb0c60575164fe95f6862b1f8cff1b1 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 15 May 2023 13:33:09 +0530 Subject: [PATCH 5/7] Changed Host name from Localhost to postgres. Uploading Docker project Signed-off-by: --- Docker Project/Dockerfile.dev | 2 +- Docker Project/database.connection.ts | 19 +++++++++++++++++++ Docker Project/docker-compose.yml | 10 +++++++++- 3 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 Docker Project/database.connection.ts diff --git a/Docker Project/Dockerfile.dev b/Docker Project/Dockerfile.dev index 00c95e17..162774e1 100644 --- a/Docker Project/Dockerfile.dev +++ b/Docker Project/Dockerfile.dev @@ -3,4 +3,4 @@ WORKDIR /usr/app COPY ./package.json ./ RUN npm install COPY ./ ./ -CMD ["npm", "run", "start"] \ No newline at end of file +CMD ["npm", "run", "serve"] \ No newline at end of file diff --git a/Docker Project/database.connection.ts b/Docker Project/database.connection.ts new file mode 100644 index 00000000..43e73115 --- /dev/null +++ b/Docker Project/database.connection.ts @@ -0,0 +1,19 @@ +import "reflect-metadata"; +import { createConnection, Connection, ConnectionOptions } from "typeorm"; +import { join } from "path"; +const parentDir = join(__dirname, ".."); + +const connectionOpts: ConnectionOptions = { + type: "postgres", + host: process.env.POSTGRES_HOST || "postgres", + port: Number(process.env.POSTGRES_PORT) || 5432, + username: process.env.POSTGRES_USERNAME || "postgres", + password: process.env.POSTGRES_PASSWORD || "postgres_password", + database: process.env.POSTGRES_DB || "simple_blog_api", + entities: [`${parentDir}/**/*.entity.ts`], + synchronize: true +}; + +const connection:Promise = createConnection(connectionOpts); + +export default connection; diff --git a/Docker Project/docker-compose.yml b/Docker Project/docker-compose.yml index 4d8ba73d..3f41dab1 100644 --- a/Docker Project/docker-compose.yml +++ b/Docker Project/docker-compose.yml @@ -6,11 +6,19 @@ services: - POSTGRES_PASSWORD=postgres_password - POSTGRES_USER=postgres - POSTGRES_DB=simple_blog_api + - POSTGRES_TYPE=postgres + - POSTGRES_HOST=postgres + volumes: + - ./localDataCenter:./data + command: ["postgres", "--save", "1 1"] node-app: depends_on: - postgres - image : docker.io/snehasharma2606/simpleblogapi + restart: always + image : docker.io/snehasharma2606/simpleblogapi:1.2 + # build: + # context: ./ ports: - "3000:3000" environment: From beb7256e0bb5badf7beb59e9afd520f35d1caf5e Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 17 May 2023 02:25:49 +0530 Subject: [PATCH 6/7] Kubernetes project --- Kubernetes Project/ingress-service.yml | 26 ++++++++++++++ .../node-app-cluster-ip-service.yml | 11 ++++++ Kubernetes Project/node-app-deployment.yml | 25 +++++++++++++ .../postgres-cluster-ip-service.yml | 11 ++++++ .../postgres-deployment.k8s.yml | 35 +++++++++++++++++++ Kubernetes Project/postgres-pvc-k8s.yml | 10 ++++++ 6 files changed, 118 insertions(+) create mode 100644 Kubernetes Project/ingress-service.yml create mode 100644 Kubernetes Project/node-app-cluster-ip-service.yml create mode 100644 Kubernetes Project/node-app-deployment.yml create mode 100644 Kubernetes Project/postgres-cluster-ip-service.yml create mode 100644 Kubernetes Project/postgres-deployment.k8s.yml create mode 100644 Kubernetes Project/postgres-pvc-k8s.yml diff --git a/Kubernetes Project/ingress-service.yml b/Kubernetes Project/ingress-service.yml new file mode 100644 index 00000000..9e2909c0 --- /dev/null +++ b/Kubernetes Project/ingress-service.yml @@ -0,0 +1,26 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: ingress-service + annotations: + kubernetes.io/ingress.class: nginx + nginx.ingress.kubernetes.io/use-regex: "true" + nginx.ingress.kubernetes.io/rewrite-target: /$1 +spec: + rules: + - http: + paths: + - path: /?(.*) + pathType: Prefix + backend: + service: + name: node-app-cluster-ip-service + port: + number: 3000 + - path: /api/?(.*) + pathType: Prefix + backend: + service: + name: node-app-cluster-ip-service + port: + number: 3000 diff --git a/Kubernetes Project/node-app-cluster-ip-service.yml b/Kubernetes Project/node-app-cluster-ip-service.yml new file mode 100644 index 00000000..526e5398 --- /dev/null +++ b/Kubernetes Project/node-app-cluster-ip-service.yml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: node-app-cluster-ip-service +spec: + type: ClusterIP + selector: + component: node-app + ports: + - port: 3000 + targetPort: 3000 \ No newline at end of file diff --git a/Kubernetes Project/node-app-deployment.yml b/Kubernetes Project/node-app-deployment.yml new file mode 100644 index 00000000..ae004787 --- /dev/null +++ b/Kubernetes Project/node-app-deployment.yml @@ -0,0 +1,25 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: node-app-deployment +spec: + replicas: 1 + selector: + matchLabels: + component: node-app + template: + metadata: + labels: + component: node-app + spec: + containers: + - name: node-app + image: docker.io/snehasharma2606/simpleblogapi:1.2 + ports: + - containerPort: 3000 + env: + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: pgpassword + key: POSTGRES_PASSWORD diff --git a/Kubernetes Project/postgres-cluster-ip-service.yml b/Kubernetes Project/postgres-cluster-ip-service.yml new file mode 100644 index 00000000..262ee818 --- /dev/null +++ b/Kubernetes Project/postgres-cluster-ip-service.yml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: postgres-cluster-ip-service +spec: + type: ClusterIP + selector: + component: postgres + ports: + - port: 5432 + targetPort: 5432 \ No newline at end of file diff --git a/Kubernetes Project/postgres-deployment.k8s.yml b/Kubernetes Project/postgres-deployment.k8s.yml new file mode 100644 index 00000000..1026726f --- /dev/null +++ b/Kubernetes Project/postgres-deployment.k8s.yml @@ -0,0 +1,35 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: postgres-deployment.k8s +spec: + replicas: 1 + selector: + matchLabels: + component: postgres + template: + metadata: + labels: + component: postgres + spec: + volumes: + - name: postgres-storage + persistentVolumeClaim: + claimName: database-persistent-volume-claim + containers: + - name: postgres + image: docker.io/postgres:latest + ports: + - containerPort: 5432 + volumeMounts: + - mountPath: /var/lib/postgresql/data + name: postgres-storage + subPath: postgres + env: + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: pgpassword + key: POSTGRES_PASSWORD + - name: POSTGRES_DB + value: simple_blog_api diff --git a/Kubernetes Project/postgres-pvc-k8s.yml b/Kubernetes Project/postgres-pvc-k8s.yml new file mode 100644 index 00000000..54dfe56e --- /dev/null +++ b/Kubernetes Project/postgres-pvc-k8s.yml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: database-persistent-volume-claim +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi \ No newline at end of file From 3f9d6bd12b61bf62df4520d7862f88245986d01b Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 17 May 2023 15:18:55 +0530 Subject: [PATCH 7/7] edit host name --- Kubernetes Project/node-app-deployment.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Kubernetes Project/node-app-deployment.yml b/Kubernetes Project/node-app-deployment.yml index ae004787..2a861222 100644 --- a/Kubernetes Project/node-app-deployment.yml +++ b/Kubernetes Project/node-app-deployment.yml @@ -23,3 +23,5 @@ spec: secretKeyRef: name: pgpassword key: POSTGRES_PASSWORD + - name: POSTGRES_HOST + value: postgres-cluster-ip-service