| --- |
| 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 |