Skip to content
Open

k8s #135

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
c0881bd
feat: configmap + secrets
omarsamyb Jun 27, 2021
c691fe7
feat: rabbitmq
omarsamyb Jun 27, 2021
ddffed4
feat: arangodb
omarsamyb Jun 27, 2021
6b5e1fb
feat: server
omarsamyb Jun 27, 2021
68d2af8
feat: couchbase
omarsamyb Jun 27, 2021
f7b9e2c
feat: search app
omarsamyb Jun 27, 2021
946ceb7
feat: recommendation app
omarsamyb Jun 27, 2021
2c9be2d
feat: thread app
omarsamyb Jun 27, 2021
d7a8b17
feat: subthread app
omarsamyb Jun 27, 2021
69f0174
feat: user_to_user_actions_app
omarsamyb Jun 27, 2021
31556ed
fix: namings
omarsamyb Jun 27, 2021
b891e97
feat: scripts
omarsamyb Jun 27, 2021
e8b73d7
Merge branch 'main' of https://github.com/Moe98/reddit into minikube
MoFarid Jun 27, 2021
6dd2b25
feat: add notification app deployment yml
MoFarid Jun 27, 2021
13c7f05
fix: couchbase resources + rec app image name
omarsamyb Jun 27, 2021
b841334
Merge branch 'minikube' of https://github.com/Moe98/reddit into minikube
omarsamyb Jun 27, 2021
93d912a
fix: incorrect hpa app reference
omarsamyb Jun 27, 2021
225d19e
feat: add couchbase op exe
omarsamyb Jun 27, 2021
a9cc7e8
fix: Only execute SQL scripts in dev mode
ZeyadKhattab Jun 27, 2021
b0b6329
feat: Added secrets for postegres
ZeyadKhattab Jun 27, 2021
dcbdc61
feat: Added postgres deployment
ZeyadKhattab Jun 27, 2021
8d1170d
feat: Added postgres env variables to postgres
ZeyadKhattab Jun 27, 2021
f1b5060
feat: Added command for creating sql files configmap
ZeyadKhattab Jun 27, 2021
afdebd9
feat: Added user app deployment
ZeyadKhattab Jun 27, 2021
90ee464
fix: use auto resource allocation
omarsamyb Jun 28, 2021
8c5cbc8
fix: update POSTGRES_HOST to postgres-service
MoFarid Jun 28, 2021
ad72a5e
fix: set selector for postgres-deployment
MoFarid Jun 28, 2021
fe873cd
fix: set secretKeyRef for authentication
MoFarid Jun 28, 2021
5bcfcbd
fix: incorrect hpa app reference
ZeyadKhattab Jun 28, 2021
dc15724
Added user app and postgres commands to .bat files
ZeyadKhattab Jun 28, 2021
7fe421f
Merge pull request #128 from Moe98/minikube-user-app
ZeyadKhattab Jun 28, 2021
2ed9f82
feat: add minIO secrets
ZeyadKhattab Jun 28, 2021
982c1a7
feat: Added MinIO_host to confimap
ZeyadKhattab Jun 28, 2021
9119c73
feat: Used MinIO secrets in user app deployment
ZeyadKhattab Jun 28, 2021
a990d71
Merge branch 'main' into minikube
omarsamyb Jun 28, 2021
57edbb8
feat: cassandra deployment
omarsamyb Jun 28, 2021
c4484f6
feat: chat app
omarsamyb Jun 28, 2021
14c28e5
fix: typos in minIo password
ZeyadKhattab Jun 28, 2021
9023cbf
feat: added scripts to populate postgres
ZeyadKhattab Jun 29, 2021
a082f7a
fix: Added populate.sql in postgres deployment
ZeyadKhattab Jun 29, 2021
9e63982
fix: image naming typo
omarsamyb Jun 30, 2021
35bb059
ingress modifications
omarsamyb Jun 30, 2021
b2908f6
Merge branch 'main' into minikube
omarsamyb Jun 30, 2021
ce00526
gke
omarsamyb Jun 30, 2021
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
20 changes: 20 additions & 0 deletions apps/user_app/src/main/java/org/sab/user/Populate.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package org.sab.user;

import org.sab.postgres.PostgresConnection;
import org.sab.validation.exceptions.EnvironmentVariableNotLoaded;

import java.sql.SQLException;

public class Populate {

static final int NUM_USERS = 10 * 1000;

public static void main(String[] args) {
try {
PostgresConnection.call("mockData", NUM_USERS);
} catch (SQLException | EnvironmentVariableNotLoaded e) {
e.printStackTrace();
}

}
}
2 changes: 1 addition & 1 deletion apps/user_app/src/main/java/org/sab/user/UserApp.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public static void main(String[] args) throws IOException, EnvironmentVariableNo
}

public static void dbInit() throws IOException, EnvironmentVariableNotLoaded {
if (!Utilities.inContainerizationMode())
if (Utilities.isDevelopmentMode())
PostgresConnection.dbInit();
arangoDbInit();
}
Expand Down
2 changes: 1 addition & 1 deletion cli/hooks/chat-service.js
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ const useChatService = () => {
}

useEffect(() => {
ws.current = new W3CWebSocket('ws://localhost:5000/ws')
ws.current = new W3CWebSocket('ws://chat.notreddit.com/ws')

ws.current.onopen = () => {
ws.current.send(
Expand Down
61 changes: 61 additions & 0 deletions gke/apps/chat-storage-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: chat-storage-deployment
spec:
selector:
matchLabels:
app: chat_storage
template:
metadata:
labels:
app: chat_storage
spec:
containers:
- name: chat-storage
image: chat_storage:alpine
imagePullPolicy: IfNotPresent
resources:
limits:
memory: "256Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "200m"
env:
- name: RABBIT_USER
valueFrom:
secretKeyRef:
name: rabbitmq-deployment-default-user
key: username
- name: RABBIT_PASSWORD
valueFrom:
secretKeyRef:
name: rabbitmq-deployment-default-user
key: password
- name: CASSANDRA_USERNAME
valueFrom:
secretKeyRef:
name: cassandra-cluster-superuser-default
key: username
- name: CASSANDRA_PASSWORD
valueFrom:
secretKeyRef:
name: cassandra-cluster-superuser-default
key: password
envFrom:
- configMapRef:
name: env-configmap
---
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: chat-storage-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: chat-storage-deployment
minReplicas: 1
maxReplicas: 5
targetCPUUtilizationPercentage: 60
51 changes: 51 additions & 0 deletions gke/apps/notification-app-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: notification-app-deployment
spec:
selector:
matchLabels:
app: notification_app
template:
metadata:
labels:
app: notification_app
spec:
containers:
- name: notification-app
image: gcr.io/reddit-31/notification-app:v1
imagePullPolicy: IfNotPresent
resources:
limits:
memory: "256Mi"
cpu: "500m"
requests:
memory: "128Mi"
cpu: "200m"
env:
- name: RABBIT_USER
valueFrom:
secretKeyRef:
name: rabbitmq-deployment-default-user
key: username
- name: RABBIT_PASSWORD
valueFrom:
secretKeyRef:
name: rabbitmq-deployment-default-user
key: password
envFrom:
- configMapRef:
name: env-configmap
---
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: notification-app-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: notification-app-deployment
minReplicas: 1
maxReplicas: 5
targetCPUUtilizationPercentage: 60
61 changes: 61 additions & 0 deletions gke/apps/recommendation-app-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: recommendation-app-deployment
spec:
selector:
matchLabels:
app: recommendation_app
template:
metadata:
labels:
app: recommendation_app
spec:
containers:
- name: recommendation-app
image: gcr.io/reddit-31/recommendation-app:v1
imagePullPolicy: IfNotPresent
resources:
limits:
memory: "512Mi"
cpu: "500m"
requests:
memory: "256Mi"
cpu: "200m"
env:
- name: RABBIT_USER
valueFrom:
secretKeyRef:
name: rabbitmq-deployment-default-user
key: username
- name: RABBIT_PASSWORD
valueFrom:
secretKeyRef:
name: rabbitmq-deployment-default-user
key: password
- name: COUCHBASE_USERNAME
valueFrom:
secretKeyRef:
name: couchbase-deployment-authentication
key: username
- name: COUCHBASE_PASSWORD
valueFrom:
secretKeyRef:
name: couchbase-deployment-authentication
key: password
envFrom:
- configMapRef:
name: env-configmap
---
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: recommendation-app-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: recommendation-app-deployment
minReplicas: 1
maxReplicas: 10
targetCPUUtilizationPercentage: 60
51 changes: 51 additions & 0 deletions gke/apps/search-app-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: search-app-deployment
spec:
selector:
matchLabels:
app: search_app
template:
metadata:
labels:
app: search_app
spec:
containers:
- name: search-app
image: gcr.io/reddit-31/search-app:v1
imagePullPolicy: IfNotPresent
resources:
requests:
cpu: 250m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
env:
- name: RABBIT_USER
valueFrom:
secretKeyRef:
name: rabbitmq-deployment-default-user
key: username
- name: RABBIT_PASSWORD
valueFrom:
secretKeyRef:
name: rabbitmq-deployment-default-user
key: password
envFrom:
- configMapRef:
name: env-configmap
---
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: search-app-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: search-app-deployment
minReplicas: 1
maxReplicas: 10
targetCPUUtilizationPercentage: 60
61 changes: 61 additions & 0 deletions gke/apps/subthread-app-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: subthread-app-deployment
spec:
selector:
matchLabels:
app: subthread_app
template:
metadata:
labels:
app: subthread_app
spec:
containers:
- name: subthread-app
image: gcr.io/reddit-31/subthread-app:v3
imagePullPolicy: IfNotPresent
resources:
limits:
memory: "512Mi"
cpu: "500m"
requests:
memory: "256Mi"
cpu: "200m"
env:
- name: RABBIT_USER
valueFrom:
secretKeyRef:
name: rabbitmq-deployment-default-user
key: username
- name: RABBIT_PASSWORD
valueFrom:
secretKeyRef:
name: rabbitmq-deployment-default-user
key: password
- name: COUCHBASE_USERNAME
valueFrom:
secretKeyRef:
name: couchbase-deployment-authentication
key: username
- name: COUCHBASE_PASSWORD
valueFrom:
secretKeyRef:
name: couchbase-deployment-authentication
key: password
envFrom:
- configMapRef:
name: env-configmap
---
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: subthread-app-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: subthread-app-deployment
minReplicas: 1
maxReplicas: 10
targetCPUUtilizationPercentage: 60
61 changes: 61 additions & 0 deletions gke/apps/thread-app-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: thread-app-deployment
spec:
selector:
matchLabels:
app: thread_app
template:
metadata:
labels:
app: thread_app
spec:
containers:
- name: thread-app
image: gcr.io/reddit-31/thread-app:v1
imagePullPolicy: IfNotPresent
resources:
limits:
memory: "512Mi"
cpu: "500m"
requests:
memory: "256Mi"
cpu: "200m"
env:
- name: RABBIT_USER
valueFrom:
secretKeyRef:
name: rabbitmq-deployment-default-user
key: username
- name: RABBIT_PASSWORD
valueFrom:
secretKeyRef:
name: rabbitmq-deployment-default-user
key: password
- name: COUCHBASE_USERNAME
valueFrom:
secretKeyRef:
name: couchbase-deployment-authentication
key: username
- name: COUCHBASE_PASSWORD
valueFrom:
secretKeyRef:
name: couchbase-deployment-authentication
key: password
envFrom:
- configMapRef:
name: env-configmap
---
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: thread-app-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: thread-app-deployment
minReplicas: 1
maxReplicas: 10
targetCPUUtilizationPercentage: 60
Loading