diff --git a/.actions/ASF-Release.cfg b/.actions/ASF-Release.cfg
index 1ac4118465..c01fff2f8e 100644
--- a/.actions/ASF-Release.cfg
+++ b/.actions/ASF-Release.cfg
@@ -68,16 +68,16 @@ ASFLicenseHeaderLua.txt
.tox
# Skip files containing MIT License
-scripts/verifyCommit.js
-src/components/HeaderDropdown/index.less
-src/components/HeaderDropdown/index.tsx
-src/components/NoticeIcon
-src/components/PageLoading/index.tsx
-src/components/RightContent
-src/e2e/__mocks__/antd-pro-merge-less.js
-src/e2e/baseLayout.e2e.js
-src/pages/404.tsx
-src/service-worker.js
+frontend/scripts/verifyCommit.js
+frontend/src/components/HeaderDropdown/index.less
+frontend/src/components/HeaderDropdown/index.tsx
+frontend/src/components/NoticeIcon
+frontend/src/components/PageLoading/index.tsx
+frontend/src/components/RightContent
+frontend/src/e2e/__mocks__/antd-pro-merge-less.js
+frontend/src/e2e/baseLayout.e2e.js
+frontend/src/pages/404.tsx
+frontend/src/service-worker.js
api/build-tools/json.lua
# Skip files containing Apache 2.0 License
diff --git a/.asf.yaml b/.asf.yaml
index b2617d954d..59b805a875 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -24,7 +24,6 @@ github:
- api-management
- apisix
- devops
- - docker
enabled_merge_buttons:
squash: true
diff --git a/.dockerignore b/.dockerignore
deleted file mode 100644
index 3c3629e647..0000000000
--- a/.dockerignore
+++ /dev/null
@@ -1 +0,0 @@
-node_modules
diff --git a/.github/workflows/deploy-api.yml b/.github/workflows/deploy-api.yml
deleted file mode 100644
index 823e81e675..0000000000
--- a/.github/workflows/deploy-api.yml
+++ /dev/null
@@ -1,60 +0,0 @@
-name: Deploy API to Azure
-
-on:
- push:
- branches:
- - master
-
-jobs:
- build:
- runs-on: ubuntu-latest
-
- services:
- etcd:
- image: bitnami/etcd:3.3.13-r80
- ports:
- - 2379:2379
- - 2380:2380
- env:
- ALLOW_NONE_AUTHENTICATION: yes
-
- steps:
- - uses: actions/checkout@v2
-
- - name: license check
- run: |
- make license-check
-
- - name: get lua lib
- run: |
- wget https://github.com/api7/dag-to-lua/archive/v1.1.tar.gz
- sudo mkdir -p /go/manager-api/dag-to-lua/
- tar -zxvf v1.1.tar.gz
- sudo mv ./dag-to-lua-1.1/lib/* /go/manager-api/dag-to-lua/
-
- - name: install runtime
- run: |
- sudo apt-get update
- sudo apt-get install lua5.1
- sudo add-apt-repository ppa:longsleep/golang-backports
- sudo apt update
- export GO111MOUDULE=on
- sudo apt install golang-1.14-go
-
- - name: run test
- working-directory: ./api
- run: |
- export APIX_ETCD_ENDPOINTS=127.0.0.1:2379
- go test ./...
-
- - uses: Azure/docker-login@v1
- with:
- login-server: apisixacr.azurecr.cn
- username: ${{ secrets.REGISTRY_USERNAME }}
- password: ${{ secrets.REGISTRY_PASSWORD }}
-
- - name: build and push docker image
- working-directory: ./api
- run: |
- docker build . -t apisixacr.azurecr.cn/managerapi:${{ github.sha }}
- docker push apisixacr.azurecr.cn/managerapi:${{ github.sha }}
diff --git a/.github/workflows/deploy-frontend.yml b/.github/workflows/deploy-frontend.yml
deleted file mode 100644
index 9998d507e9..0000000000
--- a/.github/workflows/deploy-frontend.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-name: Deploy frontend to Azure
-
-on:
- push:
- branches: [master]
-
-jobs:
- build:
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v2
-
- - uses: Azure/docker-login@v1
- with:
- login-server: apisixacr.azurecr.cn
- username: ${{ secrets.REGISTRY_USERNAME }}
- password: ${{ secrets.REGISTRY_PASSWORD }}
-
- - run: |
- docker build . -t apisixacr.azurecr.cn/dashboard:${{ github.sha }}
- docker push apisixacr.azurecr.cn/dashboard:${{ github.sha }}
diff --git a/.github/workflows/license-checker.yml b/.github/workflows/license-checker.yml
index 09b2cbaac1..b6e6c75dda 100644
--- a/.github/workflows/license-checker.yml
+++ b/.github/workflows/license-checker.yml
@@ -7,6 +7,7 @@ on:
pull_request:
branches:
- master
+ - v2.0
jobs:
check-license:
diff --git a/.github/workflows/test-api.yml b/.github/workflows/test-api.yml
index cd4b308384..c39378b176 100644
--- a/.github/workflows/test-api.yml
+++ b/.github/workflows/test-api.yml
@@ -7,6 +7,7 @@ on:
pull_request:
branches:
- master
+ - v2.0
jobs:
run-test:
@@ -24,10 +25,6 @@ jobs:
steps:
- uses: actions/checkout@v2
- - name: run Makefile
- run: |
- make license-check
-
- name: get lua lib
run: |
wget https://github.com/api7/dag-to-lua/archive/v1.1.tar.gz
@@ -46,9 +43,7 @@ jobs:
- name: run test
working-directory: ./api
- run: |
- export APIX_ETCD_ENDPOINTS=127.0.0.1:2379
- go test ./...
+ run: go test ./...
- name: run with custom port
working-directory: ./api
diff --git a/.github/workflows/test-deploy-with-go.yml b/.github/workflows/test-deploy-with-go.yml
deleted file mode 100644
index 59fefbbaf5..0000000000
--- a/.github/workflows/test-deploy-with-go.yml
+++ /dev/null
@@ -1,73 +0,0 @@
-name: Test deploy frontend and API using Go
-
-on:
- push:
- branches:
- - master
- pull_request:
- branches:
- - master
-
-jobs:
- frontend:
- name: Front-End compile
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
-
- - name: Setup Node.JS environment for Front-End
- uses: actions/setup-node@v1
- with:
- node-version: 14.x
-
- - name: Install Front-End dependencies
- run: yarn install
-
- - name: Build Front-End
- run: yarn build
-
- - name: Store Compiled Front-End files
- uses: actions/upload-artifact@v2
- with:
- name: dist
- path: ./dist/
-
- backend:
- name: Back-End compile
- needs: frontend
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v2
-
- - name: Copy file to Back-End compile environment
- uses: actions/download-artifact@v2
- with:
- name: dist
- path: ./api/dashboard/
-
- - name: Setup Golang environment for Back-End
- uses: actions/setup-go@v2
- with:
- go-version: 1.14
-
- - name: Setup Build Environment
- run: |
- cd ./api/
- sudo go get github.com/rakyll/statik
-
- - name: Generate Built-in Code
- run: |
- cd ./api/
- $(go env GOPATH)/bin/statik -src=./dashboard/
-
- - name: Build Back-End Binary
- run: |
- cd ./api/
- sudo go build -o /go/manager-api/manager-api
-
- - name: Store Compiled Back-End files
- uses: actions/upload-artifact@v2
- with:
- name: output
- path: /go/manager-api/manager-api
diff --git a/.github/workflows/test-frontend-multiple-node-build.yml b/.github/workflows/test-frontend-multiple-node-build.yml
index b6313981a2..f8643c7233 100644
--- a/.github/workflows/test-frontend-multiple-node-build.yml
+++ b/.github/workflows/test-frontend-multiple-node-build.yml
@@ -11,6 +11,7 @@ on:
pull_request:
branches:
- master
+ - v2.0
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
@@ -34,10 +35,13 @@ jobs:
# Install dependencies
- name: Install dependencies
+ working-directory: frontend
run: yarn
- - name: Build the Dashboard
- run: yarn build
-
- name: Lint
+ working-directory: frontend
run: yarn run lint:js && yarn run lint:style
+
+ - name: Build the Dashboard
+ working-directory: frontend
+ run: yarn build
diff --git a/.gitignore b/.gitignore
index 571eb5b696..a6124be1da 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,7 +7,7 @@
_roadhog-api-doc
# production
-/dist
+dist
/.vscode
# misc
@@ -42,5 +42,6 @@ build
/compose/**/nginx.pid
/compose/etcd_data
manager-api
-conf.json
-conf.json-e
+
+output
+default.etcd
diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index 90d4fde5ea..0000000000
--- a/Dockerfile
+++ /dev/null
@@ -1,37 +0,0 @@
-#
-# 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.
-#
-
-# phase-build
-FROM node:12 as builder
-
-WORKDIR /usr/src/app/
-USER root
-
-COPY package.json ./
-COPY yarn.lock ./
-RUN yarn
-
-COPY ./ ./
-RUN yarn build && rm -rf /usr/src/app/node_modules
-
-# phase-run
-FROM nginx:1.16-alpine
-
-COPY ./docker/nginx.conf /etc/nginx/conf.d/default.conf
-COPY --from=builder /usr/src/app/dist /usr/share/nginx/html
-
-EXPOSE 80
diff --git a/README.md b/README.md
index 783f49e613..28afe6b67c 100644
--- a/README.md
+++ b/README.md
@@ -23,8 +23,6 @@ English | [简体中文](./README.zh-CN.md)
Dashboard for [Apache APISIX](https://github.com/apache/apisix)
-[Online Demo](http://139.217.190.60/), Username/Password: `admin`.
-
## User Guide
Please refer to [User Guide](./docs/USER_GUIDE.md)
@@ -32,7 +30,6 @@ Please refer to [User Guide](./docs/USER_GUIDE.md)
## Deployment
- [Deploy Manually](./docs/deploy.md)
-- [Deploy with Docker](./compose/README.md)
## Development
diff --git a/README.zh-CN.md b/README.zh-CN.md
index e60a1b9767..bf1dd936ce 100644
--- a/README.zh-CN.md
+++ b/README.zh-CN.md
@@ -21,8 +21,6 @@
# [Apache APISIX](https://github.com/apache/apisix) 控制台
-访问 [http://139.217.190.60/](http://139.217.190.60/) 查看在线预览,账户与密码:`admin`。
-
## 用户指南
请参考 [用户指南](./docs/USER_GUIDE.zh-CN.md)
@@ -32,7 +30,6 @@
当前支持如下方式部署:
- [手动部署](./docs/deploy.zh-CN.md)
-- [使用 Docker 部署](./compose/README.md)
## 开发
diff --git a/api/build.sh b/api/build.sh
index 17867a50ee..4c4131a351 100755
--- a/api/build.sh
+++ b/api/build.sh
@@ -19,13 +19,18 @@
export ENV=local
pwd=`pwd`
+mkdir -p output
+
# get dag-to-lua lib
if [[ ! -f "dag-to-lua-1.1/lib/dag-to-lua.lua" ]]; then
- wget https://github.com/api7/dag-to-lua/archive/v1.1.tar.gz
+ wget https://github.com/api7/dag-to-lua/archive/v1.1.tar.gz -P ./output
+ cd ./output
tar -zxvf v1.1.tar.gz
+ rm v1.1.tar.gz
+ cd ..
fi
# build
-cd ./api && go build -o ../manager-api .
+cd ./api && go build -o ../output/manager-api .
-echo "done."
+echo "Build the Manager API successfully"
diff --git a/api/conf/conf.go b/api/conf/conf.go
index 11ff7733d9..26444243c2 100644
--- a/api/conf/conf.go
+++ b/api/conf/conf.go
@@ -29,7 +29,7 @@ import (
)
const (
- WebDir = "./dist"
+ WebDir = "./output/html"
EnvPROD = "prod"
EnvBETA = "beta"
diff --git a/api/run.sh b/api/run.sh
index 40fd4a7074..fe76b90f7f 100755
--- a/api/run.sh
+++ b/api/run.sh
@@ -20,4 +20,4 @@ export ENV=local
pwd=`pwd`
-exec ./manager-api
+exec ./output/manager-api
diff --git a/compose/README.md b/compose/README.md
deleted file mode 100644
index 98bce58d53..0000000000
--- a/compose/README.md
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-# docker-compose
-
-This folder stores the `docker-compose` file for `manager-api`.
-
-## Deploy
-
-1. Run docker-compose
-
-```sh
-$ cd apisix-dashboard/compose
-
-# For most users in China, please use some proxy services like https://www.daocloud.io/mirror to speed up your Docker images pulling.
-$ docker-compose -p dashboard up -d
-```
-
-2. Visit `http://127.0.0.1/` in the browser.
diff --git a/compose/apisix_conf/config.yaml b/compose/apisix_conf/config.yaml
deleted file mode 100644
index 4fd7ff255d..0000000000
--- a/compose/apisix_conf/config.yaml
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-# 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.
-#
-# PLEASE DO NOT UPDATE THIS FILE!
-# If you want to set the specified configuration value, you can set the new
-# value in the conf/config.yaml file.
-#
-apisix:
- allow_admin:
- - 0.0.0.0/0
- admin_key:
- - name: 'admin'
- key: edd1c9f034335f136f87ad84b625c8f1
- role:
- admin # admin: manage all configuration data
- # viewer: only can view configuration data
- - name: 'viewer'
- key: 4054f7cf07e344346cd3f287985e76a1
- role: viewer
-
-etcd:
- host: # it's possible to define multiple etcd hosts addresses of the same etcd cluster.
- - 'http://192.17.5.10:2379' # multiple etcd address
- prefix: '/apisix' # apisix configurations prefix
- timeout: 30 # 30 seconds
diff --git a/compose/dashboard_conf/nginx.conf b/compose/dashboard_conf/nginx.conf
deleted file mode 100644
index dcdfde825e..0000000000
--- a/compose/dashboard_conf/nginx.conf
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# 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.
-#
-
-server {
- listen 80;
- # gzip config
- gzip on;
- gzip_min_length 1k;
- gzip_comp_level 9;
- gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
- gzip_vary on;
- gzip_disable "MSIE [1-6]\.";
-
- root /usr/share/nginx/html;
- include /etc/nginx/mime.types;
-
- location / {
- try_files $uri $uri/ /index.html;
- }
-
- location /apisix/admin {
- proxy_pass http://manager:8080/apisix/admin;
- }
-}
-
diff --git a/compose/docker-compose.yml b/compose/docker-compose.yml
deleted file mode 100644
index 4e1e6016b0..0000000000
--- a/compose/docker-compose.yml
+++ /dev/null
@@ -1,134 +0,0 @@
-#
-# 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.
-#
-version: '3'
-
-services:
- apisix:
- image: apache/apisix:dev
- restart: always
- volumes:
- - ./apisix_log:/usr/local/apisix/logs
- - ./apisix_conf/config.yaml:/usr/local/apisix/conf/config.yaml:ro
- depends_on:
- - etcd
- ##network_mode: host
- ports:
- - '9080:9080/tcp'
- - '9443:9443/tcp'
- networks:
- apisix-dashboard:
- ipv4_address: 192.17.5.11
-
- etcd:
- image: bitnami/etcd:3.4.9
- user: root
- restart: always
- volumes:
- - ./etcd_data:/etcd_data
- environment:
- ETCD_DATA_DIR: /etcd_data
- ETCD_ENABLE_V2: 'true'
- ALLOW_NONE_AUTHENTICATION: 'yes'
- ETCD_ADVERTISE_CLIENT_URLS: 'http://0.0.0.0:2379'
- ETCD_LISTEN_CLIENT_URLS: 'http://0.0.0.0:2379'
- ports:
- - '2379:2379/tcp'
- networks:
- apisix-dashboard:
- ipv4_address: 192.17.5.10
-
- web1:
- image: ruby:2-alpine
- command: sh -c "mkdir -p /tmp/www && echo 'web1' > /tmp/www/web1.txt && ruby -run -ehttpd /tmp/www -p8000"
- restart: always
- ports:
- - '9081:8000/tcp'
- networks:
- apisix-dashboard:
- ipv4_address: 192.17.5.12
-
- web2:
- image: ruby:2-alpine
- command: sh -c "mkdir -p /tmp/www && echo 'web2' > /tmp/www/web2.txt && ruby -run -ehttpd /tmp/www -p8000"
- restart: always
- ports:
- - '9082:8000/tcp'
- networks:
- apisix-dashboard:
- ipv4_address: 192.17.5.13
-
- manager:
- build:
- context: ./../api
- dockerfile: Dockerfile
- restart: always
- ports:
- - '8080:8080/tcp'
- environment:
- - ENV=prod
- volumes:
- - ./manager_conf/entry.sh:/go/manager-api/entry.sh
- networks:
- apisix-dashboard:
- ipv4_address: 192.17.5.15
-
- prometheus:
- image: prom/prometheus
- hostname: prometheus
- restart: always
- volumes:
- - ./prometheus_conf/prometheus.yml:/etc/prometheus/prometheus.yml
- ports:
- - '9090:9090'
- networks:
- apisix-dashboard:
- ipv4_address: 192.17.5.16
-
- grafana:
- image: grafana/grafana
- container_name: grafana
- hostname: grafana
- restart: always
- ports:
- - '3000:3000'
- volumes:
- - './grafana_conf/provisioning:/etc/grafana/provisioning'
- - './grafana_conf/dashboards:/var/lib/grafana/dashboards'
- - './grafana_conf/config/grafana.ini:/etc/grafana/grafana.ini'
- networks:
- apisix-dashboard:
- ipv4_address: 192.17.5.17
-
- dashboard:
- build:
- context: ./..
- dockerfile: Dockerfile
- restart: always
- ports:
- - '80:80/tcp'
- volumes:
- - './dashboard_conf/nginx.conf:/etc/nginx/conf.d/default.conf'
- networks:
- apisix-dashboard:
- ipv4_address: 192.17.5.18
-
-networks:
- apisix-dashboard:
- driver: bridge
- ipam:
- config:
- - subnet: 192.17.0.0/16
diff --git a/compose/grafana_conf/config/grafana.ini b/compose/grafana_conf/config/grafana.ini
deleted file mode 100644
index cb6a7376c5..0000000000
--- a/compose/grafana_conf/config/grafana.ini
+++ /dev/null
@@ -1,756 +0,0 @@
-##################### Grafana Configuration Example #####################
-#
-# Everything has defaults so you only need to uncomment things you want to
-# change
-
-# possible values : production, development
-;app_mode = production
-
-# instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty
-;instance_name = ${HOSTNAME}
-
-#################################### Paths ####################################
-[paths]
-# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
-;data = /var/lib/grafana
-
-# Temporary files in `data` directory older than given duration will be removed
-;temp_data_lifetime = 24h
-
-# Directory where grafana can store logs
-;logs = /var/log/grafana
-
-# Directory where grafana will automatically scan and look for plugins
-;plugins = /var/lib/grafana/plugins
-
-# folder that contains provisioning config files that grafana will apply on startup and while running.
-;provisioning = conf/provisioning
-
-#################################### Server ####################################
-[server]
-# Protocol (http, https, h2, socket)
-;protocol = http
-
-# The ip address to bind to, empty will bind to all interfaces
-;http_addr =
-
-# The http port to use
-;http_port = 3000
-
-# The public facing domain name used to access grafana from a browser
-;domain = localhost
-
-# Redirect to correct domain if host header does not match domain
-# Prevents DNS rebinding attacks
-;enforce_domain = false
-
-# The full public facing url you use in browser, used for redirects and emails
-# If you use reverse proxy and sub path specify full url (with sub path)
-;root_url = %(protocol)s://%(domain)s:%(http_port)s/
-
-# Serve Grafana from subpath specified in `root_url` setting. By default it is set to `false` for compatibility reasons.
-;serve_from_sub_path = false
-
-# Log web requests
-;router_logging = false
-
-# the path relative working path
-;static_root_path = public
-
-# enable gzip
-;enable_gzip = false
-
-# https certs & key file
-;cert_file =
-;cert_key =
-
-# Unix socket path
-;socket =
-
-#################################### Database ####################################
-[database]
-# You can configure the database connection by specifying type, host, name, user and password
-# as separate properties or as on string using the url properties.
-
-# Either "mysql", "postgres" or "sqlite3", it's your choice
-;type = sqlite3
-;host = 127.0.0.1:3306
-;name = grafana
-;user = root
-# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
-;password =
-
-# Use either URL or the previous fields to configure the database
-# Example: mysql://user:secret@host:port/database
-;url =
-
-# For "postgres" only, either "disable", "require" or "verify-full"
-;ssl_mode = disable
-
-;ca_cert_path =
-;client_key_path =
-;client_cert_path =
-;server_cert_name =
-
-# For "sqlite3" only, path relative to data_path setting
-;path = grafana.db
-
-# Max idle conn setting default is 2
-;max_idle_conn = 2
-
-# Max conn setting default is 0 (mean not set)
-;max_open_conn =
-
-# Connection Max Lifetime default is 14400 (means 14400 seconds or 4 hours)
-;conn_max_lifetime = 14400
-
-# Set to true to log the sql calls and execution times.
-;log_queries =
-
-# For "sqlite3" only. cache mode setting used for connecting to the database. (private, shared)
-;cache_mode = private
-
-#################################### Cache server #############################
-[remote_cache]
-# Either "redis", "memcached" or "database" default is "database"
-;type = database
-
-# cache connectionstring options
-# database: will use Grafana primary database.
-# redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=0,ssl=false`. Only addr is required. ssl may be 'true', 'false', or 'insecure'.
-# memcache: 127.0.0.1:11211
-;connstr =
-
-#################################### Data proxy ###########################
-[dataproxy]
-
-# This enables data proxy logging, default is false
-;logging = false
-
-# How long the data proxy should wait before timing out default is 30 (seconds)
-;timeout = 30
-
-# If enabled and user is not anonymous, data proxy will add X-Grafana-User header with username into the request, default is false.
-;send_user_header = false
-
-#################################### Analytics ####################################
-[analytics]
-# Server reporting, sends usage counters to stats.grafana.org every 24 hours.
-# No ip addresses are being tracked, only simple counters to track
-# running instances, dashboard and error counts. It is very helpful to us.
-# Change this option to false to disable reporting.
-;reporting_enabled = true
-
-# Set to false to disable all checks to https://grafana.net
-# for new vesions (grafana itself and plugins), check is used
-# in some UI views to notify that grafana or plugin update exists
-# This option does not cause any auto updates, nor send any information
-# only a GET request to http://grafana.com to get latest versions
-;check_for_updates = true
-
-# Google Analytics universal tracking code, only enabled if you specify an id here
-;google_analytics_ua_id =
-
-# Google Tag Manager ID, only enabled if you specify an id here
-;google_tag_manager_id =
-
-#################################### Security ####################################
-[security]
-# disable creation of admin user on first start of grafana
-;disable_initial_admin_creation = false
-
-# default admin user, created on startup
-;admin_user = admin
-
-# default admin password, can be changed before first start of grafana, or in profile settings
-;admin_password = admin
-
-# used for signing
-;secret_key = SW2YcwTIb9zpOOhoPsMm
-
-# disable gravatar profile images
-;disable_gravatar = false
-
-# data source proxy whitelist (ip_or_domain:port separated by spaces)
-;data_source_proxy_whitelist =
-
-# disable protection against brute force login attempts
-;disable_brute_force_login_protection = false
-
-# set to true if you host Grafana behind HTTPS. default is false.
-;cookie_secure = false
-
-# set cookie SameSite attribute. defaults to `lax`. can be set to "lax", "strict", "none" and "disabled"
-;cookie_samesite = none
-
-# set to true if you want to allow browsers to render Grafana in a ,