From bab7756215417c229ab63ef1a9373b4c4cc5fdf9 Mon Sep 17 00:00:00 2001 From: Eduard Tamsa Date: Mon, 6 Nov 2023 03:00:03 +0200 Subject: [PATCH] Add custom server --- helm/service/templates/sammwise.yaml | 4 +-- helm/service/values.yaml | 4 +-- index.js | 40 ++++++++++++++++++++++++++++ package.json | 2 +- 4 files changed, 45 insertions(+), 5 deletions(-) create mode 100644 index.js diff --git a/helm/service/templates/sammwise.yaml b/helm/service/templates/sammwise.yaml index 6215518..a9211f7 100644 --- a/helm/service/templates/sammwise.yaml +++ b/helm/service/templates/sammwise.yaml @@ -17,8 +17,8 @@ spec: image: {{ .Values.sammwise.image | quote }} # {{- if .Values.sammwise.NEXT_PUBLIC_BASE_PATH }} env: - - name: NEXT_PUBLIC_BASE_PATH - value: {{ .Values.sammwise.NEXT_PUBLIC_BASE_PATH | quote }} + # - name: NEXT_PUBLIC_BASE_PATH + # value: {{ .Values.sammwise.NEXT_PUBLIC_BASE_PATH | quote }} - name: RANCHER_SERVER value: {{ .Values.sammwise.RANCHER_SERVER | quote }} diff --git a/helm/service/values.yaml b/helm/service/values.yaml index bac9fa1..b8b13a0 100644 --- a/helm/service/values.yaml +++ b/helm/service/values.yaml @@ -5,8 +5,8 @@ ingressHost: https://kubernetes.default.svc sammwise: image: sjultra/sammwise:latest # port: 80 - NEXT_PUBLIC_BASE_PATH: "/k8s/clusters/c-m-26nk9h9f/api/v1/namespaces/sammwise/services/http:sammwise:80/proxy" - RANCHER_SERVER: "rancher.vzxy.net" + # NEXT_PUBLIC_BASE_PATH: "rancher.vzxy.net/k8s/clusters/c-m-26nk9h9f/api/v1/namespaces/sammwise/services/http:sammwise:80/proxy" + RANCHER_SERVER: "rancher.vzxy.net/k8s/clusters/c-m-26nk9h9f/api/v1/namespaces/sammwise/services/http:sammwise:80/proxy" # issuer: # issuerEmail: ops@sjultra.com diff --git a/index.js b/index.js new file mode 100644 index 0000000..c237389 --- /dev/null +++ b/index.js @@ -0,0 +1,40 @@ +const { createServer } = require('http') +const { parse } = require('url') +const next = require('next') + +const dev = process.env.NODE_ENV !== 'production' +const hostname = process.env.RANCHER_SERVER |'localhost' +const port = 80 +// when using middleware `hostname` and `port` must be provided below +const app = next({ dev, hostname, port }) +const handle = app.getRequestHandler() + +app.prepare().then(() => { + createServer(async (req, res) => { + try { + // Be sure to pass `true` as the second argument to `url.parse`. + // This tells it to parse the query portion of the URL. + const parsedUrl = parse(req.url, true) + const { pathname, query } = parsedUrl + + if (pathname === '/a') { + await app.render(req, res, '/a', query) + } else if (pathname === '/b') { + await app.render(req, res, '/b', query) + } else { + await handle(req, res, parsedUrl) + } + } catch (err) { + console.error('Error occurred handling', req.url, err) + res.statusCode = 500 + res.end('internal server error') + } + }) + .once('error', (err) => { + console.error(err) + process.exit(1) + }) + .listen(port, () => { + console.log(`> Ready on http://${hostname}:${port}`) + }) +}) \ No newline at end of file diff --git a/package.json b/package.json index b4eed3b..00cbefa 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "private": true, "scripts": { - "dev": "next dev", + "dev": "node index.js", "build": "next build", "start": "next start", "lint": "next lint"