From 4adf832a641d755c2029d14a488bd96ae9abbd49 Mon Sep 17 00:00:00 2001
From: Pablo Solar VilariƱo <psolarvi@redhat.com>
Date: Thu, 04 Jun 2020 17:39:11 +0200
Subject: [PATCH] Added frontend deployment and small Readme

---
 adopt-a-pup/Readme.MD                           |   27 +++++++++++++
 adopt-a-pup/kubefiles/adoption-service.yaml     |    1 
 adopt-a-pup/kubefiles/email-service.yaml        |    0 
 adopt-a-pup/kubefiles/shelter-service.yaml      |    1 
 adopt-a-pup/kubefiles/animal-service.yaml       |    1 
 adopt-a-pup/kubefiles/notification-service.yaml |    1 
 adopt-a-pup/kubefiles/frontend-service.yaml     |   73 ++++++++++++++++++++++++++++++++++++
 7 files changed, 104 insertions(+), 0 deletions(-)

diff --git a/adopt-a-pup/Readme.MD b/adopt-a-pup/Readme.MD
index 6fc4378..8d45a05 100755
--- a/adopt-a-pup/Readme.MD
+++ b/adopt-a-pup/Readme.MD
@@ -1,3 +1,30 @@
+# Adopt a Pup Application
+
+## Deploying the application in Red&nbsp;Hat OpenShift 
+Create a project.
+```
+oc new-project adopt-a-pup
+```
+
+Deploy the MongoDB container
+```
+sh scripts/deploy-mongo.sh
+```
+
+Populate the MongoDB database
+```
+sh scripts/populate-mongo.sh
+```
+
+Deploy the required services.
+```
+oc apply -f kubefiles/adoption-service.yaml
+oc apply -f kubefiles/animal-service.yaml
+oc apply -f kubefiles/notification-service.yaml 
+oc apply -f kubefiles/shelter-service.yaml
+oc apply -f kubefiles/frontend-service.yaml
+```
+-----
 The `oc` commands in this script can be run to create the adopt-a-pup application. This will deploy the backend services including adoption, shelter, animal, and notification services. It will also build a fake smtp service which can be used to test email delivery.
 
 # Deploy the microservices. Start with a clean project.
diff --git a/adopt-a-pup/kubefiles/adoption-service.yaml b/adopt-a-pup/kubefiles/adoption-service.yaml
index ad93e6d..8a9ee91 100644
--- a/adopt-a-pup/kubefiles/adoption-service.yaml
+++ b/adopt-a-pup/kubefiles/adoption-service.yaml
@@ -17,6 +17,7 @@
       containers:
         - name: adoption-service
           image: quay.io/psolarvi/ossm-adoption-service:1.0
+          imagePullPolicy: Always
           ports:
             - containerPort: 8080
 ---
diff --git a/adopt-a-pup/kubefiles/animal-service.yaml b/adopt-a-pup/kubefiles/animal-service.yaml
index 60a8407..09cc957 100644
--- a/adopt-a-pup/kubefiles/animal-service.yaml
+++ b/adopt-a-pup/kubefiles/animal-service.yaml
@@ -17,6 +17,7 @@
       containers:
         - name: animal-service
           image: quay.io/psolarvi/ossm-animal-service:1.0
+          imagePullPolicy: Always
           ports:
             - containerPort: 8080
 ---
diff --git a/adopt-a-pup/kubefiles/email-service.yaml b/adopt-a-pup/kubefiles/email-service.yaml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/adopt-a-pup/kubefiles/email-service.yaml
diff --git a/adopt-a-pup/kubefiles/frontend-service.yaml b/adopt-a-pup/kubefiles/frontend-service.yaml
new file mode 100644
index 0000000..09f6ae1
--- /dev/null
+++ b/adopt-a-pup/kubefiles/frontend-service.yaml
@@ -0,0 +1,73 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: frontend-service
+spec:
+  selector:
+    matchLabels:
+      app: frontend-service
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: frontend-service
+      annotations:
+        sidecar.istio.io/inject: "true"
+    spec:
+      containers:
+        - name: frontend-service
+          image: quay.io/redhattraining/ossm-adopt-a-pup-webapp:1.0
+          imagePullPolicy: Always
+          ports:
+            - containerPort: 8080
+---
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: frontend-service
+  name: frontend-service
+spec:
+  ports:
+    - port: 3000
+      protocol: TCP
+      targetPort: 8080
+  selector:
+    app: frontend-service
+---
+apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+  name: frontend-service-gw
+spec:
+  selector:
+    istio: ingressgateway
+  servers:
+    - port:
+        number: 80
+        name: http
+        protocol: HTTP
+      hosts:
+        - "*"
+---
+apiVersion: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: frontend-service-vs
+spec:
+  hosts:
+  - "*"
+  gateways:
+  - frontend-service-gw
+  http:
+  - match:
+    - uri:
+        prefix: /frontend
+    rewrite:
+      uri: /frontend
+    route:
+    - destination:
+        host: frontend-service
+        port:
+          number: 3000
+
diff --git a/adopt-a-pup/kubefiles/notification-service.yaml b/adopt-a-pup/kubefiles/notification-service.yaml
index 4e448f4..7334e77 100644
--- a/adopt-a-pup/kubefiles/notification-service.yaml
+++ b/adopt-a-pup/kubefiles/notification-service.yaml
@@ -17,6 +17,7 @@
       containers:
         - name: notification-service
           image: quay.io/psolarvi/ossm-notification-service:1.0
+          imagePullPolicy: Always
           ports:
             - containerPort: 8080
 ---
diff --git a/adopt-a-pup/kubefiles/shelter-service.yaml b/adopt-a-pup/kubefiles/shelter-service.yaml
index e0592f0..b9a9b69 100644
--- a/adopt-a-pup/kubefiles/shelter-service.yaml
+++ b/adopt-a-pup/kubefiles/shelter-service.yaml
@@ -17,6 +17,7 @@
       containers:
         - name: shelter-service
           image: quay.io/psolarvi/ossm-shelter-service:1.0
+          imagePullPolicy: Always
           ports:
             - containerPort: 8080
 ---

--
Gitblit v1.9.3