blob: 1cfd04a6b4c8974919b3a02048497fa3ca0ecd2d [file]
# 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.
#
#############
# Lake core #
#############
# Lake plugin dir, absolute path or relative path
PLUGIN_DIR=bin/plugins
REMOTE_PLUGIN_DIR=python/plugins
# Lake Database Connection String
DB_URL=mysql://merico:merico@mysql:3306/lake?charset=utf8mb4&parseTime=True&loc=UTC
E2E_DB_URL=mysql://merico:merico@mysql:3306/lake_test?charset=utf8mb4&parseTime=True&loc=UTC
# Silent Error Warn Info
DB_LOGGING_LEVEL=Error
# Skip to update progress of subtasks, default is false (#8142)
SKIP_SUBTASK_PROGRESS=false
# Lake REST API
PORT=8080
MODE=release
# PUSH_API_ALLOWED_TABLES=table1,table2
NOTIFICATION_ENDPOINT=
NOTIFICATION_SECRET=
API_TIMEOUT=120s
API_RETRY=3
API_REQUESTS_PER_HOUR=10000
PIPELINE_MAX_PARALLEL=1
# resume undone pipelines on start
RESUME_PIPELINES=true
# Debug Info Warn Error
LOGGING_LEVEL=
LOGGING_DIR=./logs
ENABLE_STACKTRACE=true
FORCE_MIGRATION=false
# Lake TAP API
TAP_PROPERTIES_DIR=
DISABLED_REMOTE_PLUGINS=
##########################
# Sensitive information encryption key
##########################
ENCRYPTION_SECRET=
##########################
# Security settings
##########################
# Set if skip verify and connect with out trusted certificate when use https
IN_SECURE_SKIP_VERIFY=false
# Forbid accessing sensity networks, CIDR form separated by comma: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
ENDPOINT_CIDR_BLACKLIST=
# Do not follow redirection when requesting data source APIs
FORBID_REDIRECTION=false
##########################
# Plugin settings
##########################
GITLAB_SERVER_COLLECT_ALL_USERS=true
##########################
# In plugin gitextractor, use go-git to collector repo's data
##########################
USE_GO_GIT_IN_GIT_EXTRACTOR=false
# NOTE that COMMIT_FILES is part of the COMMIT_STAT
SKIP_COMMIT_STAT=false
SKIP_COMMIT_FILES=true
# Set if response error when requesting /connections/{connection_id}/test should be wrapped or not
##########################
WRAP_RESPONSE_ERROR=
# Enable subtasks by default: plugin_name:subtask_name:enabled
ENABLE_SUBTASKS_BY_DEFAULT="jira:collectIssueChangelogs:true,jira:extractIssueChangelogs:true,jira:convertIssueChangelogs:true,tapd:collectBugChangelogs:true,tapd:extractBugChangelogs:true,tapd:convertBugChangelogs:true,zentao:collectBugRepoCommits:true,zentao:extractBugRepoCommits:true,zentao:convertBugRepoCommits:true,zentao:collectStoryRepoCommits:true,zentao:extractStoryRepoCommits:true,zentao:convertStoryRepoCommits:true,zentao:collectTaskRepoCommits:true,zentao:extractTaskRepoCommits:true,zentao:convertTaskRepoCommits:true"
##########################
# OIDC / Authentication
##########################
# Master switch. When false (default) DevLake behaves as before: API keys for
# /rest/* and trust X-Forwarded-User from an upstream proxy. Set true to
# require authentication on all non-whitelisted routes.
AUTH_ENABLED=false
# OIDC user login. Requires AUTH_ENABLED=true.
OIDC_ENABLED=false
# Comma-separated provider identifiers. Each name <NAME> binds to the env
# vars OIDC_<NAME>_ISSUER_URL, OIDC_<NAME>_CLIENT_ID, etc. Add a name and a
# matching block of vars to onboard another IdP.
# Example: OIDC_PROVIDERS=entra,google
OIDC_PROVIDERS=
# Per-provider config. Replicate the OIDC_ENTRA_* block under a different
# prefix for each name listed in OIDC_PROVIDERS.
# Microsoft Entra ID example: https://login.microsoftonline.com/<TENANT_ID>/v2.0
OIDC_ENTRA_ISSUER_URL=
OIDC_ENTRA_CLIENT_ID=
OIDC_ENTRA_CLIENT_SECRET=
# Must match the redirect URI registered with the IdP. The path is the same
# for every provider; the state cookie disambiguates which one comes back.
# Devcontainer dev: http://localhost:4000/api/auth/callback
OIDC_ENTRA_REDIRECT_URL=
# Comma-separated. `openid` is required.
OIDC_ENTRA_SCOPES=openid,profile,email
# Label rendered on the UI login button.
OIDC_ENTRA_DISPLAY_NAME=Entra ID
# Authenticate the code exchange with an Azure Workload Identity federated
# assertion (read from the SA token file injected by the workload-identity
# webhook) instead of OIDC_ENTRA_CLIENT_SECRET. Requires the pod label
# `azure.workload.identity/use: "true"` and a federated credential on the
# Entra App Registration. Entra-only.
OIDC_ENTRA_USE_WORKLOAD_IDENTITY=false
# Google example — create an OAuth 2.0 Web client at console.cloud.google.com
# (APIs & Services → Credentials). Configure the OAuth consent screen first
# and add yourself as a test user while the app is in Testing status.
OIDC_GOOGLE_ISSUER_URL=https://accounts.google.com
OIDC_GOOGLE_CLIENT_ID=
OIDC_GOOGLE_CLIENT_SECRET=
OIDC_GOOGLE_REDIRECT_URL=
OIDC_GOOGLE_SCOPES=openid,profile,email
OIDC_GOOGLE_DISPLAY_NAME=Google
# When true, /auth/logout returns the IdP's end_session_endpoint so the UI
# can also sign the user out at the IdP.
OIDC_LOGOUT_REDIRECT=false
# Required when AUTH_ENABLED=true. At least 32 bytes of high-entropy data.
# Used to sign session JWTs (HS256) and to derive the AES-GCM key that
# encrypts the OIDC state cookie. Rotating this invalidates all sessions.
SESSION_SECRET=
# How long a session cookie is valid. Format: any time.ParseDuration value.
SESSION_TTL=8h
# Leave empty for host-only cookies. Set when serving the API and UI from
# different subdomains of the same parent (e.g. .example.com).
COOKIE_DOMAIN=
# Set to false ONLY for local HTTP development.
COOKIE_SECURE=true