Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev #185

Open
wants to merge 32 commits into
base: main
Choose a base branch
from
Open

Dev #185

Show file tree
Hide file tree
Changes from all commits
Commits
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
27 changes: 27 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
language: node_js
node_js:
- 14

services:
- docker

script:
- docker --version # print the version for logging
# Build
- docker pull trieunv/udagram-frontend:2.1
- docker build -t udagram-api-feed ./udagram-api-feed
- docker build -t udagram-api-user ./udagram-api-user
- docker build -t reverseproxy ./udagram-reverseproxy
# Tagging
- docker tag trieunv/udagram-frontend:2.1 trieunv/udagram-frontend:2.2
- docker tag udagram-api-feed trieunv/udagram-api-feed:v1
- docker tag udagram-api-user trieunv/udagram-api-user:v1
- docker tag reverseproxy trieunv/reverseproxy:v1

after_success:
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
# # Push
- docker push trieunv/udagram-frontend:2.2
- docker push trieunv/udagram-api-feed:v1
- docker push trieunv/udagram-api-user:v1
- docker push trieunv/reverseproxy:v1
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ Launch the frontend app locally.
```bash
ionic serve
```
NODE_OPTIONS=--openssl-legacy-provider ionic serve
* You can visit `http://localhost:8100` in your web browser to verify that the application is running. You should see a web interface.

## Tips
Expand Down
7 changes: 7 additions & 0 deletions deployment/aws-secret.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: v1
kind: Secret
metadata:
name: aws-secret
type: Opaque
data:
credentials: W2RlZmF1bHRdCmF3c19hY2Nlc3Nfa2V5X2lkPUFTSUEzT041WE1XWUVUUUNER1lDCmF3c19zZWNyZXRfYWNjZXNzX2tleT0yZjhHbGE1NkJiMlpHcjlYY2tPQjczMys5anBRRjhwb0RiWVQ4UWE5CmF3c19zZXNzaW9uX3Rva2VuPUZ3b0daWEl2WVhkekVOZi8vLy8vLy8vLy93RWFER0NlazI5NGVybmFLajQ0bkNMVkFlSkJSaDE4c0U2ZmVJYnlrMU5icDFoaGtUU0xyUVR2Wkp5REtTRXJIVEIwOG5ieDhWSlNaaDF4NnU3N0NBem1Za0M5TWlEaGhHemVRM2tMbjV4L0xUZTZKQ053aTFHUFdmUHo0RjNrL2s4QjltQnpuemNMZlRFdHV1bFB5NzZEZDd4d21DWmVocmRhcHpnT3pqQjQ5Tmg0WGJqSUFrT1F2L01vcEZ1NUVNMGlSL3dGdW16OVZMcHowdlBCaGx5OEZLR2xFOE9oMmtGTnkxazEzUmZwUW5pQW1yNFhWQ252aks0N0xkbjJ0Q0pWZmhkYU5SS2ZWbzJJNmI0L1gxNmFTL1VkK1phMFdIZXFITTA5allWbDFVZ3NoNE82S2lqMHdQQ2pCakl0c0JWeVNqRXVveDJ2WmVxT2tpcFArb1M0M2xPcUVpdUJGQVF1VVZWa0FFdUd4L1k0NWxHajY5UHVqTG93
82 changes: 82 additions & 0 deletions deployment/backend-feed-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
service: backend-feed
name: backend-feed
spec:
replicas: 2
selector:
matchLabels:
app: backend-feed
template:
metadata:
labels:
app: backend-feed
spec:
containers:
- image: trieunv/udagram-api-feed:v1
name: backend-feed
imagePullPolicy: Always
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "2048Mi"
cpu: "500m"
env:
- name: URL
valueFrom:
configMapKeyRef:
name: env-config
key: URL
- name: AWS_BUCKET
valueFrom:
configMapKeyRef:
name: env-config
key: AWS_BUCKET
- name: AWS_PROFILE
valueFrom:
configMapKeyRef:
name: env-config
key: AWS_PROFILE
- name: AWS_REGION
valueFrom:
configMapKeyRef:
name: env-config
key: AWS_REGION
- name: JWT_SECRET
valueFrom:
configMapKeyRef:
name: env-config
key: JWT_SECRET
- name: POSTGRES_DB
valueFrom:
configMapKeyRef:
name: env-config
key: POSTGRES_DB
- name: POSTGRES_HOST
valueFrom:
configMapKeyRef:
name: env-config
key: POSTGRES_HOST
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: env-secret
key: POSTGRES_PASSWORD
- name: POSTGRES_USERNAME
valueFrom:
secretKeyRef:
name: env-secret
key: POSTGRES_USERNAME
volumeMounts:
- name: aws-secret
mountPath: "/root/.aws/"
readOnly: true
restartPolicy: Always
volumes:
- name: aws-secret
secret:
secretName: aws-secret
13 changes: 13 additions & 0 deletions deployment/backend-feed-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
labels:
service: backend-feed
name: backend-feed
spec:
ports:
- name: "8080"
port: 8080
targetPort: 8080
selector:
app: backend-feed
82 changes: 82 additions & 0 deletions deployment/backend-user-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
service: backend-user
name: backend-user
spec:
replicas: 1
selector:
matchLabels:
app: backend-user
template:
metadata:
labels:
app: backend-user
spec:
containers:
- image: trieunv/udagram-api-user:v1
name: backend-user
imagePullPolicy: Always
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "2048Mi"
cpu: "500m"
env:
- name: URL
valueFrom:
configMapKeyRef:
name: env-config
key: URL
- name: AWS_BUCKET
valueFrom:
configMapKeyRef:
name: env-config
key: AWS_BUCKET
- name: AWS_PROFILE
valueFrom:
configMapKeyRef:
name: env-config
key: AWS_PROFILE
- name: AWS_REGION
valueFrom:
configMapKeyRef:
name: env-config
key: AWS_REGION
- name: JWT_SECRET
valueFrom:
configMapKeyRef:
name: env-config
key: JWT_SECRET
- name: POSTGRES_DB
valueFrom:
configMapKeyRef:
name: env-config
key: POSTGRES_DB
- name: POSTGRES_HOST
valueFrom:
configMapKeyRef:
name: env-config
key: POSTGRES_HOST
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: env-secret
key: POSTGRES_PASSWORD
- name: POSTGRES_USERNAME
valueFrom:
secretKeyRef:
name: env-secret
key: POSTGRES_USERNAME
volumeMounts:
- name: aws-secret
mountPath: "/root/.aws/"
readOnly: true
restartPolicy: Always
volumes:
- name: aws-secret
secret:
secretName: aws-secret
13 changes: 13 additions & 0 deletions deployment/backend-user-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
labels:
service: backend-user
name: backend-user
spec:
ports:
- name: "8080"
port: 8080
targetPort: 8080
selector:
app: backend-user
14 changes: 14 additions & 0 deletions deployment/env-configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: env-config
namespace: default
data:
POSTGRES_HOST: "database-1.cva3nzyd8arb.us-east-1.rds.amazonaws.com"
POSTGRES_DB : "postgres"
AWS_BUCKET: "udagram-p31"
AWS_REGION: "us-east-1"
AWS_PROFILE: "default"
JWT_SECRET: "JWT_SECRET_ramdom_eqwdasd"
NODE_OPTIONS: --max-old-space-size=1024
URL: "http://aba4c4097bebb43eb8c314983caa2e37-1627929286.us-east-1.elb.amazonaws.com:8080"
8 changes: 8 additions & 0 deletions deployment/env-secret.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: v1
kind: Secret
metadata:
name: env-secret
type: Opaque
data:
POSTGRES_USERNAME: cG9zdGdyZXM=
POSTGRES_PASSWORD: cXdlMTIzMTIz
31 changes: 31 additions & 0 deletions deployment/frontend-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
service: udagram-frontend
name: udagram-frontend
spec:
replicas: 1
selector:
matchLabels:
service: udagram-frontend
template:
metadata:
labels:
service: udagram-frontend
api: external
spec:
containers:
- image: trieunv/udagram-frontend:2.1
name: udagram-frontend
imagePullPolicy: Always
ports:
- containerPort: 80
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "1024Mi"
cpu: "500m"
restartPolicy: Always
13 changes: 13 additions & 0 deletions deployment/frontend-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: udagram-frontend
labels:
service: udagram-frontend
spec:
ports:
- port: 8100
targetPort: 80
protocol: TCP
selector:
service: udagram-frontend
30 changes: 30 additions & 0 deletions deployment/reverseproxy-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: udagram-reverseproxy
labels:
run: udagram-reverseproxy
spec:
replicas: 1
selector:
matchLabels:
app: udagram-reverseproxy
template:
metadata:
labels:
app: udagram-reverseproxy
spec:
containers:
- name: udagram-reverseproxy
image: trieunv/reverseproxy:v1
imagePullPolicy: Always
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "512Mi"
cpu: "500m"
ports:
- containerPort: 8080
restartPolicy: Always
12 changes: 12 additions & 0 deletions deployment/reverseproxy-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: udagram-reverseproxy
labels:
run: udagram-reverseproxy
spec:
ports:
- port: 80
protocol: TCP
selector:
run: udagram-reverseproxy
18 changes: 18 additions & 0 deletions docker-compose-build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
version: "3"
services:
reverseproxy:
build:
context: ./udagram-reverseproxy
image: reverseproxy
backend_user:
build:
context: ./udagram-api-user
image: udagram-api-user
backend_feed:
build:
context: ./udagram-api-feed
image: udagram-api-feed
frontend:
build:
context: ./udagram-frontend
image: udagram-frontend:local
Loading