Skip to content

delete readme #42

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

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
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
2 changes: 0 additions & 2 deletions README.md

This file was deleted.

Binary file added Screenshot_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
40 changes: 40 additions & 0 deletions kubernetes/backend/karsajobs-deployment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
apiVersion: apps/v1 # versi API Kubernetes yang digunakan
kind: Deployment # jenis resource yang dibuat, yaitu Deployment
metadata: # informasi untuk mengidentifikasi objek
labels: # label untuk menandai dan mengelompokkan objek
app: karsajobs-be
tier: backend
name: karsajobs-be # nama untuk Deployment ini
spec: # spesifikasi untuk Deployment
replicas: 1 # jumlah replika Pod yang akan dibuat
selector: # menghubungkan Deployment dengan Pod berdasarkan label tertentu
matchLabels:
app: karsajobs-be
tier: backend
template: # template untuk membuat Pod yang akan dikelola oleh Deployment
metadata: # informasi untuk mengidentifikasi Pod
labels: # label untuk menandai Pod
app: karsajobs-be
tier: backend
spec: # spesifikasi untuk Pod
containers: # konfigurasi untuk kontainer dalam Pod
- name: karsajobs # nama kontainer dalam Pod
image: ghcr.io/rzlpratama77/karsajobs:latest # image Docker yang akan digunakan
imagePullPolicy: IfNotPresent # atur untuk mengambil image hanya jika belum ada di lokal
ports: # port yang digunakan oleh kontainer
- containerPort: 8080
env: # definisi variabel lingkungan (environment variables) yang digunakan
- name: APP_PORT # variabel APP_PORT dengan nilai 8080
value: "8080"
- name: MONGO_HOST # variabel MONGO_HOST dengan nilai yang menunjuk ke MongoDB Service
value: karsajobs-mongodb
- name: MONGO_USER # variabel MONGO_USER dengan nilai dari Secret MongoDB (MONGO_ROOT_USERNAME)
valueFrom:
secretKeyRef:
name: karsajobs-mongodb-secret
key: MONGO_ROOT_USERNAME
- name: MONGO_PASS # variabel MONGO_PASS dengan nilai dari Secret MongoDB (MONGO_ROOT_PASSWORD)
valueFrom:
secretKeyRef:
name: karsajobs-mongodb-secret
key: MONGO_ROOT_PASSWORD
15 changes: 15 additions & 0 deletions kubernetes/backend/karsajobs-service.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: v1 # versi Kubernetes API yang digunakan
kind: Service # jenis resource yang dibuat, yaitu Service
metadata: # informasi untuk mengidentifikasi objek
labels: # label untuk menandai dan mengelompokkan objek
app: karsajobs-be
tier: backend
name: karsajobs-be # nama untuk Service ini
spec: # spesifikasi untuk Service yang akan dibuat
ports: # konfigurasi port yang akan digunakan
- port: 8080 # port yang digunakan di dalam Cluster
nodePort: 30011 # port yang akan diakses dari luar Cluster
selector: # menghubungkan Service dengan Pod berdasarkan label
app: karsajobs-be
tier: backend
type: NodePort # tipe Service NodePort, agar bisa diakses dari luar Cluster melalui port Node
28 changes: 28 additions & 0 deletions kubernetes/frontend/karsajobs-ui-deployment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
apiVersion: apps/v1 # versi API Kubernetes yang digunakan
kind: Deployment # jenis resource yang dibuat, yaitu Deployment
metadata: # informasi untuk mengidentifikasi objek
labels: # label untuk menandai dan mengelompokkan objek
app: karsajobs-ui
tier: frontend
name: karsajobs-ui # nama untuk Deployment ini
spec: # spesifikasi untuk Deployment
replicas: 1 # jumlah replika Pod yang akan dibuat
selector: # menghubungkan Deployment dengan Pod berdasarkan label tertentu
matchLabels:
app: karsajobs-ui
tier: frontend
template: # template untuk membuat Pod yang akan dikelola oleh Deployment
metadata: # informasi untuk mengidentifikasi Pod
labels: # label untuk menandai Pod
app: karsajobs-ui
tier: frontend
spec: # spesifikasi untuk Pod
containers: # konfigurasi untuk kontainer dalam Pod
- name: karsajobs-ui # nama kontainer dalam Pod
image: ghcr.io/rzlpratama77/karsajobs-ui:latest # image Docker yang akan digunakan
imagePullPolicy: IfNotPresent # atur untuk mengambil image hanya jika belum ada di lokal
ports: # port yang digunakan oleh kontainer
- containerPort: 8000
env: # definisi variabel lingkungan (environment variables) yang digunakan
- name: VUE_APP_BACKEND
value: "http://108.137.48.197:30011" # alamat IP dan port Node dari aplikasi backend
15 changes: 15 additions & 0 deletions kubernetes/frontend/karsajobs-ui-service.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: v1 # versi API Kubernetes yang digunakan
kind: Service # jenis resource yang dibuat, yaitu Service
metadata: # informasi untuk mengidentifikasi objek
labels: # label untuk menandai dan mengelompokkan objek
app: karsajobs-ui
tier: frontend
name: karsajobs-ui # nama untuk Service ini
spec: # spesifikasi untuk Service yang akan dibuat
ports: # konfigurasi port yang akan diekspos
- port: 8000 # port yang digunakan di dalam Cluster
nodePort: 30010 # port yang akan diakses dari luar Cluster
selector: # menghubungkan Service dengan Pod berdasarkan label tertentu
app: karsajobs-ui
tier: frontend
type: NodePort # tipe NodePort, agar dapat diakses dari luar Cluster melalui port pada setiap Node
8 changes: 8 additions & 0 deletions kubernetes/mongodb/mongo-configmap.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: v1 # versi API Kubernetes yang digunakan
kind: ConfigMap # jenis resource yang dibuat, yaitu ConfigMap
metadata: # informasi untuk mengidentifikasi objek
name: karsajobs-mongodb-config # nama untuk ConfigMap ini
data: # data yang disimpan oleh ConfigMap, berisi konfigurasi penyimpanan database MongoDB
mongo.conf: |
storage:
dbPath: /data/db # lokasi penyimpanan data MongoDB
26 changes: 26 additions & 0 deletions kubernetes/mongodb/mongo-pv-pvc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
apiVersion: v1 # versi API Kubernetes yang digunakan
kind: PersistentVolume # jenis resource yang dibuat, yaitu PersistentVolume
metadata: # informasi untuk mengidentifikasi objek
name: karsajobs-mongodb-pv # nama untuk PersistentVolume ini
labels: # label untuk menandai dan mengelompokkan objek
type: local # tipe volume lokal
spec: # spesifikasi untuk PersistentVolume
storageClassName: manual # nama storage class yang digunakan adalah 'manual'
capacity: # kapasitas penyimpanan yang disediakan, yaitu 1 GB
storage: 1Gi
accessModes: # mode akses baca-tulis hanya satu Node pada satu waktu
- ReadWriteOnce
hostPath: # lokasi direktori pada host yang digunakan sebagai volume
path: /mnt/data
---
apiVersion: v1 # versi API Kubernetes yang digunakan
kind: PersistentVolumeClaim # jenis resource yang dibuat, yaitu PersistentVolumeClaim
metadata: # informasi untuk mengidentifikasi objek
name: karsajobs-mongodb-pvc # nama untuk PersistentVolumeClaim ini
spec: # spesifikasi untuk PersistentVolumeClaim
storageClassName: manual # nama storage class yang digunakan adalah 'manual'
accessModes: # mode akses baca-tulis hanya satu Node pada satu waktu
- ReadWriteOnce
resources: # spesifikasi sumber daya yang dibutuhkan
requests: # permintaan kapasitas penyimpanan
storage: 1Gi # meminta ruang penyimpanan sebesar 1 GB
7 changes: 7 additions & 0 deletions kubernetes/mongodb/mongo-secret.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: v1 # versi API Kubernetes yang digunakan
kind: Secret # jenis resource yang dibuat, yaitu Secret
metadata: # informasi untuk mengidentifikasi objek
name: karsajobs-mongodb-secret # nama untuk Secret ini
data: # data yang disimpan di Secret, nilainya dalam format base64
MONGO_ROOT_USERNAME: YWRtaW4NCg== # username untuk MongoDB (dienkripsi base64)
MONGO_ROOT_PASSWORD: c3VwZXJzZWNyZXRwYXNzd29yZA== # password untuk MongoDB (dienkripsi base64)
14 changes: 14 additions & 0 deletions kubernetes/mongodb/mongo-service.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: v1 # versi API Kubernetes yang digunakan
kind: Service # jenis resource yang dibuat, yaitu Service
metadata: # informasi untuk mengidentifikasi objek
name: karsajobs-mongodb # nama untuk Service ini
labels: # label untuk menandai dan mengelompokkan objek
app: karsajobs-mongodb
tier: database
spec: # spesifikasi untuk Service
clusterIP: None # membuat headless service sehingga tidak mengalokasikan IP di dalam Cluster
selector: # menghubungkan Service dengan Pod yang memiliki label tertentu
app: karsajobs-mongodb
tier: database
ports: # konfigurasi port yang akan diekspos oleh Service
- port: 27017 # port yang digunakan di dalam Cluster
53 changes: 53 additions & 0 deletions kubernetes/mongodb/mongo-statefulset.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
apiVersion: apps/v1 # versi API Kubernetes yang digunakan
kind: StatefulSet # jenis resource yang dibuat, yaitu StatefulSet
metadata: # informasi untuk mengidentifikasi objek
name: karsajobs-mongodb # nama untuk StatefulSet ini
labels: # label untuk menandai dan mengelompokkan objek
app: karsajobs-mongodb
tier: database
spec: # spesifikasi untuk StatefulSet
serviceName: karsajobs-mongodb # nama Service yang digunakan oleh StatefulSet
replicas: 1 # jumlah replika Pod yang akan dibuat
minReadySeconds: 10 # waktu minimum yang diperlukan agar Pod dianggap siap, yaitu 10 detik
selector: # menghubungkan StatefulSet dengan Pod berdasarkan label tertentu
matchLabels:
app: karsajobs-mongodb
tier: database
template: # template untuk membuat Pod yang dikelola oleh StatefulSet
metadata: # informasi untuk mengidentifikasi Pod
labels: # label untuk menandai Pod
app: karsajobs-mongodb
tier: database
spec: # spesifikasi untuk Pod
terminationGracePeriodSeconds: 10 # waktu tenggang sebelum menghentikan Pod, yaitu 10 detik
containers: # konfigurasi untuk kontainer dalam Pod
- name: mongo # nama kontainer dalam Pod
image: mongo:latest # image Docker yang digunakan untuk kontainer
imagePullPolicy: IfNotPresent # mengatur agar image hanya di-pull jika belum ada di lokal
ports: # port yang digunakan oleh kontainer
- containerPort: 27017
env: # mendefinisikan variabel lingkungan yang digunakan
- name: MONGO_INITDB_ROOT_USERNAME_FILE
value: /etc/mongo-credentials/MONGO_ROOT_USERNAME
- name: MONGO_INITDB_ROOT_PASSWORD_FILE
value: /etc/mongo-credentials/MONGO_ROOT_PASSWORD
volumeMounts: # mengatur volume mount dan jalur tempat mount
- name: mongo-persist-vol
mountPath: /data/db
- name: mongo-config-vol
mountPath: /config
- name: mongo-secret-vol
mountPath: /etc/mongo-credentials
volumes: # mengatur volume penyimpanan data yang digunakan oleh Pod
- name: mongo-persist-vol
persistentVolumeClaim:
claimName: karsajobs-mongodb-pvc # nama PersistentVolumeClaim yang digunakan
- name: mongo-config-vol
configMap:
name: karsajobs-mongodb-config # nama ConfigMap yang digunakan
items:
- key: mongo.conf
path: mongo.conf
- name: mongo-secret-vol
secret:
secretName: karsajobs-mongodb-secret # nama Secret yang digunakan
8 changes: 8 additions & 0 deletions link.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
link github hasil fork
https://github.com/rzlpratama77/a433-microservices

link package karsajobs backend
https://github.com/users/rzlpratama77/packages/container/package/karsajobs

link package karsajobs frontend
https://github.com/users/rzlpratama77/packages/container/package/karsajobs-ui
Binary file added monitoring.txt
Binary file not shown.