diff --git a/.dockerignore b/.dockerignore index 85fddf4..6bde8b9 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,2 +1 @@ frontend/node_modules/ -frontend/build/ diff --git a/backend/elasticsurgery/app.py b/backend/elasticsurgery/app.py index 14b2daa..8bd0f49 100644 --- a/backend/elasticsurgery/app.py +++ b/backend/elasticsurgery/app.py @@ -1,7 +1,18 @@ +from os import path + from flask import Flask from . import settings -app = Flask('elasticsurgery') + +frontend_build_dir = path.abspath(path.join( + path.dirname(__file__), '..', '..', 'frontend', 'build', +)) + +app = Flask( + 'elasticsurgery', + static_folder=path.join(frontend_build_dir, 'static'), + template_folder=frontend_build_dir, +) app.debug = settings.DEBUG app.secret_key = settings.SECRET_KEY diff --git a/backend/elasticsurgery/views/__init__.py b/backend/elasticsurgery/views/__init__.py index 6f9177f..8f470d4 100644 --- a/backend/elasticsurgery/views/__init__.py +++ b/backend/elasticsurgery/views/__init__.py @@ -1,4 +1,4 @@ -from flask import jsonify +from flask import jsonify, render_template from ..app import app @@ -6,3 +6,8 @@ @app.route('/ping', methods=('GET',)) def get_ping(): return jsonify(ping='pong') + + +@app.route('/', methods=('GET',)) +def get_frontend(): + return render_template('index.html') diff --git a/kubetools.yml b/kubetools.yml index d165e82..b90faa8 100644 --- a/kubetools.yml +++ b/kubetools.yml @@ -5,6 +5,11 @@ containerContexts: elasticsurgery: build: dockerfile: docker/Dockerfile + preBuildCommands: + - [rm, -rf, frontend/build/] # remove any existing + - [npm, --prefix, frontend/, prune] + - [npm, --prefix, frontend/, install, --quiet] + - [npm, --prefix, frontend/, run, build] dev: volumes: - ./:/opt/elasticsurgery