| --- |
| apiVersion: v1 |
| kind: Namespace |
| metadata: |
| name: devlake |
| |
| --- |
| apiVersion: v1 |
| kind: ConfigMap |
| metadata: |
| name: devlake-config |
| namespace: devlake |
| data: |
| ############# |
| # Lake core # |
| ############# |
| |
| # Lake plugin dir, absolute path or relative path |
| PLUGIN_DIR: bin/plugins |
| |
| # Lake Database Connection String |
| DB_URL: merico:merico@tcp(mysql:3306)/lake?charset=utf8mb4&parseTime=True |
| |
| # Lake REST API |
| PORT: :8080 |
| MODE: debug |
| |
| NOTIFICATION_ENDPOINT: "" |
| NOTIFICATION_SECRET: "" |
| |
| ######################## |
| # Docker configuration # |
| ######################## |
| |
| COMPOSE_PROFILES: "" |
| |
| ###################### |
| # Jira configuration # |
| ###################### |
| |
| # Jira configuration has been migrated into MySQL # |
| |
| ######################## |
| # Gitlab configuration # |
| ######################## |
| |
| GITLAB_ENDPOINT: https://gitlab.com/api/v4/ |
| GITLAB_AUTH: "" |
| |
| ########################## |
| # Jira <> Gitlab mapping # |
| ########################## |
| |
| # Lake maintains a many-to-many relationship between Jira boards and Gitlab projects |
| # Format: |
| # JIRA_BOARD_GITLAB_PROJECTS=JIRA_BOARD_ID1:GITLAB_PROJECT_ID1,PROJECT_ID2;JIRA_BOARD_ID2:... |
| JIRA_BOARD_GITLAB_PROJECTS: "" |
| |
| ######################### |
| # Jenkins configuration # |
| ######################### |
| |
| JENKINS_ENDPOINT: "" |
| JENKINS_USERNAME: "" |
| JENKINS_PASSWORD: "" |
| |
| ######################### |
| # Feishu configuration # |
| ######################### |
| |
| FEISHU_APPID: "" |
| FEISHU_APPSCRECT: "" |
| |
| ######################## |
| # GitHub configuration # |
| ######################## |
| |
| GITHUB_ENDPOINT: https://api.github.com/ |
| GITHUB_AUTH: '***' |
| GITHUB_PROXY: "" |
| # GITHUB_PR_TYPE: type/(.*)$ the program will extract the value in (), in this example, you will get "refactor" from "type/refactor" |
| GITHUB_PR_TYPE: 'type/(.*)$' |
| # GITHUB_PR_COMPONENT: component/(.*)$ the program will extract the value in (), in this example, you will get "plugins" from "component/plugins" |
| GITHUB_PR_COMPONENT: 'component/(.*)$' |
| # GITHUB_ISSUE_SEVERITY=severity/(.*)$ the program will extract the value in (), in this example, you will get "refactor" from "type/refactor" |
| GITHUB_ISSUE_SEVERITY: 'severity/(.*)$' |
| # GITHUB_ISSUE_COMPONENT=component/(.*)$ the program will extract the value in (), in this example, you will get "refactor" from "type/refactor" |
| GITHUB_ISSUE_COMPONENT: 'component/(.*)$' |
| GITHUB_ISSUE_PRIORITY: '^(highest|high|medium|low)$' |
| GITHUB_ISSUE_TYPE_BUG: '^(bug|failure|error)$' |
| GITHUB_ISSUE_TYPE_REQUIREMENT: '^(feat|feature|proposal|requirement)$' |
| GITHUB_ISSUE_TYPE_INCIDENT: "" |
| |
| ########################## |
| # ConfigUI configuration # |
| ########################## |
| DEVLAKE_ENDPOINT: devlake:8080 |
| GRAFANA_ENDPOINT: http://localhost:30002 |
| |
| ########################## |
| # AE (Merico-Analysis-Engine) configuration # |
| ########################## |
| AE_APP_ID: "" |
| AE_SECRET_KEY: "" |
| AE_ENDPOINT: "" |
| |
| env: | |
| ############# |
| # Lake core # |
| ############# |
| |
| # Lake plugin dir, absolute path or relative path |
| PLUGIN_DIR=bin/plugins |
| |
| # Lake Database Connection String |
| DB_URL=merico:merico@tcp(mysql:3306)/lake?charset=utf8mb4&parseTime=True |
| |
| # Lake REST API |
| PORT=:8080 |
| MODE=release |
| |
| NOTIFICATION_ENDPOINT= |
| NOTIFICATION_SECRET= |
| |
| ######################## |
| # Docker configuration # |
| ######################## |
| |
| COMPOSE_PROFILES=user |
| |
| ###################### |
| # Jira configuration # |
| ###################### |
| |
| # Jira configuration has been migrated into MySQL # |
| |
| ######################## |
| # Gitlab configuration # |
| ######################## |
| |
| GITLAB_ENDPOINT=https://gitlab.com/api/v4/ |
| GITLAB_AUTH= |
| |
| ########################## |
| # Jira <> Gitlab mapping # |
| ########################## |
| |
| # Lake maintains a many-to-many relationship between Jira boards and Gitlab projects |
| # Format: |
| # JIRA_BOARD_GITLAB_PROJECTS=JIRA_BOARD_ID1:GITLAB_PROJECT_ID1,PROJECT_ID2;JIRA_BOARD_ID2:... |
| JIRA_BOARD_GITLAB_PROJECTS= |
| |
| ######################### |
| # Jenkins configuration # |
| ######################### |
| |
| JENKINS_ENDPOINT= |
| JENKINS_USERNAME= |
| JENKINS_PASSWORD= |
| |
| ######################### |
| # Feishu configuration # |
| ######################### |
| |
| FEISHU_APPID= |
| FEISHU_APPSCRECT= |
| |
| ######################## |
| # GitHub configuration # |
| ######################## |
| |
| GITHUB_ENDPOINT=https://api.github.com/ |
| GITHUB_AUTH=*** |
| GITHUB_PROXY= |
| # GITHUB_PR_TYPE=type/(.*)$ the program will extract the value in (), in this example, you will get "refactor" from "type/refactor" |
| GITHUB_PR_TYPE='type/(.*)$' |
| # GITHUB_PR_COMPONENT=component/(.*)$ the program will extract the value in (), in this example, you will get "plugins" from "component/plugins" |
| GITHUB_PR_COMPONENT='component/(.*)$' |
| # GITHUB_ISSUE_SEVERITY=severity/(.*)$ the program will extract the value in (), in this example, you will get "refactor" from "type/refactor" |
| GITHUB_ISSUE_SEVERITY='severity/(.*)$' |
| # GITHUB_ISSUE_COMPONENT=component/(.*)$ the program will extract the value in (), in this example, you will get "refactor" from "type/refactor" |
| GITHUB_ISSUE_COMPONENT='component/(.*)$' |
| GITHUB_ISSUE_PRIORITY='^(highest|high|medium|low)$' |
| GITHUB_ISSUE_TYPE_BUG='^(bug|failure|error)$' |
| GITHUB_ISSUE_TYPE_REQUIREMENT='^(feat|feature|proposal|requirement)$' |
| GITHUB_ISSUE_TYPE_INCIDENT= |
| |
| ########################## |
| # ConfigUI configuration # |
| ########################## |
| DEVLAKE_ENDPOINT=devlake:8080 |
| GRAFANA_ENDPOINT=http://localhost:30002 |
| |
| ########################## |
| # AE (Merico-Analysis-Engine) configuration # |
| ########################## |
| AE_APP_ID= |
| AE_SECRET_KEY= |
| AE_ENDPOINT= |
| |
| --- |
| 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/mysql-server:latest |
| imagePullPolicy: IfNotPresent |
| ports: |
| - containerPort: 3306 |
| env: |
| - name: MYSQL_ROOT_PASSWORD |
| value: admin |
| - name: MYSQL_DATABASE |
| value: lake |
| - name: MYSQL_USER |
| value: merico |
| - name: MYSQL_PASSWORD |
| value: merico |
| 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:v0.7.0 |
| ports: |
| - containerPort: 3000 |
| env: |
| - name: GF_USERS_ALLOW_SIGN_UP |
| value: 'false' |
| - name: GF_DASHBOARDS_JSON_ENABLED |
| value: 'true' |
| - name: GF_INSTALL_PLUGINS |
| value: grafana-piechart-panel |
| - name: GF_LIVE_ALLOWED_ORIGINS |
| value: '*' |
| - name: MYSQL_URL |
| value: mysql:3306 |
| - name: MYSQL_DATABASE |
| value: lake |
| - name: merico |
| value: merico |
| |
| --- |
| 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:v0.7.0 |
| ports: |
| - containerPort: 80 |
| envFrom: |
| - configMapRef: |
| name: devlake-config |
| |
| --- |
| 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:v0.7.0 |
| ports: |
| - containerPort: 8080 |
| volumeMounts: |
| - name: config |
| mountPath: "/app/.env" |
| subPath: ".env" |
| volumes: |
| - name: config |
| configMap: |
| name: devlake-config |
| items: |
| - key: env |
| path: ".env" |
| |
| --- |
| apiVersion: v1 |
| kind: Service |
| metadata: |
| name: devlake |
| namespace: devlake |
| spec: |
| selector: |
| app: devlake |
| ports: |
| - protocol: TCP |
| port: 8080 |
| targetPort: 8080 |