Przeglądaj źródła

mounting volume into container

Stefan McShane 3 lat temu
rodzic
commit
0d82adf92e

+ 7 - 57
Tiltfile

@@ -5,8 +5,12 @@ secret_settings(disable_scrub=True)
 if not os.path.exists("vendor"):
     local(command="go mod vendor")
 
+if config.tilt_subcommand == "up":
+    local(command="cd dashboard; npm i --legacy-peer-deps")
+
 if config.tilt_subcommand == "down":
     local(command="rm -rf vendor")
+    local(command="rm -rf dashboard/node_modules")
 
 ## Build binary locally for faster devexp
 local_resource(
@@ -41,67 +45,13 @@ docker_build_with_restart(
 
 # Frontend
 # docker_build(
-#     ref='porter1/porter-dashboard', 
-#     context='.',
-#     dockerfile="zarf/docker/Dockerfile.dashboard.tilt",
-#     build_args={'node_env': 'development'},
-#     entrypoint='npm start',
-#     live_update=[
-#         fall_back_on(['dashboard/package.json', 'dashboard/package-lock.json']),
-#         sync('dashboard', '/app/'),
-#     ]
-# )
-# local_resource(
-#   'porter-dashboard',
-#   '''cd dashboard && NODE_ENV=production webpack --config webpack.config.js''',
-#   deps=[
-#     "dashboard"
-#   ],
-#   ignore=[
-#     "dashboard/node_modules"
-#   ],
-#   resource_deps=["postgresql"],
-#   labels=["porter"]
-# )
-
-# docker_build_with_restart(
-#     ref="porter1/porter-dashboard",
-#     context=".",
-#     dockerfile="zarf/docker/Dockerfile.dashboard.tilt",
-#     entrypoint='serve -s /app/build -p 8081',
-#     build_args={},
-#     only=[
-#         "dashboard/build",
-#     ],
-#     live_update=[
-#         sync('./dashboard/build', '/app/build/'),
-#     ]
-# ) 
-# docker_build_with_restart(
 #     ref="porter1/porter-dashboard",
 #     context=".",
 #     dockerfile="zarf/docker/Dockerfile.dashboard.tilt",
 #     entrypoint='webpack-dev-server --config webpack.config.js',
-#     build_args={},
-#     only=[
-#         "dashboard",
-#     ],
-#     live_update=[
-#         sync('./dashboard', '/app/'),
-#     ]
-# ) 
-docker_build(
-    ref="porter1/porter-dashboard",
-    context=".",
-    dockerfile="zarf/docker/Dockerfile.dashboard.tilt",
-    entrypoint='webpack-dev-server --config webpack.config.js',
-    live_update=[
-        # when package.json changes, we need to do a full build
-        fall_back_on(['dashboard/package.json', 'dashboard/package-lock.json']),
-        # Map the local source code into the container under /src
-        sync('dashboard', '/app/'),
-    ]
-)
+#     # entrypoint='npm start',
+#     only=['dashboard/package.json', 'dashboard/package-lock.json']
+# )
 
 allow_k8s_contexts('kind-porter')
 

Plik diff jest za duży
+ 625 - 189
dashboard/package-lock.json


+ 1 - 1
dashboard/src/main/auth/Login.tsx

@@ -222,7 +222,7 @@ const Login: React.FC<Props> = ({
           </>
         )}
         <Spacer y={1} />
-        <Text 
+        <Text
           size={13}
           color="helper"
         >

+ 5 - 7
dashboard/webpack.config.js

@@ -3,7 +3,7 @@ const HtmlWebpackPlugin = require("html-webpack-plugin");
 const webpack = require("webpack");
 const ReactRefreshWebpackPlugin = require("@pmmmwh/react-refresh-webpack-plugin");
 
-// const dotenv = require("dotenv");
+const dotenv = require("dotenv");
 
 const BundleAnalyzerPlugin = require("webpack-bundle-analyzer")
   .BundleAnalyzerPlugin;
@@ -11,13 +11,11 @@ const BundleAnalyzerPlugin = require("webpack-bundle-analyzer")
 const TerserPlugin = require("terser-webpack-plugin");
 
 module.exports = () => {
-  // let env = dotenv.config().parsed;
-
-  // if (!env) {
-  //   env = process.env;
-  // }
-  const env = process.env;
+  let env = dotenv.config().parsed;
 
+  if (!env) {
+    env = process.env;
+  }
   const envKeys = Object.keys(env).reduce((prev, next) => {
     const varName = `process.env.${next}`;
     if (typeof env[next] !== "string") return prev;

+ 4 - 3
zarf/docker/Dockerfile.dashboard.tilt

@@ -1,9 +1,10 @@
 FROM node:16
 WORKDIR /app
 
-COPY dashboard /app/
+# COPY dashboard /app/
 
 ENV NODE_ENV=development
 
-RUN npm ci --legacy-peer-deps
-RUN npm i -g webpack-dev-server@3.11.0
+# RUN npm ci --legacy-peer-deps
+RUN npm i -g webpack-dev-server@3.11.0 webpack-cli@3.3.12
+

+ 18 - 0
zarf/helm/kustomization.yaml

@@ -46,3 +46,21 @@ patchesStrategicMerge:
           envFrom:
           - configMapRef: 
               name: porter-dashboard-env
+- |-
+  apiVersion: apps/v1
+  kind: Deployment
+  metadata:
+    name: porter-dashboard-web
+  spec:
+    template:
+      spec:
+        volumes:
+        - name: hot-reload
+          hostPath:
+            path: /host/porter/dashboard
+            type: ''
+        containers:
+        - name: web
+          volumeMounts:
+          - name: hot-reload
+            mountPath: /app

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików