blob: 982c05f2765edb2865ca926213c5fba7d5acf6b0 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
---
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: 4000
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: 4000
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