blob: 0ed7911e5bf43cba3de388a552817b826624b20f [file] [log] [blame]
---
apiVersion: v1
kind: Namespace
metadata:
name: devlake
---
apiVersion: v1
kind: ConfigMap
metadata:
name: devlake-config
namespace: devlake
data:
MYSQL_USER: merico
MYSQL_PASSWORD: merico
MYSQL_DATABASE: lake
MYSQL_ROOT_PASSWORD: admin
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql
namespace: devlake
labels:
app: mysql
spec:
replicas: 1
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql:8.0.26
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3306
envFrom:
- configMapRef:
name: devlake-config
volumeMounts:
- mountPath: /var/lib/mysql
name: data
volumes:
- name: data
hostPath:
path: /var/lib/mysql
---
apiVersion: v1
kind: Service
metadata:
name: mysql
namespace: devlake
spec:
selector:
app: mysql
ports:
- protocol: TCP
port: 3306
targetPort: 3306
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: grafana
namespace: devlake
labels:
app: grafana
spec:
replicas: 1
selector:
matchLabels:
app: grafana
template:
metadata:
labels:
app: grafana
spec:
containers:
- name: grafana
image: mericodev/grafana:latest
ports:
- containerPort: 3000
envFrom:
- configMapRef:
name: devlake-config
env:
- name: GF_USERS_ALLOW_SIGN_UP
value: 'false'
- name: GF_DASHBOARDS_JSON_ENABLED
value: 'true'
- name: GF_LIVE_ALLOWED_ORIGINS
value: '*'
- name: MYSQL_URL
value: mysql:3306
---
apiVersion: v1
kind: Service
metadata:
name: grafana
namespace: devlake
spec:
type: NodePort
selector:
app: grafana
ports:
- protocol: TCP
port: 3000
targetPort: 3000
nodePort: 30002
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: config-ui
namespace: devlake
labels:
app: config-ui
spec:
replicas: 1
selector:
matchLabels:
app: config-ui
template:
metadata:
labels:
app: config-ui
spec:
containers:
- name: config-ui
image: mericodev/config-ui:latest
ports:
- containerPort: 80
envFrom:
- configMapRef:
name: devlake-config
env:
- name: DEVLAKE_ENDPOINT
value: devlake.devlake.svc.cluster.local:8080
- name: GRAFANA_ENDPOINT
value: http://grafana-on-yourdomain.example.com
#- name: ADMIN_USER
#value: devlake
#- name: ADMIN_PASS
#value: merico
---
apiVersion: v1
kind: Service
metadata:
name: config-ui
namespace: devlake
spec:
type: NodePort
selector:
app: config-ui
ports:
- protocol: TCP
port: 4000
targetPort: 80
nodePort: 30004
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: devlake
namespace: devlake
labels:
app: devlake
spec:
replicas: 1
selector:
matchLabels:
app: devlake
template:
metadata:
labels:
app: devlake
spec:
containers:
- name: devlake
image: mericodev/lake:latest
ports:
- containerPort: 8080
env:
- name: DB_URL
value: 'mysql://merico:merico@mysql:3306/lake?charset=utf8mb4&parseTime=True'
volumeMounts:
- name: config
mountPath: "/app/.env"
volumes:
- name: config
hostPath:
path: /var/lib/devlake/env
type: FileOrCreate
---
apiVersion: v1
kind: Service
metadata:
name: devlake
namespace: devlake
spec:
selector:
app: devlake
ports:
- protocol: TCP
port: 8080
targetPort: 8080