Skip to content
Merged
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: 2 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ services:
postgres:
image: postgres
container_name: postgres
ports:
- 5432:5432
restart: unless-stopped
networks:
- monitor
Expand Down
12 changes: 12 additions & 0 deletions k8s/db-data-persistentvolumeclaim.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
io.kompose.service: db-data
name: db-data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
40 changes: 40 additions & 0 deletions k8s/devtasker-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: devtasker
name: devtasker
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: devtasker
template:
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: devtasker
spec:
containers:
- envFrom:
- configMapRef:
name: devtasker-env
image: iqbalpa/go-devtasker:latest
livenessProbe:
exec:
command:
- curl
- -f
- http://localhost:3000/health
failureThreshold: 5
periodSeconds: 10
name: devtasker
ports:
- containerPort: 3000
protocol: TCP
restartPolicy: Always
13 changes: 13 additions & 0 deletions k8s/devtasker-env-configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: v1
data:
APP_ENV: dev
DB_HOST: postgres
DB_NAME: devtasker
DB_PASSWORD: iqbalpahlevi
DB_PORT: "5432"
DB_USER: postgres
kind: ConfigMap
metadata:
labels:
io.kompose.service: devtasker-devtasker-env
name: devtasker-env
16 changes: 16 additions & 0 deletions k8s/devtasker-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: devtasker
name: devtasker
spec:
ports:
- name: "3000"
port: 3000
targetPort: 3000
selector:
io.kompose.service: devtasker
17 changes: 17 additions & 0 deletions k8s/grafana-cm0-configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: v1
data:
datasource.yml: |
apiVersion: 1

datasources:
- name: Prometheus
type: prometheus
url: http://prometheus:9090
isDefault: true
access: proxy
editable: true
kind: ConfigMap
metadata:
labels:
io.kompose.service: grafana
name: grafana-cm0
12 changes: 12 additions & 0 deletions k8s/grafana-data-persistentvolumeclaim.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
io.kompose.service: grafana-data
name: grafana-data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
55 changes: 55 additions & 0 deletions k8s/grafana-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: grafana
name: grafana
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: grafana
strategy:
type: Recreate
template:
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: grafana
spec:
containers:
- envFrom:
- configMapRef:
name: grafana-env
image: grafana/grafana
livenessProbe:
exec:
command:
- wget
- --spider
- -q
- http://localhost:3001
failureThreshold: 5
periodSeconds: 10
name: grafana
ports:
- containerPort: 3001
protocol: TCP
volumeMounts:
- mountPath: /etc/grafana/provisioning/datasources
name: grafana-cm0
- mountPath: /grafana
name: grafana-data
restartPolicy: Always
volumes:
- configMap:
name: grafana-cm0
name: grafana-cm0
- name: grafana-data
persistentVolumeClaim:
claimName: grafana-data
10 changes: 10 additions & 0 deletions k8s/grafana-env-configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: v1
data:
GF_SECURITY_ADMIN_PASSWORD: grafana
GF_SECURITY_ADMIN_USER: admin
GF_SERVER_HTTP_PORT: "3001"
kind: ConfigMap
metadata:
labels:
io.kompose.service: grafana-grafana-env
name: grafana-env
18 changes: 18 additions & 0 deletions k8s/grafana-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: grafana
name: grafana
spec:
type: NodePort
ports:
- name: "3001"
port: 3001
targetPort: 3001
nodePort: 31001
selector:
io.kompose.service: grafana
10 changes: 10 additions & 0 deletions k8s/nginx-cm0-configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: v1
data:
default.conf: "# Limit each IP address can make 10 request/s\nlimit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;\n\nserver {\n listen 80;\n\n # Reverse proxy for devtasker, from localhost:3000/ to localhost/\n location / {\n proxy_pass http://devtasker:3000;\n proxy_set_header Host $host; \n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_redirect off;\n }\n\n # Apply the rate limiter for these endpoint and methods\n location /api/task {\n limit_req zone=mylimit burst=20;\n proxy_pass http://devtasker:3000;\n proxy_set_header Host $host; \n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_redirect off;\n \n }\n\n # Disable logging for /health\n location = /health {\n proxy_pass http://devtasker:3000;\n proxy_set_header Host $host; \n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_redirect off;\n access_log off;\n }\n}\n"
kind: ConfigMap
metadata:
annotations:
use-subpath: "true"
labels:
io.kompose.service: nginx
name: nginx-cm0
52 changes: 52 additions & 0 deletions k8s/nginx-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nginx
name: nginx
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: nginx
strategy:
type: Recreate
template:
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nginx
spec:
containers:
- image: nginx:alpine
livenessProbe:
exec:
command:
- wget
- --spider
- -q
- http://devtasker:3000/health
failureThreshold: 5
periodSeconds: 10
name: nginx
ports:
- containerPort: 80
protocol: TCP
volumeMounts:
- mountPath: /etc/nginx/conf.d/default.conf
name: nginx-cm0
readOnly: true
subPath: default.conf
restartPolicy: Always
volumes:
- configMap:
items:
- key: default.conf
path: default.conf
name: nginx-cm0
name: nginx-cm0
18 changes: 18 additions & 0 deletions k8s/nginx-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nginx
name: nginx
spec:
type: NodePort
ports:
- name: "80"
port: 80
targetPort: 80
nodePort: 31000
selector:
io.kompose.service: nginx
49 changes: 49 additions & 0 deletions k8s/postgres-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: postgres
name: postgres
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: postgres
strategy:
type: Recreate
template:
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: postgres
spec:
containers:
- envFrom:
- configMapRef:
name: postgres-env
image: postgres
livenessProbe:
exec:
command:
- pg_isready
- -U
- postgres
failureThreshold: 5
periodSeconds: 10
name: postgres
ports:
- containerPort: 5432
protocol: TCP
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: db-data
restartPolicy: Always
volumes:
- name: db-data
persistentVolumeClaim:
claimName: db-data
10 changes: 10 additions & 0 deletions k8s/postgres-env-configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: v1
data:
POSTGRES_DB: devtasker
POSTGRES_PASSWORD: iqbalpahlevi
POSTGRES_USER: postgres
kind: ConfigMap
metadata:
labels:
io.kompose.service: postgres-postgres-env
name: postgres-env
16 changes: 16 additions & 0 deletions k8s/postgres-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: postgres
name: postgres
spec:
ports:
- name: "5432"
port: 5432
targetPort: 5432
selector:
io.kompose.service: postgres
12 changes: 12 additions & 0 deletions k8s/prom-data-persistentvolumeclaim.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
io.kompose.service: prom-data
name: prom-data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
Loading