You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@resilientdb.apache.org by ju...@apache.org on 2025/12/03 13:46:13 UTC

(incubator-resilientdb) branch master updated (70b6f363 -> 8da5b8bb)

This is an automated email from the ASF dual-hosted git repository.

junchao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-resilientdb.git


    from 70b6f363 Revert "Adding AI tools to Monorepo (#200)" (#204)
     new 356b378d add config license
     new e4381847 add license
     new 8da5b8bb Merge branch 'master' of https://github.com/apache/incubator-resilientdb

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .bazelversion                                      |  1 -
 .../service/http_server/server_config.config       | 18 +++++++
 .../service/tools/config/interface/client.config   | 17 +++++++
 .../service/tools/config/interface/service.config  | 17 +++++++
 .../service/tools/config/interface/service0.config |  3 --
 .../service/tools/config/server/server.config      | 17 +++++++
 platform/config/BUILD                              | 19 ++++++++
 .../config/expect_test.config                      |  0
 platform/config/resdb_config_test.cpp              | 23 +++++++--
 platform/config/resdb_config_utils.cpp             | 26 +++++++++-
 platform/config/resdb_config_utils.h               |  5 ++
 platform/config/test.config                        | 56 ++++++++++++++++++++++
 platform/test/test_data/kv_config.config           | 17 +++++++
 platform/test/test_data/server.config              | 17 +++++++
 service/tools/config/interface/service.config      | 17 +++++++
 service/tools/config/interface/service0.config     | 18 +++++++
 service/tools/config/server.config                 |  5 ++
 service/tools/config/server/contract_server.config | 17 +++++++
 service/tools/config/server/server.config          | 17 +++++++
 .../tools/contract/api_tools/client_config.config  | 17 +++++++
 .../contract/api_tools/config/server_config.config | 17 +++++++
 .../utxo/wallet_tool/cpp/client_config.config      | 17 +++++++
 .../utxo/wallet_tool/cpp/server_config0.config     | 17 +++++++
 service/utxo/config/server_config.config           | 17 +++++++
 24 files changed, 385 insertions(+), 10 deletions(-)
 delete mode 100644 .bazelversion
 delete mode 100644 ecosystem/graphql/service/tools/config/interface/service0.config
 copy service/tools/config/server/server.config => platform/config/expect_test.config (100%)
 create mode 100644 platform/config/test.config
 create mode 100644 service/tools/config/server.config


(incubator-resilientdb) 03/03: Merge branch 'master' of https://github.com/apache/incubator-resilientdb

Posted by ju...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

junchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-resilientdb.git

commit 8da5b8bb39bd8b72386b4d68c0378a072286e897
Merge: e4381847 70b6f363
Author: cjcchen <ic...@gmail.com>
AuthorDate: Wed Dec 3 13:45:53 2025 +0000

    Merge branch 'master' of https://github.com/apache/incubator-resilientdb

 ecosystem/AI-Tooling/beacon/.env.local.example     |     9 -
 .../beacon/.github/assets/beacon-hero.png          |   Bin 463895 -> 0 bytes
 .../beacon/.github/workflows/license.yml           |    37 -
 .../AI-Tooling/beacon/.github/workflows/loc.yml    |    61 -
 ecosystem/AI-Tooling/beacon/.gitignore             |   134 -
 ecosystem/AI-Tooling/beacon/.licenserc.yaml        |    27 -
 ecosystem/AI-Tooling/beacon/.npmrc                 |     3 -
 ecosystem/AI-Tooling/beacon/.nvmrc                 |     1 -
 ecosystem/AI-Tooling/beacon/.prettierignore        |     1 -
 ecosystem/AI-Tooling/beacon/.prettierrc.mjs        |    35 -
 ecosystem/AI-Tooling/beacon/.storybook/main.ts     |    16 -
 ecosystem/AI-Tooling/beacon/.storybook/preview.tsx |    33 -
 ecosystem/AI-Tooling/beacon/.stylelintignore       |     2 -
 ecosystem/AI-Tooling/beacon/.stylelintrc.json      |    28 -
 ecosystem/AI-Tooling/beacon/.vscode/settings.json  |     4 -
 ecosystem/AI-Tooling/beacon/CODE_OF_CONDUCT.md     |    95 -
 ecosystem/AI-Tooling/beacon/DISCLAIMER.txt         |    38 -
 ecosystem/AI-Tooling/beacon/LICENSE                |   201 -
 ecosystem/AI-Tooling/beacon/NOTICE                 |    10 -
 ecosystem/AI-Tooling/beacon/README.md              |    67 -
 ecosystem/AI-Tooling/beacon/app/_meta.ts           |    43 -
 .../AI-Tooling/beacon/app/api/ai-search/route.ts   |   556 -
 ecosystem/AI-Tooling/beacon/app/api/chat/route.ts  |   131 -
 .../AI-Tooling/beacon/app/api/compile/route.ts     |   117 -
 .../beacon/app/api/github-releases/route.ts        |    36 -
 .../beacon/app/docs/[[...mdxPath]]/page.tsx        |    43 -
 ecosystem/AI-Tooling/beacon/app/global.css         |   286 -
 ecosystem/AI-Tooling/beacon/app/layout.tsx         |   120 -
 ecosystem/AI-Tooling/beacon/app/lib/constants.ts   |   350 -
 ecosystem/AI-Tooling/beacon/app/lib/utils.ts       |    22 -
 ecosystem/AI-Tooling/beacon/app/page.module.css    |   361 -
 ecosystem/AI-Tooling/beacon/app/page.tsx           |    17 -
 ecosystem/AI-Tooling/beacon/app/providers.tsx      |    26 -
 ecosystem/AI-Tooling/beacon/app/search/page.tsx    |    25 -
 ecosystem/AI-Tooling/beacon/app/sitemap.ts         |    95 -
 ecosystem/AI-Tooling/beacon/asf.yaml               |    42 -
 .../AI-Tooling/beacon/components/AskAIModal.tsx    |   137 -
 .../AI-Tooling/beacon/components/AuthProviders.tsx |    32 -
 .../ColorSchemeControl.module.css                  |    46 -
 .../ColorSchemeControl.story.tsx                   |    26 -
 .../ColorSchemeControl/ColorSchemeControl.tsx      |    49 -
 .../ColorSchemeControl/HeaderControl.module.css    |    50 -
 .../ColorSchemeControl/HeaderControl.tsx           |    51 -
 .../ColorSchemeToggle/ColorSchemeToggle.tsx        |    62 -
 .../beacon/components/CommentSection.tsx           |   133 -
 .../beacon/components/Content/Content.story.tsx    |    28 -
 .../beacon/components/Content/Content.tsx          |    74 -
 .../beacon/components/FloatingAssistant.tsx        |   832 -
 .../AI-Tooling/beacon/components/GitHubAuth.tsx    |   182 -
 .../beacon/components/InstallationForm.tsx         |   128 -
 .../beacon/components/Logo/Logo.story.tsx          |    26 -
 .../AI-Tooling/beacon/components/Logo/Logo.tsx     |    24 -
 .../components/MantineFooter/MantineFooter.tsx     |   384 -
 .../components/MantineNavBar/MantineNavBar.tsx     |    28 -
 .../MantineNextraThemeObserver.tsx                 |    43 -
 .../beacon/components/PocketFlowChatbot.tsx        |   130 -
 .../AI-Tooling/beacon/components/PythonIDE.tsx     |   114 -
 .../beacon/components/PythonPlayground.tsx         |   773 -
 .../components/ReleaseNotes/ReleaseNotes.tsx       |   148 -
 .../beacon/components/ResContractPlayground.tsx    |   316 -
 .../beacon/components/SearchBar/PagefindSearch.tsx |   725 -
 .../beacon/components/SearchBar/SearchBar.tsx      |     7 -
 .../beacon/components/TypeScriptPlayground.tsx     |   800 -
 .../beacon/components/Welcome/Welcome.module.css   |    32 -
 .../beacon/components/Welcome/Welcome.story.tsx    |    26 -
 .../beacon/components/Welcome/Welcome.test.tsx     |    31 -
 .../beacon/components/Welcome/Welcome.tsx          |    91 -
 .../components/cache/NodeConfigGenerator.tsx       |   155 -
 .../beacon/components/cache/NodeQueryBuilder.tsx   |   145 -
 .../components/cache/PythonConfigGenerator.tsx     |   155 -
 .../beacon/components/cache/PythonQueryBuilder.tsx |   164 -
 ecosystem/AI-Tooling/beacon/components/index.ts    |    30 -
 .../beacon/components/landing/Header.tsx           |   220 -
 .../beacon/components/landing/HeroContent.tsx      |   130 -
 .../beacon/components/landing/PulsingCircle.tsx    |    54 -
 .../beacon/components/landing/ShaderBackground.tsx |   136 -
 .../AI-Tooling/beacon/components/ui/terminal.tsx   |    44 -
 .../beacon/components/utils/loadPyodide.ts         |    56 -
 ecosystem/AI-Tooling/beacon/content/_meta.ts       |    68 -
 ecosystem/AI-Tooling/beacon/content/about.mdx      |    53 -
 ecosystem/AI-Tooling/beacon/content/index.mdx      |   114 -
 .../AI-Tooling/beacon/content/installation.mdx     |   224 -
 ecosystem/AI-Tooling/beacon/content/node_cache.mdx |   221 -
 .../AI-Tooling/beacon/content/python_cache.mdx     |   278 -
 ecosystem/AI-Tooling/beacon/content/pythonsdk.mdx  |    74 -
 ecosystem/AI-Tooling/beacon/content/rescli.mdx     |   138 -
 .../AI-Tooling/beacon/content/rescontract.mdx      |   217 -
 ecosystem/AI-Tooling/beacon/content/resdb_orm.mdx  |   195 -
 .../resilientdb/chapters/01_client_interaction.md  |   284 -
 .../chapters/02_network_communication.md           |   291 -
 .../chapters/03_consensus_management.md            |   214 -
 .../chapters/04_message_transaction_collection.md  |   314 -
 .../chapters/05_transaction_execution.md           |   286 -
 .../resilientdb/chapters/06_storage_layer.md       |   297 -
 .../resilientdb/chapters/07_checkpointing.md       |   440 -
 .../chapters/08_resilientdb_configuration.md       |   356 -
 .../beacon/content/resilientdb/index.mdx           |    50 -
 .../beacon/content/resilientdb_graphql/index.mdx   |   351 -
 .../beacon/content/resilientdb_graphql/setup.mdx   |   123 -
 ecosystem/AI-Tooling/beacon/content/reslens.mdx    |   160 -
 ecosystem/AI-Tooling/beacon/content/resvault.mdx   |   252 -
 ecosystem/AI-Tooling/beacon/eslint.config.mjs      |    30 -
 ecosystem/AI-Tooling/beacon/jest.config.cjs        |    35 -
 ecosystem/AI-Tooling/beacon/jest.setup.cjs         |    46 -
 ecosystem/AI-Tooling/beacon/lib/documentIndexer.ts |   480 -
 ecosystem/AI-Tooling/beacon/mdx-components.ts      |    31 -
 ecosystem/AI-Tooling/beacon/next-env.d.ts          |     6 -
 ecosystem/AI-Tooling/beacon/next.config.mjs        |    54 -
 ecosystem/AI-Tooling/beacon/package-lock.json      | 24993 -------------------
 ecosystem/AI-Tooling/beacon/package.json           |   100 -
 .../beacon/pages/api/auth/[...nextauth].ts         |    83 -
 .../beacon/pages/api/create-github-issue.ts        |   131 -
 ecosystem/AI-Tooling/beacon/pages/auth/_meta.json  |     8 -
 ecosystem/AI-Tooling/beacon/pages/auth/error.tsx   |    50 -
 ecosystem/AI-Tooling/beacon/pages/auth/signin.tsx  |    72 -
 ecosystem/AI-Tooling/beacon/postcss.config.cjs     |    34 -
 ecosystem/AI-Tooling/beacon/public/favicon.svg     |    18 -
 ecosystem/AI-Tooling/beacon/public/lighthouse.png  |   Bin 21666 -> 0 bytes
 ecosystem/AI-Tooling/beacon/public/logo.png        |   Bin 8982 -> 0 bytes
 .../public/mantine+nextjs+nextra-template.png      |   Bin 606702 -> 0 bytes
 ecosystem/AI-Tooling/beacon/public/resdb_sdk.py    |   290 -
 ecosystem/AI-Tooling/beacon/scripts/build-index.js |    47 -
 ecosystem/AI-Tooling/beacon/scripts/build-index.ts |    41 -
 .../beacon/styles/installation.module.css          |    45 -
 ecosystem/AI-Tooling/beacon/test-utils/index.ts    |    35 -
 ecosystem/AI-Tooling/beacon/test-utils/render.tsx  |    30 -
 ecosystem/AI-Tooling/beacon/theme.ts               |    93 -
 ecosystem/AI-Tooling/beacon/tsconfig.json          |    50 -
 .../beacon/types/codemirror__lang-javascript.d.ts  |    27 -
 ecosystem/AI-Tooling/beacon/types/next-auth.d.ts   |    33 -
 .../AI-Tooling/beacon/types/react-markdown.d.ts    |    32 -
 .../beacon/types/react-syntax-highlighter.d.ts     |    37 -
 .../nexus/.github/pull_request_template.md         |    24 -
 ecosystem/AI-Tooling/nexus/.gitignore              |    54 -
 ecosystem/AI-Tooling/nexus/README.md               |   148 -
 ecosystem/AI-Tooling/nexus/RESEARCH_SETUP.md       |   163 -
 ecosystem/AI-Tooling/nexus/components.json         |    21 -
 ecosystem/AI-Tooling/nexus/docs/DB_SETUP.md        |    19 -
 .../AI-Tooling/nexus/docs/SYSTEM_ARCHITECTURE.md   |   123 -
 ecosystem/AI-Tooling/nexus/docs/blog.md            |   208 -
 ecosystem/AI-Tooling/nexus/docs/images/agent.png   |   Bin 666638 -> 0 bytes
 .../AI-Tooling/nexus/docs/images/research.png      |   Bin 1518383 -> 0 bytes
 .../nexus/documents/bchain-transaction-pro.pdf     |   Bin 886238 -> 0 bytes
 ecosystem/AI-Tooling/nexus/documents/rcc.pdf       |   Bin 332119 -> 0 bytes
 .../AI-Tooling/nexus/documents/resilientdb.pdf     |   Bin 1145477 -> 0 bytes
 ecosystem/AI-Tooling/nexus/eslint.config.mjs       |    29 -
 ecosystem/AI-Tooling/nexus/next.config.mjs         |    29 -
 ecosystem/AI-Tooling/nexus/next.config.ts          |     7 -
 ecosystem/AI-Tooling/nexus/package-lock.json       | 12461 ---------
 ecosystem/AI-Tooling/nexus/package.json            |    86 -
 ecosystem/AI-Tooling/nexus/parsing-cache.json      |     1 -
 ecosystem/AI-Tooling/nexus/postcss.config.mjs      |     5 -
 ecosystem/AI-Tooling/nexus/public/expolab-icon.png |   Bin 133234 -> 0 bytes
 ecosystem/AI-Tooling/nexus/public/resdb-logo.svg   |    24 -
 .../AI-Tooling/nexus/public/resilientdb-icon.png   |   Bin 4036 -> 0 bytes
 .../nexus/src/app/api/research/chat/route.ts       |   213 -
 .../nexus/src/app/api/research/documents/route.ts  |    45 -
 .../src/app/api/research/files/[...path]/route.ts  |    61 -
 .../src/app/api/research/prepare-index/route.ts    |   119 -
 ecosystem/AI-Tooling/nexus/src/app/favicon.ico     |   Bin 25931 -> 0 bytes
 ecosystem/AI-Tooling/nexus/src/app/globals.css     |   357 -
 ecosystem/AI-Tooling/nexus/src/app/layout.tsx      |    21 -
 ecosystem/AI-Tooling/nexus/src/app/page.tsx        |    37 -
 .../src/app/research/components/chat-input.tsx     |   190 -
 .../research/components/code-generation-tab.tsx    |   336 -
 .../app/research/components/pdf-preview-tab.tsx    |    60 -
 .../src/app/research/components/preview-panel.tsx  |   180 -
 .../AI-Tooling/nexus/src/app/research/page.tsx     |  1149 -
 .../AI-Tooling/nexus/src/app/research/types.ts     |    56 -
 .../src/components/ai-elements/code-block.tsx      |   156 -
 .../src/components/ai-elements/prompt-input.tsx    |   287 -
 .../nexus/src/components/ai-elements/response.tsx  |   321 -
 .../nexus/src/components/ai-elements/tool.tsx      |   131 -
 .../nexus/src/components/context/ToolContext.tsx   |    23 -
 .../src/components/providers/QueryProvider.tsx     |    28 -
 .../nexus/src/components/ui/accordion.tsx          |    66 -
 .../nexus/src/components/ui/animated-ai-chat.tsx   |   311 -
 .../AI-Tooling/nexus/src/components/ui/badge.tsx   |    46 -
 .../AI-Tooling/nexus/src/components/ui/button.tsx  |    59 -
 .../AI-Tooling/nexus/src/components/ui/card.tsx    |   128 -
 .../nexus/src/components/ui/citation-badge.tsx     |    49 -
 .../nexus/src/components/ui/collapsible.tsx        |    33 -
 .../AI-Tooling/nexus/src/components/ui/dialog.tsx  |   143 -
 .../src/components/ui/document-source-badge.tsx    |   251 -
 .../nexus/src/components/ui/fluid-blob.tsx         |   175 -
 .../AI-Tooling/nexus/src/components/ui/label.tsx   |    24 -
 .../AI-Tooling/nexus/src/components/ui/loader.tsx  |   498 -
 .../nexus/src/components/ui/main-navbar.tsx        |    85 -
 .../src/components/ui/multi-document-selector.tsx  |   377 -
 .../AI-Tooling/nexus/src/components/ui/popover.tsx |    48 -
 .../nexus/src/components/ui/resizable.tsx          |    56 -
 .../nexus/src/components/ui/scroll-area.tsx        |    58 -
 .../AI-Tooling/nexus/src/components/ui/select.tsx  |   185 -
 .../nexus/src/components/ui/separator.tsx          |    28 -
 .../AI-Tooling/nexus/src/components/ui/sheet.tsx   |   139 -
 .../AI-Tooling/nexus/src/components/ui/switch.tsx  |    31 -
 .../AI-Tooling/nexus/src/components/ui/tabs.tsx    |    67 -
 .../nexus/src/components/ui/textarea.tsx           |    18 -
 .../AI-Tooling/nexus/src/components/ui/tooltip.tsx |    61 -
 .../AI-Tooling/nexus/src/config/environment.ts     |    35 -
 .../AI-Tooling/nexus/src/hooks/useDocuments.ts     |    72 -
 ecosystem/AI-Tooling/nexus/src/lib/agent.ts        |   281 -
 .../nexus/src/lib/code-composer-agent.ts           |   362 -
 .../nexus/src/lib/config/llama-settings.ts         |    91 -
 ecosystem/AI-Tooling/nexus/src/lib/constants.ts    |    39 -
 ecosystem/AI-Tooling/nexus/src/lib/google-drive.ts |   159 -
 .../AI-Tooling/nexus/src/lib/llama-service.ts      |   596 -
 .../AI-Tooling/nexus/src/lib/robust-fact-memory.ts |   146 -
 .../AI-Tooling/nexus/src/lib/token-estimator.ts    |    38 -
 ecosystem/AI-Tooling/nexus/src/lib/utils.ts        |    44 -
 .../AI-Tooling/nexus/src/tests/test-router.ts      |   124 -
 ecosystem/AI-Tooling/nexus/tsconfig.json           |    27 -
 ecosystem/tools/rescli/.asf.yaml                   |    42 -
 .../tools/rescli/.github/workflows/license.yml     |    37 -
 .../tools/rescli/.github/workflows/make-binary.yml |    61 -
 .../tools/rescli/.github/workflows/release.yml     |    42 -
 ecosystem/tools/rescli/.licenserc.yaml             |    26 -
 ecosystem/tools/rescli/CODE_OF_CONDUCT.md          |    95 -
 ecosystem/tools/rescli/DISCLAIMER                  |    21 -
 ecosystem/tools/rescli/Gemfile                     |    24 -
 ecosystem/tools/rescli/LICENSE                     |   201 -
 ecosystem/tools/rescli/NOTICE                      |     5 -
 ecosystem/tools/rescli/README.md                   |   109 -
 ecosystem/tools/rescli/Rakefile                    |    23 -
 ecosystem/tools/rescli/config.ini                  |    18 -
 ecosystem/tools/rescli/dev/.rat-excludes           |    19 -
 ecosystem/tools/rescli/dev/check-license           |    86 -
 ecosystem/tools/rescli/lib/res_cli/cli.rb          |   322 -
 ecosystem/tools/rescli/res_cli                     |    27 -
 ecosystem/tools/rescli/res_cli.gemspec             |    32 -
 230 files changed, 65132 deletions(-)


(incubator-resilientdb) 02/03: add license

Posted by ju...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

junchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-resilientdb.git

commit e4381847679da05b72b217ffa9c9267b5c5e8366
Author: cjcchen <ic...@gmail.com>
AuthorDate: Wed Dec 3 13:45:12 2025 +0000

    add license
---
 platform/config/expect_test.config | 38 ++++++++++++++++++++++++++
 platform/config/test.config        | 56 ++++++++++++++++++++++++++++++++++++++
 service/tools/config/server.config |  5 ++++
 3 files changed, 99 insertions(+)

diff --git a/platform/config/expect_test.config b/platform/config/expect_test.config
new file mode 100644
index 00000000..740bae3a
--- /dev/null
+++ b/platform/config/expect_test.config
@@ -0,0 +1,38 @@
+{
+  region : {
+    replica_info : {
+      id:1,
+      ip:"127.0.0.1",
+      port: 10001,
+    },
+    replica_info : {
+      id:2,
+      ip:"127.0.0.1",
+      port: 10002,
+    },
+    replica_info : {
+      id:3,
+      ip:"127.0.0.1",
+      port: 10003,
+    },
+    replica_info : {
+      id:4,
+      ip:"127.0.0.1",
+      port: 10004,
+    },
+    region_id: 1,
+  },
+  self_region_id:1,
+  leveldb_info : {
+    write_buffer_size_mb:128,
+    write_batch_size:1,
+    enable_block_cache: true,
+    block_cache_capacity: 100
+  },
+  require_txn_validation:true,
+  enable_viewchange:false,
+  enable_resview:true,
+  enable_faulty_switch:false
+}
+
+
diff --git a/platform/config/test.config b/platform/config/test.config
new file mode 100644
index 00000000..7da636bb
--- /dev/null
+++ b/platform/config/test.config
@@ -0,0 +1,56 @@
+// 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.
+
+
+{
+  region : {
+    replica_info : {
+      id:1,
+      ip:"127.0.0.1",
+      port: 10001,
+    },
+    replica_info : {
+      id:2,
+      ip:"127.0.0.1",
+      port: 10002,
+    },
+    replica_info : {
+      id:3,
+      ip:"127.0.0.1",
+      port: 10003,
+    },
+    replica_info : {
+      id:4,
+      ip:"127.0.0.1",
+      port: 10004,
+    },
+    region_id: 1,
+  },
+  self_region_id:1,
+  leveldb_info : {
+    write_buffer_size_mb:128,
+    write_batch_size:1,
+    enable_block_cache: true,
+    block_cache_capacity: 100
+  },
+  require_txn_validation:true,
+  enable_viewchange:false,
+  enable_resview:true,
+  enable_faulty_switch:false
+}
+
+
diff --git a/service/tools/config/server.config b/service/tools/config/server.config
new file mode 100644
index 00000000..16ace299
--- /dev/null
+++ b/service/tools/config/server.config
@@ -0,0 +1,5 @@
+
+1 127.0.0.1 20001
+2 127.0.0.1 20002
+3 127.0.0.1 20003
+4 127.0.0.1 20004


(incubator-resilientdb) 01/03: add config license

Posted by ju...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

junchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-resilientdb.git

commit 356b378d62ab5380eab7c3ac8c0827a528297377
Author: cjcchen <ic...@gmail.com>
AuthorDate: Wed Dec 3 11:14:38 2025 +0000

    add config license
---
 .bazelversion                                      |  1 -
 .../service/http_server/server_config.config       | 18 +++++++++++++++
 .../service/tools/config/interface/client.config   | 17 ++++++++++++++
 .../service/tools/config/interface/service.config  | 17 ++++++++++++++
 .../service/tools/config/interface/service0.config |  3 ---
 .../service/tools/config/server/server.config      | 17 ++++++++++++++
 platform/config/BUILD                              | 19 ++++++++++++++++
 platform/config/resdb_config_test.cpp              | 23 +++++++++++++++----
 platform/config/resdb_config_utils.cpp             | 26 ++++++++++++++++++++--
 platform/config/resdb_config_utils.h               |  5 +++++
 platform/test/test_data/kv_config.config           | 17 ++++++++++++++
 platform/test/test_data/server.config              | 17 ++++++++++++++
 service/tools/config/interface/service.config      | 17 ++++++++++++++
 service/tools/config/interface/service0.config     | 18 +++++++++++++++
 service/tools/config/server/contract_server.config | 17 ++++++++++++++
 service/tools/config/server/server.config          | 17 ++++++++++++++
 .../tools/contract/api_tools/client_config.config  | 17 ++++++++++++++
 .../contract/api_tools/config/server_config.config | 17 ++++++++++++++
 .../utxo/wallet_tool/cpp/client_config.config      | 17 ++++++++++++++
 .../utxo/wallet_tool/cpp/server_config0.config     | 17 ++++++++++++++
 service/utxo/config/server_config.config           | 17 ++++++++++++++
 21 files changed, 324 insertions(+), 10 deletions(-)

diff --git a/.bazelversion b/.bazelversion
deleted file mode 100644
index 09b254e9..00000000
--- a/.bazelversion
+++ /dev/null
@@ -1 +0,0 @@
-6.0.0
diff --git a/ecosystem/graphql/service/http_server/server_config.config b/ecosystem/graphql/service/http_server/server_config.config
index d5755a7f..58551cc5 100644
--- a/ecosystem/graphql/service/http_server/server_config.config
+++ b/ecosystem/graphql/service/http_server/server_config.config
@@ -1,3 +1,21 @@
+// 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.
+
+
 1 127.0.0.1 10001
 2 127.0.0.1 10002
 3 127.0.0.1 10003
diff --git a/ecosystem/graphql/service/tools/config/interface/client.config b/ecosystem/graphql/service/tools/config/interface/client.config
index e1bcc905..1334de2b 100644
--- a/ecosystem/graphql/service/tools/config/interface/client.config
+++ b/ecosystem/graphql/service/tools/config/interface/client.config
@@ -1 +1,18 @@
+// 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.
+
 5 127.0.0.1 10005
diff --git a/ecosystem/graphql/service/tools/config/interface/service.config b/ecosystem/graphql/service/tools/config/interface/service.config
index d357ba73..3d1f8e9c 100644
--- a/ecosystem/graphql/service/tools/config/interface/service.config
+++ b/ecosystem/graphql/service/tools/config/interface/service.config
@@ -1,3 +1,20 @@
+// 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.
+
 5 127.0.0.1 10005
 
 
diff --git a/ecosystem/graphql/service/tools/config/interface/service0.config b/ecosystem/graphql/service/tools/config/interface/service0.config
deleted file mode 100644
index 4c83dab7..00000000
--- a/ecosystem/graphql/service/tools/config/interface/service0.config
+++ /dev/null
@@ -1,3 +0,0 @@
-1 127.0.0.1 10001
-
-
diff --git a/ecosystem/graphql/service/tools/config/server/server.config b/ecosystem/graphql/service/tools/config/server/server.config
index e75cbf7c..1e7280bc 100644
--- a/ecosystem/graphql/service/tools/config/server/server.config
+++ b/ecosystem/graphql/service/tools/config/server/server.config
@@ -1,3 +1,20 @@
+// 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.
+
 {
   region : {
     replica_info : {
diff --git a/platform/config/BUILD b/platform/config/BUILD
index cef76ade..0611ac41 100644
--- a/platform/config/BUILD
+++ b/platform/config/BUILD
@@ -28,13 +28,31 @@ cc_library(
     ],
 )
 
+
+#filegroup(
+#    name = "data_files",
+#    srcs = ["test.config", "expect_test.config"],
+#)
+#
+#cc_library(
+#    name = "test_config_data",
+#     "//platform/config:expect_test.config",
+#    ],
+#)
+#
+
 cc_test(
     name = "resdb_config_test",
     srcs = ["resdb_config_test.cpp"],
     deps = [
         ":resdb_config",
         "//common/test:test_main",
+        ":resdb_config_utils",
     ],
+    data = [
+    "//platform/config:test.config",
+    "//platform/config:expect_test.config",
+    ]
 )
 
 cc_library(
@@ -43,6 +61,7 @@ cc_library(
     hdrs = ["resdb_config_utils.h"],
     deps = [
         ":resdb_config",
+        "//common:json",
     ],
 )
 
diff --git a/platform/config/resdb_config_test.cpp b/platform/config/resdb_config_test.cpp
index f480b11f..046fae98 100644
--- a/platform/config/resdb_config_test.cpp
+++ b/platform/config/resdb_config_test.cpp
@@ -21,9 +21,11 @@
 
 #include <google/protobuf/util/message_differencer.h>
 #include <gtest/gtest.h>
+#include <filesystem>
 
 #include <thread>
 
+#include "resdb_config_utils.h"
 #include "common/test/test_macros.h"
 #include "gmock/gmock.h"
 
@@ -52,7 +54,8 @@ ReplicaInfo GenerateReplicaInfo(const std::string& ip, int port) {
   return info;
 }
 
-TEST(TcpSocket, ResDBConfig) {
+/*
+TEST(ResDBConfigTest, ResDBConfig) {
   ReplicaInfo self_info = GenerateReplicaInfo("127.0.0.1", 1234);
 
   std::vector<ReplicaInfo> replicas;
@@ -69,7 +72,7 @@ TEST(TcpSocket, ResDBConfig) {
   EXPECT_EQ(config.GetMinDataReceiveNum(), 3);
 }
 
-TEST(TcpSocket, ResDBConfigWith5Replicas) {
+TEST(ResDBConfigTest, ResDBConfigWith5Replicas) {
   ReplicaInfo self_info = GenerateReplicaInfo("127.0.0.1", 1234);
 
   std::vector<ReplicaInfo> replicas;
@@ -87,7 +90,7 @@ TEST(TcpSocket, ResDBConfigWith5Replicas) {
   EXPECT_EQ(config.GetMinDataReceiveNum(), 3);
 }
 
-TEST(TcpSocket, ResDBConfigWith6Replicas) {
+TEST(ResDBConfigTest, ResDBConfigWith6Replicas) {
   ReplicaInfo self_info = GenerateReplicaInfo("127.0.0.1", 1234);
 
   std::vector<ReplicaInfo> replicas;
@@ -106,7 +109,7 @@ TEST(TcpSocket, ResDBConfigWith6Replicas) {
   EXPECT_EQ(config.GetMinDataReceiveNum(), 3);
 }
 
-TEST(TcpSocket, ResDBConfigWith2Replicas) {
+TEST(ResDBConfigTest, ResDBConfigWith2Replicas) {
   ReplicaInfo self_info = GenerateReplicaInfo("127.0.0.1", 1234);
 
   std::vector<ReplicaInfo> replicas;
@@ -120,6 +123,18 @@ TEST(TcpSocket, ResDBConfigWith2Replicas) {
   EXPECT_EQ(config.GetReplicaNum(), replicas.size());
   EXPECT_EQ(config.GetMinDataReceiveNum(), 1);
 }
+*/
+
+TEST(ResDBConfigTest, ResDBConfigFromFile) {
+  const char * file = "platform/config/test.config";
+  const char * ext_file = "platform/config/expect_test.config";
+  ResConfigData config_data = ReadConfigFromFile(file);
+  ResConfigData ext_config_data = ReadConfigFromFile(ext_file);
+  std::cout<<config_data.DebugString()<<std::endl;
+
+  EXPECT_THAT(config_data, EqualsProto(ext_config_data));
+}
+
 
 }  // namespace
 
diff --git a/platform/config/resdb_config_utils.cpp b/platform/config/resdb_config_utils.cpp
index beae7e95..853c3ed4 100644
--- a/platform/config/resdb_config_utils.cpp
+++ b/platform/config/resdb_config_utils.cpp
@@ -25,12 +25,15 @@
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <unistd.h>
+#include <regex>
+#include <nlohmann/json.hpp>
 
 #include <fstream>
 
 namespace resdb {
 
 using ::google::protobuf::util::JsonParseOptions;
+using json = nlohmann::json;
 
 namespace {
 
@@ -90,14 +93,27 @@ ReplicaInfo GenerateReplicaInfo(int id, const std::string& ip, int port) {
   return info;
 }
 
+std::string RemoveJsonComments(const std::string& jsonWithComments) {
+    std::string result = std::regex_replace(jsonWithComments, std::regex("/\\*.*?\\*/"), "");
+    result = std::regex_replace(result, std::regex("//.*?\\n"), "\n");
+    return result;
+}
+
+
 ResConfigData ReadConfigFromFile(const std::string& file_name) {
   std::stringstream json_data;
   std::ifstream infile(file_name.c_str());
-  json_data << infile.rdbuf();
+  if (!infile.is_open()) {
+    std::cerr << "Failed to open file." <<file_name<<" "<< strerror(errno)<<std::endl;
+    return ResConfigData();
+  }
 
+  json_data << infile.rdbuf();
+  std::string cleanJson = RemoveJsonComments(json_data.str());
+ 
   ResConfigData config_data;
   JsonParseOptions options;
-  auto status = JsonStringToMessage(json_data.str(), &config_data, options);
+  auto status = JsonStringToMessage(cleanJson, &config_data, options);
   if (!status.ok()) {
     LOG(ERROR) << "parse json :" << file_name << " fail:" << status.message();
   }
@@ -113,6 +129,12 @@ std::vector<ReplicaInfo> ReadConfig(const std::string& file_name) {
   std::string ip;
   int port;
   while (infile >> id >> ip >> port) {
+    if(id == "//") {
+      continue;
+    }
+    if(id.size()==0) {
+      continue;
+    }
     replicas.push_back(GenerateReplicaInfo(id, ip, port));
   }
   if (replicas.size() == 0) {
diff --git a/platform/config/resdb_config_utils.h b/platform/config/resdb_config_utils.h
index 15d77a4b..1251e64d 100644
--- a/platform/config/resdb_config_utils.h
+++ b/platform/config/resdb_config_utils.h
@@ -40,4 +40,9 @@ std::unique_ptr<ResDBConfig> GenerateResDBConfig(
     std::optional<ConfigGenFunc> = std::nullopt);
 
 ResDBConfig GenerateResDBConfig(const std::string& config_file);
+
+
+ResConfigData ReadConfigFromFile(const std::string& file_name);
+
 }  // namespace resdb
+
diff --git a/platform/test/test_data/kv_config.config b/platform/test/test_data/kv_config.config
index ab12cbe0..1bacaecb 100644
--- a/platform/test/test_data/kv_config.config
+++ b/platform/test/test_data/kv_config.config
@@ -1,3 +1,20 @@
+// 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.
+
 {
   region : {
     replica_info : {
diff --git a/platform/test/test_data/server.config b/platform/test/test_data/server.config
index 2f7abe4a..01e32017 100644
--- a/platform/test/test_data/server.config
+++ b/platform/test/test_data/server.config
@@ -1,3 +1,20 @@
+// 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.
+
 {
   region : {
     replica_info : {
diff --git a/service/tools/config/interface/service.config b/service/tools/config/interface/service.config
index d357ba73..3d1f8e9c 100644
--- a/service/tools/config/interface/service.config
+++ b/service/tools/config/interface/service.config
@@ -1,3 +1,20 @@
+// 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.
+
 5 127.0.0.1 10005
 
 
diff --git a/service/tools/config/interface/service0.config b/service/tools/config/interface/service0.config
index 4c83dab7..7915b3a6 100644
--- a/service/tools/config/interface/service0.config
+++ b/service/tools/config/interface/service0.config
@@ -1,3 +1,21 @@
+// 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.
+
+
 1 127.0.0.1 10001
 
 
diff --git a/service/tools/config/server/contract_server.config b/service/tools/config/server/contract_server.config
index fc682d5d..6ae07aab 100644
--- a/service/tools/config/server/contract_server.config
+++ b/service/tools/config/server/contract_server.config
@@ -1,3 +1,20 @@
+// 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.
+
 {
   region : {
     replica_info : {
diff --git a/service/tools/config/server/server.config b/service/tools/config/server/server.config
index 740bae3a..9aa3e6fd 100644
--- a/service/tools/config/server/server.config
+++ b/service/tools/config/server/server.config
@@ -1,3 +1,20 @@
+// 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.
+
 {
   region : {
     replica_info : {
diff --git a/service/tools/contract/api_tools/client_config.config b/service/tools/contract/api_tools/client_config.config
index e1bcc905..1334de2b 100644
--- a/service/tools/contract/api_tools/client_config.config
+++ b/service/tools/contract/api_tools/client_config.config
@@ -1 +1,18 @@
+// 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.
+
 5 127.0.0.1 10005
diff --git a/service/tools/contract/api_tools/config/server_config.config b/service/tools/contract/api_tools/config/server_config.config
index ec284753..023a1570 100644
--- a/service/tools/contract/api_tools/config/server_config.config
+++ b/service/tools/contract/api_tools/config/server_config.config
@@ -1,3 +1,20 @@
+// 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.
+
 {
   region : {
     replica_info : {
diff --git a/service/tools/utxo/wallet_tool/cpp/client_config.config b/service/tools/utxo/wallet_tool/cpp/client_config.config
index e1bcc905..1334de2b 100644
--- a/service/tools/utxo/wallet_tool/cpp/client_config.config
+++ b/service/tools/utxo/wallet_tool/cpp/client_config.config
@@ -1 +1,18 @@
+// 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.
+
 5 127.0.0.1 10005
diff --git a/service/tools/utxo/wallet_tool/cpp/server_config0.config b/service/tools/utxo/wallet_tool/cpp/server_config0.config
index ee48298e..5561ff07 100644
--- a/service/tools/utxo/wallet_tool/cpp/server_config0.config
+++ b/service/tools/utxo/wallet_tool/cpp/server_config0.config
@@ -1 +1,18 @@
+// 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.
+
 1 127.0.0.1 10001
diff --git a/service/utxo/config/server_config.config b/service/utxo/config/server_config.config
index ec284753..023a1570 100644
--- a/service/utxo/config/server_config.config
+++ b/service/utxo/config/server_config.config
@@ -1,3 +1,20 @@
+// 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.
+
 {
   region : {
     replica_info : {