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/09 03:39:46 UTC
[skywalking-showcase] branch main updated: Add agentless Docker
images
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
The following commit(s) were added to refs/heads/main by this push:
new 5d3fcca Add agentless Docker images
5d3fcca is described below
commit 5d3fccaecd0d5b765aee85c1d220ecda7c2909a7
Author: kezhenxu94 <ke...@apache.org>
AuthorDate: Tue Nov 9 11:39:33 2021 +0800
Add agentless Docker images
---
Makefile.in | 1 +
services/app/.dockerignore | 1 +
services/app/{.dockerignore => Dockerfile.agentless} | 14 ++++++++++++--
...dockerignore => Dockerfile.agentless.dockerignore} | 2 ++
services/app/Makefile | 5 ++++-
services/app/server/{index.js => index.agentless.js} | 15 ---------------
services/app/server/index.js | 2 +-
services/app/ui/src/{index.js => index.agentless.js} | 19 ++++---------------
services/app/ui/src/index.js | 12 +++++-------
.../Dockerfile.agentless} | 8 ++++++--
services/gateway-service/Makefile | 4 +++-
services/load-gen/Makefile | 2 +-
.../Dockerfile.agentless} | 14 ++++++++++++--
services/recommendation-service/Makefile | 4 +++-
.../Dockerfile.agentless} | 8 ++++++--
services/songs-service/Makefile | 3 ++-
16 files changed, 63 insertions(+), 51 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index cbf062e..0add014 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -20,6 +20,7 @@ comma := ,
.EXPORT_ALL_VARIABLES:
+DOCKER_BUILDKIT ?= 1
HUB ?= ghcr.io/apache/skywalking-showcase
TAG ?= $(shell git rev-parse --short HEAD)
diff --git a/services/app/.dockerignore b/services/app/.dockerignore
index 7509050..3d3f06e 100644
--- a/services/app/.dockerignore
+++ b/services/app/.dockerignore
@@ -17,3 +17,4 @@
#
**/node_modules/**
**/build/**
+**/*agentless*
diff --git a/services/app/.dockerignore b/services/app/Dockerfile.agentless
similarity index 80%
copy from services/app/.dockerignore
copy to services/app/Dockerfile.agentless
index 7509050..1e2bd27 100644
--- a/services/app/.dockerignore
+++ b/services/app/Dockerfile.agentless
@@ -15,5 +15,15 @@
# specific language governing permissions and limitations
# under the License.
#
-**/node_modules/**
-**/build/**
+FROM node:10
+
+WORKDIR /app
+
+COPY . .
+
+RUN mv ui/src/index.agentless.js ui/src/index.js
+RUN mv server/index.agentless.js server/index.js
+
+RUN npm install && npm run build
+
+CMD npm start
diff --git a/services/app/.dockerignore b/services/app/Dockerfile.agentless.dockerignore
similarity index 92%
copy from services/app/.dockerignore
copy to services/app/Dockerfile.agentless.dockerignore
index 7509050..11000c9 100644
--- a/services/app/.dockerignore
+++ b/services/app/Dockerfile.agentless.dockerignore
@@ -17,3 +17,5 @@
#
**/node_modules/**
**/build/**
+
+index.js # ignore agent files to fail the build in case we have bugs
diff --git a/services/app/Makefile b/services/app/Makefile
index f38b33a..5da48f3 100644
--- a/services/app/Makefile
+++ b/services/app/Makefile
@@ -23,13 +23,16 @@ build:
.PHONY: docker docker.build docker.push
-docker: docker.push
+docker: docker.build
docker.build:
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 build \
+ . -t $(HUB)/app:$(TAG)-agentless -f Dockerfile.agentless
docker.push: docker.build
docker push $(HUB)/app:$(TAG)
+ docker push $(HUB)/app:$(TAG)-agentless
diff --git a/services/app/server/index.js b/services/app/server/index.agentless.js
similarity index 69%
copy from services/app/server/index.js
copy to services/app/server/index.agentless.js
index 0dedbfd..73d0430 100644
--- a/services/app/server/index.js
+++ b/services/app/server/index.agentless.js
@@ -19,18 +19,7 @@
*/
const path = require('path');
const express = require('express');
-const { createProxyMiddleware } = require('http-proxy-middleware');
const axios = require('axios');
-const {default: agent} = require('skywalking-backend-js');
-
-const oapHttpAddress = 'http://oap:12800'
-
-// @feature: nodejs-agent-backend;
-agent.start({
- serviceName: 'app',
- maxBufferSize: 1000,
- traceIgnorePath: '/browser/**,/v3/**,/health',
-});
const PORT = process.env.PORT || 80;
const GATEWAY = process.env.GATEWAY || 'gateway';
@@ -39,10 +28,6 @@ const app = express();
app.use(express.static(path.resolve(__dirname, '../ui/build')));
-// @feature: nodejs-agent-frontend; you need to proxy the path '/browser/*' and '/v3/*' in UI to the OAP 12800 endpoint. You can use reverse proxy like Nginx or anything similar.
-app.use('/browser', createProxyMiddleware({ target: oapHttpAddress }))
-app.use('/v3', createProxyMiddleware({ target: oapHttpAddress }))
-
app.get('/homepage', async (req, res) => {
const top = await axios.get(`http://${GATEWAY}/songs/top`);
const rcmd = await axios.get(`http://${GATEWAY}/rcmd`);
diff --git a/services/app/server/index.js b/services/app/server/index.js
index 0dedbfd..ec83714 100644
--- a/services/app/server/index.js
+++ b/services/app/server/index.js
@@ -21,7 +21,7 @@ const path = require('path');
const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware');
const axios = require('axios');
-const {default: agent} = require('skywalking-backend-js');
+const { default: agent } = require('skywalking-backend-js');
const oapHttpAddress = 'http://oap:12800'
diff --git a/services/app/ui/src/index.js b/services/app/ui/src/index.agentless.js
similarity index 74%
copy from services/app/ui/src/index.js
copy to services/app/ui/src/index.agentless.js
index 9e58cf8..d266414 100644
--- a/services/app/ui/src/index.js
+++ b/services/app/ui/src/index.agentless.js
@@ -22,20 +22,9 @@ import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
-import ClientMonitor from 'skywalking-client-js';
-
-const OAP = process.env.OAP || 'oap';
-
-// @feature: nodejs-agent-frontend;
-ClientMonitor.register({
- service: 'ui',
- pagePath: '/homepage',
- serviceVersion: 'v1.0.0',
-});
-
ReactDOM.render(
- <React.StrictMode>
- <App />
- </React.StrictMode>,
- document.getElementById('root')
+ <React.StrictMode>
+ <App/>
+ </React.StrictMode>,
+ document.getElementById('root')
);
diff --git a/services/app/ui/src/index.js b/services/app/ui/src/index.js
index 9e58cf8..52d8017 100644
--- a/services/app/ui/src/index.js
+++ b/services/app/ui/src/index.js
@@ -22,11 +22,9 @@ import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
+// @feature: nodejs-agent-frontend;
import ClientMonitor from 'skywalking-client-js';
-const OAP = process.env.OAP || 'oap';
-
-// @feature: nodejs-agent-frontend;
ClientMonitor.register({
service: 'ui',
pagePath: '/homepage',
@@ -34,8 +32,8 @@ ClientMonitor.register({
});
ReactDOM.render(
- <React.StrictMode>
- <App />
- </React.StrictMode>,
- document.getElementById('root')
+ <React.StrictMode>
+ <App/>
+ </React.StrictMode>,
+ document.getElementById('root')
);
diff --git a/services/app/.dockerignore b/services/gateway-service/Dockerfile.agentless
similarity index 85%
copy from services/app/.dockerignore
copy to services/gateway-service/Dockerfile.agentless
index 7509050..1223196 100644
--- a/services/app/.dockerignore
+++ b/services/gateway-service/Dockerfile.agentless
@@ -15,5 +15,9 @@
# specific language governing permissions and limitations
# under the License.
#
-**/node_modules/**
-**/build/**
+
+FROM adoptopenjdk/openjdk11:alpine-jre
+
+COPY build/libs/gateway-service-0.0.1-SNAPSHOT.jar /app.jar
+
+CMD ["java", "-jar", "/app.jar"]
diff --git a/services/gateway-service/Makefile b/services/gateway-service/Makefile
index 079ba96..10b5d5a 100644
--- a/services/gateway-service/Makefile
+++ b/services/gateway-service/Makefile
@@ -26,10 +26,12 @@ clean:
.PHONY: docker docker.build docker.push
-docker: docker.push
+docker: docker.build
docker.build: build
docker build . -t $(HUB)/gateway-service:$(TAG)
+ docker build . -t $(HUB)/gateway-service:$(TAG)-agentless -f Dockerfile.agentless
docker.push: docker.build
docker push $(HUB)/gateway-service:$(TAG)
+ docker push $(HUB)/gateway-service:$(TAG)-agentless
diff --git a/services/load-gen/Makefile b/services/load-gen/Makefile
index 05dc0ff..421b35e 100644
--- a/services/load-gen/Makefile
+++ b/services/load-gen/Makefile
@@ -23,7 +23,7 @@ build:
.PHONY: docker docker.build docker.push
-docker: docker.push
+docker: docker.build
docker.build:
docker build . -t $(HUB)/load-gen:$(TAG)
diff --git a/services/app/.dockerignore b/services/recommendation-service/Dockerfile.agentless
similarity index 86%
copy from services/app/.dockerignore
copy to services/recommendation-service/Dockerfile.agentless
index 7509050..0ed70ef 100644
--- a/services/app/.dockerignore
+++ b/services/recommendation-service/Dockerfile.agentless
@@ -15,5 +15,15 @@
# specific language governing permissions and limitations
# under the License.
#
-**/node_modules/**
-**/build/**
+
+FROM python:3
+
+WORKDIR /workspace
+
+COPY requirements.txt .
+
+RUN pip install -r requirements.txt
+
+COPY src .
+
+CMD python app.py
diff --git a/services/recommendation-service/Makefile b/services/recommendation-service/Makefile
index fff6299..bdcd70d 100644
--- a/services/recommendation-service/Makefile
+++ b/services/recommendation-service/Makefile
@@ -23,10 +23,12 @@ build:
.PHONY: docker docker.build docker.push
-docker: docker.push
+docker: docker.build
docker.build:
docker build . -t $(HUB)/recommendation-service:$(TAG)
+ docker build . -t $(HUB)/recommendation-service:$(TAG)-agentless -f Dockerfile.agentless
docker.push: docker.build
docker push $(HUB)/recommendation-service:$(TAG)
+ docker push $(HUB)/recommendation-service:$(TAG)-agentless
diff --git a/services/app/.dockerignore b/services/songs-service/Dockerfile.agentless
similarity index 85%
copy from services/app/.dockerignore
copy to services/songs-service/Dockerfile.agentless
index 7509050..bdf6d09 100644
--- a/services/app/.dockerignore
+++ b/services/songs-service/Dockerfile.agentless
@@ -15,5 +15,9 @@
# specific language governing permissions and limitations
# under the License.
#
-**/node_modules/**
-**/build/**
+
+FROM adoptopenjdk/openjdk11:alpine-jre
+
+COPY build/libs/songs-service-0.0.1-SNAPSHOT.jar /app.jar
+
+CMD ["java", "-jar", "/app.jar"]
diff --git a/services/songs-service/Makefile b/services/songs-service/Makefile
index d3502af..2916b7f 100644
--- a/services/songs-service/Makefile
+++ b/services/songs-service/Makefile
@@ -26,10 +26,11 @@ clean:
.PHONY: docker docker.build docker.push
-docker: docker.push
+docker: docker.build
docker.build: build
docker build . -t $(HUB)/songs-service:$(TAG)
+ docker build . -t $(HUB)/songs-service:$(TAG)-agentless -f Dockerfile.agentless
docker.push: docker.build
docker push $(HUB)/songs-service:$(TAG)