Compare commits
63 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
3a6ec217be | |
|
|
2691002d06 | |
|
|
1415932804 | |
|
|
3739bd0ff7 | |
|
|
c56aabd2d1 | |
|
|
d1b58f8374 | |
|
|
abf47f513a | |
|
|
a5617e614c | |
|
|
48d58ecf84 | |
|
|
470b1d9c2a | |
|
|
329c97bc0d | |
|
|
5de01b166d | |
|
|
17f19ce721 | |
|
|
e46d0104a3 | |
|
|
f4a74d5aa0 | |
|
|
4da1d53d52 | |
|
|
584a353c56 | |
|
|
5561027ee2 | |
|
|
640826efc9 | |
|
|
d644188da7 | |
|
|
c8cb24900f | |
|
|
75ce77e892 | |
|
|
0bf7f65564 | |
|
|
3a06e57946 | |
|
|
e969e5830a | |
|
|
1a8c1b4614 | |
|
|
f90860920f | |
|
|
38326cadcd | |
|
|
4c7b45d0af | |
|
|
84ef652123 | |
|
|
86fae25fb1 | |
|
|
1328e64589 | |
|
|
13a8e45a3e | |
|
|
7f1e8253a0 | |
|
|
ba755951f3 | |
|
|
95cfaf5250 | |
|
|
64bd5a50a3 | |
|
|
575dfd855b | |
|
|
c5c60af433 | |
|
|
b6865c2e01 | |
|
|
4cc9452a82 | |
|
|
16b69a6db3 | |
|
|
c63fdc6dc6 | |
|
|
d44236914d | |
|
|
b90d0c7ced | |
|
|
2c3fd877d8 | |
|
|
b380f4a529 | |
|
|
1f7380765a | |
|
|
09baa0d1d9 | |
|
|
f41181ccb0 | |
|
|
e35240e803 | |
|
|
88c57328c7 | |
|
|
fb5416d350 | |
|
|
e4e4ead786 | |
|
|
4ec8fc9f2a | |
|
|
cc1c380b90 | |
|
|
ae99bdac3e | |
|
|
be815a5fef | |
|
|
e5fbcfa8af | |
|
|
4e03a7b964 | |
|
|
69eeb5663b | |
|
|
6662ec7e9e | |
|
|
c7b618549d |
|
|
@ -2,7 +2,7 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: backend-app-syifa
|
name: backend-app-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
|
|
@ -58,12 +58,11 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: backend-app-syifa
|
name: backend-app-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
selector:
|
selector:
|
||||||
app: backend-datasiswa
|
app: backend-datasiswa
|
||||||
ports:
|
ports:
|
||||||
- port: 5000
|
- port: 5000
|
||||||
targetPort: 5000
|
targetPort: 5000
|
||||||
|
|
||||||
|
|
@ -2,8 +2,7 @@ apiVersion: v1
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
name: backend-config-syifa
|
name: backend-config-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
data:
|
data:
|
||||||
DB_HOST: "mysql-app-syifa"
|
DB_HOST: "mysql-app-syifa"
|
||||||
DB_NAME: "datasiswa"
|
DB_NAME: "datasiswa"
|
||||||
|
|
||||||
|
|
@ -2,7 +2,7 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: frontend-app-syifa
|
name: frontend-app-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
|
|
@ -56,7 +56,7 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: frontend-app-syifa
|
name: frontend-app-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
spec:
|
spec:
|
||||||
type: NodePort
|
type: NodePort
|
||||||
selector:
|
selector:
|
||||||
|
|
@ -64,6 +64,5 @@ spec:
|
||||||
ports:
|
ports:
|
||||||
- port: 3000
|
- port: 3000
|
||||||
targetPort: 3000
|
targetPort: 3000
|
||||||
nodePort: 30067
|
nodePort: 30068
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
|
|
||||||
namespace: intern-workspace
|
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
- backend-deployment.yaml
|
- backend-deployment.yaml
|
||||||
- frontend-deployment.yaml
|
- frontend-deployment.yaml
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ apiVersion: v1
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
metadata:
|
||||||
name: mysql-pvc-syifa
|
name: mysql-pvc-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
|
@ -15,7 +15,7 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: mysql-app-syifa
|
name: mysql-app-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
|
|
@ -64,12 +64,11 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: mysql-app-syifa
|
name: mysql-app-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
selector:
|
selector:
|
||||||
app: mysql-datasiswa
|
app: mysql-datasiswa
|
||||||
ports:
|
ports:
|
||||||
- port: 3306
|
- port: 3306
|
||||||
targetPort: 3306
|
targetPort: 3306
|
||||||
|
|
||||||
|
|
@ -2,7 +2,7 @@ apiVersion: networking.k8s.io/v1
|
||||||
kind: NetworkPolicy
|
kind: NetworkPolicy
|
||||||
metadata:
|
metadata:
|
||||||
name: allow-frontend-to-backend
|
name: allow-frontend-to-backend
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
spec:
|
spec:
|
||||||
podSelector:
|
podSelector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
|
@ -22,7 +22,7 @@ apiVersion: networking.k8s.io/v1
|
||||||
kind: NetworkPolicy
|
kind: NetworkPolicy
|
||||||
metadata:
|
metadata:
|
||||||
name: allow-backend-to-mysql
|
name: allow-backend-to-mysql
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
spec:
|
spec:
|
||||||
podSelector:
|
podSelector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
|
@ -51,7 +51,7 @@ apiVersion: networking.k8s.io/v1
|
||||||
kind: NetworkPolicy
|
kind: NetworkPolicy
|
||||||
metadata:
|
metadata:
|
||||||
name: allow-backend-egress
|
name: allow-backend-egress
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
spec:
|
spec:
|
||||||
podSelector:
|
podSelector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
|
@ -78,7 +78,7 @@ apiVersion: networking.k8s.io/v1
|
||||||
kind: NetworkPolicy
|
kind: NetworkPolicy
|
||||||
metadata:
|
metadata:
|
||||||
name: allow-frontend-egress
|
name: allow-frontend-egress
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
spec:
|
spec:
|
||||||
podSelector:
|
podSelector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
|
|
@ -99,6 +99,4 @@ spec:
|
||||||
- namespaceSelector: {}
|
- namespaceSelector: {}
|
||||||
ports:
|
ports:
|
||||||
- protocol: UDP
|
- protocol: UDP
|
||||||
port: 53
|
port: 53
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -5,13 +5,13 @@ apiVersion: v1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
name: frontend-sa-syifa
|
name: frontend-sa-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
---
|
---
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
name: frontend-role-syifa
|
name: frontend-role-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
rules:
|
rules:
|
||||||
# Frontend boleh baca Service (buat resolve endpoint backend)
|
# Frontend boleh baca Service (buat resolve endpoint backend)
|
||||||
- apiGroups: [""]
|
- apiGroups: [""]
|
||||||
|
|
@ -22,11 +22,11 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: RoleBinding
|
kind: RoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
name: frontend-rolebinding-syifa
|
name: frontend-rolebinding-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
subjects:
|
subjects:
|
||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
name: frontend-sa-syifa
|
name: frontend-sa-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
roleRef:
|
roleRef:
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
kind: Role
|
kind: Role
|
||||||
|
|
@ -40,13 +40,13 @@ apiVersion: v1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
name: backend-sa-syifa
|
name: backend-sa-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
---
|
---
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
name: backend-role-syifa
|
name: backend-role-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
rules:
|
rules:
|
||||||
# Backend boleh baca ConfigMap dan Secret (buat env)
|
# Backend boleh baca ConfigMap dan Secret (buat env)
|
||||||
- apiGroups: [""]
|
- apiGroups: [""]
|
||||||
|
|
@ -61,11 +61,11 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: RoleBinding
|
kind: RoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
name: backend-rolebinding-syifa
|
name: backend-rolebinding-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
subjects:
|
subjects:
|
||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
name: backend-sa-syifa
|
name: backend-sa-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
roleRef:
|
roleRef:
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
kind: Role
|
kind: Role
|
||||||
|
|
@ -79,13 +79,13 @@ apiVersion: v1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
name: mysql-sa-syifa
|
name: mysql-sa-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
---
|
---
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
name: mysql-role-syifa
|
name: mysql-role-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
rules:
|
rules:
|
||||||
- apiGroups: [""]
|
- apiGroups: [""]
|
||||||
resources: ["configmaps", "secrets"]
|
resources: ["configmaps", "secrets"]
|
||||||
|
|
@ -95,13 +95,12 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: RoleBinding
|
kind: RoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
name: mysql-rolebinding-syifa
|
name: mysql-rolebinding-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
subjects:
|
subjects:
|
||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
name: mysql-sa-syifa
|
name: mysql-sa-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
roleRef:
|
roleRef:
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
kind: Role
|
kind: Role
|
||||||
name: mysql-role-syifa
|
name: mysql-role-syifa
|
||||||
|
|
||||||
|
|
@ -2,9 +2,8 @@ apiVersion: v1
|
||||||
kind: Secret
|
kind: Secret
|
||||||
metadata:
|
metadata:
|
||||||
name: backend-secret-syifa
|
name: backend-secret-syifa
|
||||||
namespace: intern-workspace
|
#namespace: intern-workspace
|
||||||
type: Opaque
|
type: Opaque
|
||||||
data:
|
data:
|
||||||
DB_USER: cm9vdA== # hasil base64 dari "root"
|
DB_USER: cm9vdA== # hasil base64 dari "root"
|
||||||
DB_PASSWORD: "" # kosong, tetap valid
|
DB_PASSWORD: "" # kosong, tetap valid
|
||||||
|
|
||||||
|
|
@ -1,18 +1,14 @@
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
|
|
||||||
# Referensi ke base
|
namePrefix: dev-
|
||||||
|
|
||||||
|
labels:
|
||||||
|
- pairs:
|
||||||
|
environment: dev
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
- ../../k8s
|
- ../../k8s
|
||||||
|
|
||||||
# Namespace & prefix untuk semua resource
|
|
||||||
namespace: intern-workspace
|
|
||||||
namePrefix: dev-
|
|
||||||
|
|
||||||
# Label tambahan untuk menandai environment
|
|
||||||
commonLabels:
|
|
||||||
environment: dev
|
|
||||||
|
|
||||||
# Gabungkan patch deployment kamu
|
|
||||||
patchesStrategicMerge:
|
patchesStrategicMerge:
|
||||||
- patch-deployment.yaml
|
- patch-deployment.yaml
|
||||||
|
|
@ -1,29 +1,42 @@
|
||||||
# ==========================
|
# ==========================
|
||||||
# BACKEND PATCH
|
# PATCH DEPLOYMENT BACKEND
|
||||||
# ==========================
|
# ==========================
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: backend-app-syifa
|
name: backend-app-syifa
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
|
||||||
template:
|
template:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: backend
|
- name: backend
|
||||||
image: docker.io/syifamaulidya/backend-app:13 # <-- Jenkins nanti ganti otomatis ke vX
|
image: docker.io/syifamaulidya/backend-app:23
|
||||||
|
env:
|
||||||
|
- name: DB_HOST
|
||||||
|
value: "dev-mysql-app-syifa"
|
||||||
|
- name: DB_NAME
|
||||||
|
value: "datasiswa"
|
||||||
|
envFrom:
|
||||||
|
- configMapRef:
|
||||||
|
name: dev-backend-config-syifa
|
||||||
|
- secretRef:
|
||||||
|
name: dev-backend-secret-syifa
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# ==========================
|
# ==========================
|
||||||
# FRONTEND PATCH
|
# PATCH DEPLOYMENT FRONTEND
|
||||||
# ==========================
|
# ==========================
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: frontend-app-syifa
|
name: frontend-app-syifa
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
|
||||||
template:
|
template:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: frontend
|
- name: frontend
|
||||||
image: docker.io/syifamaulidya/frontend-app:13 # <-- Jenkins juga ganti otomatis
|
image: docker.io/syifamaulidya/frontend-app:23
|
||||||
|
env:
|
||||||
|
- name: REACT_APP_API_URL
|
||||||
|
value: "http://dev-backend-app-syifa:5000/api/auth/login"
|
||||||
|
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
|
|
||||||
resources:
|
|
||||||
- ../../k8s
|
|
||||||
|
|
||||||
namespace: intern-workspace
|
|
||||||
namePrefix: prod-
|
|
||||||
commonLabels:
|
|
||||||
environment: production
|
|
||||||
|
|
||||||
patchesStrategicMerge:
|
|
||||||
- patch-deployment.yaml
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
# ==========================
|
|
||||||
# BACKEND PATCH
|
|
||||||
# ==========================
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: backend-app-syifa
|
|
||||||
spec:
|
|
||||||
replicas: 3
|
|
||||||
template:
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: backend
|
|
||||||
image: docker.io/syifamaulidya/backend-app:11 # <-- Jenkins nanti ganti otomatis ke vX
|
|
||||||
---
|
|
||||||
# ==========================
|
|
||||||
# FRONTEND PATCH
|
|
||||||
# ==========================
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: frontend-app-syifa
|
|
||||||
spec:
|
|
||||||
replicas: 3
|
|
||||||
template:
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: frontend
|
|
||||||
image: docker.io/syifamaulidya/frontend-app:11 # <-- Jenkins juga ganti otomatis
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
|
|
||||||
resources:
|
|
||||||
- ../../k8s
|
|
||||||
|
|
||||||
namespace: intern-workspace
|
|
||||||
namePrefix: staging-
|
|
||||||
commonLabels:
|
|
||||||
environment: staging
|
|
||||||
|
|
||||||
patchesStrategicMerge:
|
|
||||||
- patch-deployment.yaml
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
# ==========================
|
|
||||||
# BACKEND PATCH
|
|
||||||
# ==========================
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: backend-app-syifa
|
|
||||||
spec:
|
|
||||||
replicas: 2
|
|
||||||
template:
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: backend
|
|
||||||
image: docker.io/syifamaulidya/backend-app:10 # <-- Jenkins nanti ganti otomatis ke vX
|
|
||||||
---
|
|
||||||
# ==========================
|
|
||||||
# FRONTEND PATCH
|
|
||||||
# ==========================
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: frontend-app-syifa
|
|
||||||
spec:
|
|
||||||
replicas: 2
|
|
||||||
template:
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: frontend
|
|
||||||
image: docker.io/syifamaulidya/frontend-app:10 # <-- Jenkins juga ganti otomatis
|
|
||||||
Loading…
Reference in New Issue