blob: 5002e426be36800cb975cc3224c9d24651a22250 [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.
#
# replica count for dev
replicaCount: 1
imageTag: v0.18.1-beta3
#the common environments for all pods
envs:
TZ: "UTC"
mysql:
# if use external mysql server, please set true
# by default using false, chart will create a single mysql instance
useExternal: false
# the external mysql server address
externalServer: 127.0.0.1
# external mysql port
externalPort: 3306
# the username for devlake database
username: merico
# the password for devlake database
password: merico
# the database for devlake
database: lake
# root password for mysql, only used when use_external=false
rootPassword: admin
# storage for mysql
storage:
# pvc or hostpath
type: pvc
# the storage class for pv, leave empty will using default
class: ""
size: 50Gi
hostPath: /devlake/mysql/data
# image for mysql
image:
repository: mysql
tag: 8
pullPolicy: IfNotPresent
# resources config for mysql if have
resources: {}
# nodeSelector config for mysql if have
nodeSelector: {}
# tolerations config for mysql if have
tolerations: []
# affinity config for mysql if have
affinity: {}
extraLabels: {}
securityContext: {}
containerSecurityContext: {}
service:
type: "ClusterIP"
nodePort: ""
# pgsql:
# # if use external pgsql server, please set true
# # by default using false, chart will create a single pgsql instance
# useExternal: false
# # the external pgsql server address
# externalServer: 127.0.0.1
# # external pgsql port
# externalPort: 5432
# # the username for devlake database
# username: merico
# # the password for devlake database
# password: merico
# # the database for devlake
# database: lake
# # storage for pgsql
# storage:
# # the storage class for pv, leave empty will using default
# class: ""
# size: 5Gi
# # image for pgsql
# image:
# repository: postgres
# tag: 14.5
# pullPolicy: IfNotPresent
# # resources config for pgsql if have
# resources: {}
# # nodeSelector config for pgsql if have
# nodeSelector: {}
# # tolerations config for pgsql if have
# tolerations: []
# # affinity config for pgsql if have
# affinity: {}
# extraLabels: {}
# securityContext: {}
# containerSecurityContext: {}
# dependency chart values
grafana:
enabled: true
#if grafana enabled is false, then external url should be provided
external:
url: ""
image:
repository: devlake.docker.scarf.sh/apache/devlake-dashboard
tag: v0.18.1-beta3
grafana.ini:
server:
root_url: "%(protocol)s://%(domain)s/grafana"
#the secret name should be as same as .Values.option.connectionSecretName
envFromSecrets:
- name: "devlake-mysql-auth"
#keep grafana timezone same as other pods, which is set by .Values.envs.TZ
env:
TZ: "UTC"
lake:
image:
repository: devlake.docker.scarf.sh/apache/devlake
pullPolicy: Always
# defaults to imageTag; if set, lake.image.tag will override imageTag
# tag:
# storage for config
port: 8080
envs:
- name: API_TIMEOUT
value: "120s"
- name: API_RETRY
value: "3"
- name: API_REQUESTS_PER_HOUR
value: "10000"
- name: PIPELINE_MAX_PARALLEL
value: "1"
- name: IN_SECURE_SKIP_VERIFY
value: "false"
- name: LOGGING_DIR
value: "/app/logs"
# debug, info, warn, error
- name: LOGGING_LEVEL
value: "info"
encryptionSecret:
# The name of secret which contains keys named ENCRYPTION_SECRET
secretName: ""
# if secretName is empty, secret should be set
# you can generate the encryption secret via cmd `openssl rand -base64 2000 | tr -dc 'A-Z' | fold -w 128 | head -n 1`
secret: ""
autoCreateSecret: true
# If hostNetwork is true, then dnsPolicy is set to ClusterFirstWithHostNet
hostNetwork: false
resources: {}
nodeSelector: {}
tolerations: []
affinity: {}
extraLabels: {}
securityContext: {}
containerSecurityContext: {}
ui:
image:
repository: devlake.docker.scarf.sh/apache/devlake-config-ui
pullPolicy: Always
# defaults to imageTag; if set, lake.image.tag will override imageTag
# tag:
resources: {}
nodeSelector: {}
tolerations: []
affinity: {}
basicAuth:
enabled: false
user: admin
password: admin
autoCreateSecret: true
secretName: ""
extraLabels: {}
## SecurityContext holds pod-level security attributes and common container settings.
## This defaults to non root user with uid 101 and gid 1000. *v1.PodSecurityContext false
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
securityContext:
{}
# fsGroup: 101
# runAsGroup: 1000
# runAsNonRoot: true
# runAsUser: 101
## K8s containers' Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
containerSecurityContext:
{}
# allowPrivilegeEscalation: false
# capabilities:
# drop:
# - all
# alpine image for some init containers
alpine:
image:
repository: alpine
tag: 3.16
pullPolicy: IfNotPresent
service:
# service type: NodePort/ClusterIP
type: NodePort
# node port for devlake-ui if NodePort is enabled
uiPort: 32001
ingress:
enabled: false
enableHttps: false
# Set to false if you want to use a different ingress controller
useDefaultNginx: true
# ingress class name, example: alb for AWS load balancer controller
className:
# domain name for hosting devlake, must be set if ingress is enabled
hostname: localhost
# annotations required for your ingress controller; see the examples below
# for nginx, use the first two lines of annotations
# for alb (w/ external-dns), use the last 5 (6) lines of annotations
annotations:
{}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
#
# alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'
# alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-2:xxx:certificate/xxx-xxx-xxx
# alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}, {"HTTP":80}]'
# alb.ingress.kubernetes.io/scheme: internet-facing
# alb.ingress.kubernetes.io/target-type: ip
# external-dns.alpha.kubernetes.io/hostname: www.example.com
# url prefix, not works right now, keep "/"
prefix: /
# if using https provides the certificates secret name
tlsSecretName: ""
# ingress http port
httpPort: 80
# ingress https port
httpsPort: 443
option:
# database type, supported: [mysql]
database: mysql
# the existing k8s secret name of db connection auth. The secret name should be as same as .Values.grafana.envFromSecret
connectionSecretName: "devlake-mysql-auth"
autoCreateSecret: true