You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ke...@apache.org on 2021/11/04 04:34:40 UTC

[skywalking-showcase] 07/12: Add license headers

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

kezhenxu94 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-showcase.git

commit 981d2c5d2711056e4c6ede427c1fc73b23f4dcd9
Author: kezhenxu94 <ke...@apache.org>
AuthorDate: Wed Nov 3 22:32:21 2021 +0800

    Add license headers
---
 .licenserc.yaml                                    |  4 +++
 Makefile                                           |  3 +++
 Makefile.in                                        |  4 +--
 README.md                                          | 27 ++++++++++++++++++++
 deploy/platform/docker/Makefile                    | 18 ++++++++++++++
 deploy/platform/docker/docker-compose.yaml         | 17 +++++++++++++
 services/app/.dockerignore                         | 17 +++++++++++++
 services/app/.gitignore                            | 17 +++++++++++++
 services/app/Dockerfile                            | 29 +++++++++++++++++++---
 services/app/Makefile                              |  5 +++-
 services/app/server/index.js                       | 26 ++++++++++++++++---
 services/app/ui/.gitignore                         | 17 +++++++++++++
 services/app/ui/public/index.html                  | 19 ++++++++++++++
 services/app/ui/src/App.css                        | 19 ++++++++++++++
 services/app/ui/src/App.js                         | 19 ++++++++++++++
 services/app/ui/src/index.css                      | 19 ++++++++++++++
 services/app/ui/src/index.js                       | 23 ++++++++++++++++-
 services/app/ui/src/logo.svg                       | 19 ++++++++++++++
 services/app/ui/yarn.lock                          | 17 +++++++++++++
 services/gateway-service/build.gradle              | 19 ++++++++++++++
 .../gradle/wrapper/gradle-wrapper.properties       | 17 +++++++++++++
 services/gateway-service/gradlew                   | 17 +++++++++++++
 services/gateway-service/gradlew.bat               | 17 +++++++++++++
 services/gateway-service/settings.gradle           | 19 ++++++++++++++
 .../showcase/gateway/GatewayApplication.java       | 19 ++++++++++++++
 .../src/main/resources/application.yaml            | 17 +++++++++++++
 .../showcase/gateway/GatewayApplicationTests.java  | 19 ++++++++++++++
 services/recommendation-service/.dockerignore      | 17 +++++++++++++
 services/recommendation-service/Dockerfile         | 17 +++++++++++++
 29 files changed, 486 insertions(+), 11 deletions(-)

diff --git a/.licenserc.yaml b/.licenserc.yaml
index e79ce3c..60cc8e2 100644
--- a/.licenserc.yaml
+++ b/.licenserc.yaml
@@ -23,6 +23,10 @@ header:
 
   paths-ignore:
     - '**/build/**'
+    - '**/node_modules/**'
+    - '**/venv/**'
+    - '**/*.md'
+    - '**/*.json'
     - 'LICENSE'
     - 'NOTICE'
 
diff --git a/Makefile b/Makefile
index 2ccce23..37c9c61 100644
--- a/Makefile
+++ b/Makefile
@@ -41,6 +41,9 @@ $(services_docker): %.docker.build: %
 .PHONY: docker.build
 docker.build: $(services_docker)
 
+# Deploy and Undeploy
+
+## Docker Compose
 .PHONY: deploy.docker
 deploy.docker: undeploy.docker docker.build
 	$(MAKE) -C deploy/platform/docker deploy
diff --git a/Makefile.in b/Makefile.in
index 9a2cfd9..1e1cc03 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -25,5 +25,5 @@ ES_VERSION ?= 7.10.0
 OAP_IMAGE ?= ghcr.io/apache/skywalking/oap:c9bd79e8bb974e404766e3490c00c7404b9baf1e
 ROCKET_BOT_IMAGE ?= ghcr.io/apache/skywalking/ui:c9bd79e8bb974e404766e3490c00c7404b9baf1e
 
-SW_NODEJS_BACKEND_VERSION ?= e755659c7f308d3b5589619778c8360308cb14f8
-SW_NODEJS_FRONTEND_VERSION ?= af0565a67d382b683c1dbd94c379b7080db61449
+SW_AGENT_NODEJS_BACKEND_VERSION ?= e755659c7f308d3b5589619778c8360308cb14f8
+SW_AGENT_NODEJS_FRONTEND_VERSION ?= af0565a67d382b683c1dbd94c379b7080db61449
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..8ba3d6b
--- /dev/null
+++ b/README.md
@@ -0,0 +1,27 @@
+# Apache SkyWalking Showcase Application
+
+<img src="https://skywalking.apache.org/assets/logo.svg" alt="Sky Walking logo" height="90px" align="right" />
+
+[![Twitter Follow](https://img.shields.io/twitter/follow/asfskywalking.svg?style=for-the-badge&label=Follow&logo=twitter)](https://twitter.com/AsfSkyWalking)
+
+# Code of conduct
+
+This project adheres to the Contributor Covenant [code of conduct](https://www.apache.org/foundation/policies/conduct).
+By participating, you are expected to uphold this code. Please follow
+the [REPORTING GUIDELINES](https://www.apache.org/foundation/policies/conduct#reporting-guidelines) to report
+unacceptable behavior.
+
+# Contact Us
+
+* Mailing list
+    * To subscribe: send any content to dev-subscribe@skywalking.apache.org, follow the reply to subscribe the mail
+      list.
+    * Send discussions / questions to dev@skywalking.apache.org
+* Send `Request to join SkyWalking slack` mail to the mail list (dev@skywalking.apache.org), we will invite you in.
+* Twitter, [ASFSkyWalking](https://twitter.com/ASFSkyWalking)
+* QQ Group: 901167865(Recommended), 392443393
+* [bilibili B站 视频](https://space.bilibili.com/390683219)
+
+# License
+
+[Apache 2.0 License.](LICENSE)
diff --git a/deploy/platform/docker/Makefile b/deploy/platform/docker/Makefile
index f0b5f4b..f1c65c8 100644
--- a/deploy/platform/docker/Makefile
+++ b/deploy/platform/docker/Makefile
@@ -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.
+#
+
 include ../../../Makefile.in
 
 .PHONY: deploy
diff --git a/deploy/platform/docker/docker-compose.yaml b/deploy/platform/docker/docker-compose.yaml
index b0a0730..573fb0a 100644
--- a/deploy/platform/docker/docker-compose.yaml
+++ b/deploy/platform/docker/docker-compose.yaml
@@ -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.
+#
 version: '2.1'
 
 services:
diff --git a/services/app/.dockerignore b/services/app/.dockerignore
index 338e505..7509050 100644
--- a/services/app/.dockerignore
+++ b/services/app/.dockerignore
@@ -1,2 +1,19 @@
+# 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.
+#
 **/node_modules/**
 **/build/**
diff --git a/services/app/.gitignore b/services/app/.gitignore
index 4d29575..2f39cc9 100644
--- a/services/app/.gitignore
+++ b/services/app/.gitignore
@@ -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.
+#
 # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
 
 # dependencies
diff --git a/services/app/Dockerfile b/services/app/Dockerfile
index 491de02..9900a4d 100644
--- a/services/app/Dockerfile
+++ b/services/app/Dockerfile
@@ -1,19 +1,40 @@
-
+# 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.
+#
 FROM node:10
 
-ARG SW_NODEJS_BACKEND_VERSION
+ARG SW_AGENT_NODEJS_BACKEND_VERSION
+ARG SW_AGENT_NODEJS_FRONTEND_VERSION
 
 WORKDIR /skywalking-nodejs-backend
 
 RUN git clone --recurse-submodules https://github.com/apache/skywalking-nodejs.git . ; \
-    git reset --hard ${SW_NODEJS_BACKEND_VERSION} ; \
+    git reset --hard ${SW_AGENT_NODEJS_BACKEND_VERSION} ; \
+    git submodule update ; \
+    git submodule sync ; \
     npm install ; \
     npm run build
 
 WORKDIR /skywalking-nodejs-frontend
 
 RUN git clone --recurse-submodules https://github.com/apache/skywalking-client-js.git . ; \
-    git reset --hard ${SW_NODEJS_FRONTEND_VERSION} ; \
+    git reset --hard ${SW_AGENT_NODEJS_FRONTEND_VERSION} ; \
+    git submodule update ; \
+    git submodule sync ; \
     npm install ; \
     npm run build
 
diff --git a/services/app/Makefile b/services/app/Makefile
index a7046d6..2560e3d 100644
--- a/services/app/Makefile
+++ b/services/app/Makefile
@@ -26,7 +26,10 @@ build: docker.build
 docker: docker.push
 
 docker.build:
-	docker build . -t $(HUB)/app:$(TAG)
+	docker build \
+		--build-arg SW_AGENT_NODEJS_FRONTEND_VERSION=${SW_AGENT_NODEJS_FRONTEND_VERSION} \
+		--build-arg SW_AGENT_NODEJS_BACKEND_VERSION=${SW_AGENT_NODEJS_BACKEND_VERSION} \
+		. -t $(HUB)/app:$(TAG)
 
 docker.push: docker.build
 	docker push $(HUB)/app:$(TAG)
diff --git a/services/app/server/index.js b/services/app/server/index.js
index a5995d8..5662982 100644
--- a/services/app/server/index.js
+++ b/services/app/server/index.js
@@ -1,3 +1,22 @@
+/*
+ * 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.
+ *
+ */
 const path = require('path');
 const express = require('express');
 const axios = require('axios');
@@ -9,14 +28,15 @@ agent.start({
 });
 
 const PORT = process.env.PORT || 80;
+const GATEWAY = process.env.GATEWAY || 'gateway';
 
 const app = express();
 
 app.use(express.static(path.resolve(__dirname, '../ui/build')));
 
 app.get("/homepage", async (req, res) => {
-    const top = await axios.get('http://gateway/songs/top');
-    const rcmd = await axios.get('http://gateway/rcmd');
+    const top = await axios.get(`http://${GATEWAY}/songs/top`);
+    const rcmd = await axios.get(`http://${GATEWAY}/rcmd`);
 
     res.json({
         top: top.data,
@@ -25,7 +45,7 @@ app.get("/homepage", async (req, res) => {
 });
 
 app.get("/health", async (req, res) => {
-    res.json({ healthy: true });
+    res.json({healthy: true});
 });
 
 app.get('*', (req, res) => {
diff --git a/services/app/ui/.gitignore b/services/app/ui/.gitignore
index 4d29575..2f39cc9 100644
--- a/services/app/ui/.gitignore
+++ b/services/app/ui/.gitignore
@@ -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.
+#
 # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
 
 # dependencies
diff --git a/services/app/ui/public/index.html b/services/app/ui/public/index.html
index aa069f2..569776c 100644
--- a/services/app/ui/public/index.html
+++ b/services/app/ui/public/index.html
@@ -1,3 +1,22 @@
+<!--
+  ~ 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.
+  ~
+-->
 <!DOCTYPE html>
 <html lang="en">
   <head>
diff --git a/services/app/ui/src/App.css b/services/app/ui/src/App.css
index 3e508d8..ba2f24e 100644
--- a/services/app/ui/src/App.css
+++ b/services/app/ui/src/App.css
@@ -1,3 +1,22 @@
+/*
+ * 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.
+ *
+ */
 .App {
   text-align: center;
 }
diff --git a/services/app/ui/src/App.js b/services/app/ui/src/App.js
index bad7101..d026296 100644
--- a/services/app/ui/src/App.js
+++ b/services/app/ui/src/App.js
@@ -1,3 +1,22 @@
+/*
+ * 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.
+ *
+ */
 import React from 'react';
 import logo from './logo.svg';
 import './App.css';
diff --git a/services/app/ui/src/index.css b/services/app/ui/src/index.css
index ec2585e..af77bd6 100644
--- a/services/app/ui/src/index.css
+++ b/services/app/ui/src/index.css
@@ -1,3 +1,22 @@
+/*
+ * 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.
+ *
+ */
 body {
   margin: 0;
   font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
diff --git a/services/app/ui/src/index.js b/services/app/ui/src/index.js
index f8c8c60..0609cb1 100644
--- a/services/app/ui/src/index.js
+++ b/services/app/ui/src/index.js
@@ -1,3 +1,22 @@
+/*
+ * 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.
+ *
+ */
 import React from 'react';
 import ReactDOM from 'react-dom';
 import './index.css';
@@ -5,8 +24,10 @@ import App from './App';
 
 import ClientMonitor from 'skywalking-client-js';
 
+const OAP = process.env.OAP || 'oap';
+
 ClientMonitor.register({
-    collector: 'http://oap:12800',
+    collector: `http://${OAP}:12800`,
     service: 'ui',
     pagePath: '/homepage',
     serviceVersion: 'v1.0.0',
diff --git a/services/app/ui/src/logo.svg b/services/app/ui/src/logo.svg
index 9dfc1c0..e1af96c 100644
--- a/services/app/ui/src/logo.svg
+++ b/services/app/ui/src/logo.svg
@@ -1 +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.
+  ~
+-->
 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.9 595.3"><g fill="#61DAFB"><path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11 [...]
\ No newline at end of file
diff --git a/services/app/ui/yarn.lock b/services/app/ui/yarn.lock
index a72ac5b..4bbe588 100644
--- a/services/app/ui/yarn.lock
+++ b/services/app/ui/yarn.lock
@@ -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.
+#
 # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
 # yarn lockfile v1
 
diff --git a/services/gateway-service/build.gradle b/services/gateway-service/build.gradle
index 555a111..40dc446 100644
--- a/services/gateway-service/build.gradle
+++ b/services/gateway-service/build.gradle
@@ -1,3 +1,22 @@
+/*
+ * 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.
+ *
+ */
 plugins {
 	id 'org.springframework.boot' version '2.5.6'
 	id 'io.spring.dependency-management' version '1.0.11.RELEASE'
diff --git a/services/gateway-service/gradle/wrapper/gradle-wrapper.properties b/services/gateway-service/gradle/wrapper/gradle-wrapper.properties
index ffed3a2..4cfc668 100644
--- a/services/gateway-service/gradle/wrapper/gradle-wrapper.properties
+++ b/services/gateway-service/gradle/wrapper/gradle-wrapper.properties
@@ -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.
+#
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
diff --git a/services/gateway-service/gradlew b/services/gateway-service/gradlew
index 1b6c787..4f0eb25 100755
--- a/services/gateway-service/gradlew
+++ b/services/gateway-service/gradlew
@@ -1,4 +1,21 @@
 #!/bin/sh
+# 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.
+#
 
 #
 # Copyright © 2015-2021 the original authors.
diff --git a/services/gateway-service/gradlew.bat b/services/gateway-service/gradlew.bat
index 107acd3..a74be7b 100644
--- a/services/gateway-service/gradlew.bat
+++ b/services/gateway-service/gradlew.bat
@@ -1,3 +1,20 @@
+rem Licensed to the Apache Software Foundation (ASF) under one
+rem or more contributor license agreements.  See the NOTICE file
+rem distributed with this work for additional information
+rem regarding copyright ownership.  The ASF licenses this file
+rem to you under the Apache License, Version 2.0 (the
+rem "License"); you may not use this file except in compliance
+rem with the License.  You may obtain a copy of the License at
+rem
+rem   http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing,
+rem software distributed under the License is distributed on an
+rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+rem KIND, either express or implied.  See the License for the
+rem specific language governing permissions and limitations
+rem under the License.
+rem
 @rem
 @rem Copyright 2015 the original author or authors.
 @rem
diff --git a/services/gateway-service/settings.gradle b/services/gateway-service/settings.gradle
index d0b38d1..df92b4f 100644
--- a/services/gateway-service/settings.gradle
+++ b/services/gateway-service/settings.gradle
@@ -1 +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.
+ *
+ */
 rootProject.name = 'gateway-service'
diff --git a/services/gateway-service/src/main/java/org/apache/skywalking/showcase/gateway/GatewayApplication.java b/services/gateway-service/src/main/java/org/apache/skywalking/showcase/gateway/GatewayApplication.java
index 37c67c2..9fb0254 100644
--- a/services/gateway-service/src/main/java/org/apache/skywalking/showcase/gateway/GatewayApplication.java
+++ b/services/gateway-service/src/main/java/org/apache/skywalking/showcase/gateway/GatewayApplication.java
@@ -1,3 +1,22 @@
+/*
+ * 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.
+ *
+ */
 package org.apache.skywalking.showcase.gateway;
 
 import org.springframework.boot.SpringApplication;
diff --git a/services/gateway-service/src/main/resources/application.yaml b/services/gateway-service/src/main/resources/application.yaml
index 4fa9a53..2b728d8 100644
--- a/services/gateway-service/src/main/resources/application.yaml
+++ b/services/gateway-service/src/main/resources/application.yaml
@@ -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.
+#
 server:
   port: 80
   address: 0.0.0.0
diff --git a/services/gateway-service/src/test/java/org/apache/skywalking/showcase/gateway/GatewayApplicationTests.java b/services/gateway-service/src/test/java/org/apache/skywalking/showcase/gateway/GatewayApplicationTests.java
index e8e43b9..9c48e2f 100644
--- a/services/gateway-service/src/test/java/org/apache/skywalking/showcase/gateway/GatewayApplicationTests.java
+++ b/services/gateway-service/src/test/java/org/apache/skywalking/showcase/gateway/GatewayApplicationTests.java
@@ -1,3 +1,22 @@
+/*
+ * 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.
+ *
+ */
 package org.apache.skywalking.showcase.gateway;
 
 import org.junit.jupiter.api.Test;
diff --git a/services/recommendation-service/.dockerignore b/services/recommendation-service/.dockerignore
index a415184..83abcf1 100644
--- a/services/recommendation-service/.dockerignore
+++ b/services/recommendation-service/.dockerignore
@@ -1,2 +1,19 @@
+# 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.
+#
 venv
 .venv
diff --git a/services/recommendation-service/Dockerfile b/services/recommendation-service/Dockerfile
index bff98f7..2755a0a 100644
--- a/services/recommendation-service/Dockerfile
+++ b/services/recommendation-service/Dockerfile
@@ -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.
+#
 FROM apache/skywalking-python:0.7.0-grpc-py3.9
 
 WORKDIR /workspace