Giter Club home page Giter Club logo

vispana's Introduction

Vispana

Vispana is a Vespa.ai web client tool designed to quickly understand the status of a cluster.

Vispana

Contents

  1. Quickstart
  2. Running Locally
  3. Contributing
  4. Known Limitations

Quickstart

Vispana is packaged in docker and available in DockerHub.

To run, execute:

docker run --pull always -p 4000:4000 vispana/vispana

Access on: http://localhost:4000

It will ask for the uri of a config-server in your cluster.

Running Vespa locally on a Docker

If you are running Vespa locally in a Docker container, alongside Vispana, you need to make sure that Vispana can access Vespa.

In a few steps, here's how to do it:

  1. Create a docker network
      docker network create --driver bridge vespanet
  2. Run Vespa within vespanet network and vespa-container hostname :
       docker run --detach --name vespa --network vespanet --hostname vespa-container --publish 8080:8080 --publish 19071:19071 vespaengine/vespa
  3. Run Vispana within vespanet network:
      docker run -p 4000:4000 --network vespanet vispana/vispana:latest
  4. Access Vispana in your browser via http://localhost:4000 and specify the config node as http://vespa-container:19071

Running Locally

Set up your system using the prerequisites section of CONTRIBUTING.md.

Then run the start script!

./start.sh

If you don't want to use the script, you can run the following command:

mvn spring-boot:run

Contributing

We welcome your contributions through code, documentation, and bug reports!

Please see our guidelines on how you can help.

Known Limitations

  • Accessing Vespa APIs with authentication is unsupported (i.e., Vespa Cloud is likely to not work).

vispana's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

vispana's Issues

Publish multi-arch docker images

First off, thanks for the great project!

I was hoping you could start building and publishing multi-arch docker images. When I run the docker container locally on my M1 MacBook I get a failure, even with emulation turned on (with the --platform option):

❯ docker run --rm -p 4000:4000 --platform linux/amd64 vispana/vispana
qemu: uncaught target signal 11 (Segmentation fault) - core dumped

Web UI fails to load

Vispana does not respond to GET http://localhost:4000 in the browser.

Steps To Reproduce

  1. Run the following command: docker run -p 4000:4000 vispana/vispana
  2. Open your browser to http://localhost:4000
  3. Observe: no response from the server
  4. Observe: no new logs in the docker container

What Is Expected

  • Expected the web UI to load and ask for the uri of a config-server in my cluster.
  • Expected to see logs from the container that record a failed/successful request.

What I Tried

I tried various URLs (appended /, use 0.0.0.0, use 127.0.0.1).

I did not troubleshoot the Dockerfile. I did not troubleshoot the application.

Logs

❯ docker run -p 4000:4000 vispana/vispana
Unable to find image 'vispana/vispana:latest' locally
latest: Pulling from vispana/vispana
8f04e8168e38: Pulling fs layer 
82e5f66f5d0e: Pulling fs layer 
c1c8f1c77d66: Pulling fs layer 
5095cab27771: Waiting 
ea7fe362a971: Waiting 
9ac4a5ae5c80: Waiting 
4b5ef7b37d1d: Waiting 
f0353445f3bb: Waiting 
e107371754cc: Waiting 
24666b3f1cd2: Pulling fs layer 
24666b3f1cd2: Waiting 
cbf4ab1b377c: Waiting 
8bcf01cc7f5c: Waiting 
abdef7d1bbc9: Pulling fs layer 
4f4fb700ef54: Pull complete 
6c6733fd2499: Pull complete 
ccf001bc4c0d: Pull complete 
2437f667203a: Pull complete 
657eb320f3dc: Pull complete 
97048ffb4c8b: Pull complete 
cd4009724509: Pull complete 
607cc6eeece9: Pull complete 
9394b72162b9: Pull complete 
d7d43227585a: Pull complete 
01f048d6ccbb: Pull complete 
1a7776a27c65: Pull complete 
ea7baa3f5c32: Pull complete 
8df74b8614b4: Pull complete 
9b8bf6ac8fe6: Pull complete 
1b797a21c2c3: Pull complete 
Digest: sha256:1bbb2b6beec3f08efb689d0fd1dabcbebcf60aed604ab9331cf76c8291c0b177
Status: Downloaded newer image for vispana/vispana:latest
[info] Running VispanaWeb.Endpoint with cowboy 2.9.0 at 0.0.0.0:4000 (http)
[info] Access VispanaWeb.Endpoint at http://localhost:4000

webpack is watching the files…

[hardsource:613130bc] Using 2 MB of disk space.
[hardsource:613130bc] Writing new cache 613130bc...
[hardsource:613130bc] Tracking node dependencies with: package-lock.json, yarn.lock.

warn - You have enabled the JIT engine which is currently in preview.
warn - Preview features are not covered by semver, may introduce breaking changes, and can change at any time.

🌼 daisyUI components 1.25.4  https://github.com/saadeghi/daisyui
  ✔︎ Including:  base, components, themes[22], utilities
  
Hash: 69593444650bcfe1593e
Version: webpack 4.41.5
Time: 2451ms
Built at: 03/06/2022 9:20:25 PM
                    Asset       Size  Chunks             Chunk Names
           ../css/app.css   65.9 KiB     app  [emitted]  app
           ../favicon.ico   1.23 KiB          [emitted]  
           ../img/fav.png   8.55 KiB          [emitted]  
../img/icons8-hive-64.png   2.38 KiB          [emitted]  
    ../img/vispana-ss.png    198 KiB          [emitted]  
          ../img/wasp.png   8.55 KiB          [emitted]  
            ../robots.txt  202 bytes          [emitted]  
                   app.js    567 KiB     app  [emitted]  app
Entrypoint app = ../css/app.css app.js
[0] multi ./js/app.js 28 bytes {app} [built]
[../deps/phoenix/priv/static/phoenix.js] 39.3 KiB {app} [built]
[../deps/phoenix_html/priv/static/phoenix_html.js] 2.21 KiB {app} [built]
[../deps/phoenix_live_view/priv/static/phoenix_live_view.js] 113 KiB {app} [built]
[./css/app.scss] 39 bytes {app} [built]
[./js/app.js] 2.07 KiB {app} [built]
[./js/init_modal.js] 832 bytes {app} [built]
    + 5 hidden modules
Child mini-css-extract-plugin node_modules/css-loader/dist/cjs.js!node_modules/sass-loader/dist/cjs.js!node_modules/postcss-loader/dist/cjs.js!css/app.scss:
    Entrypoint mini-css-extract-plugin = *
    [./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./css/app.scss] 68.1 KiB {mini-css-extract-plugin} [built]
        + 2 hidden modules

Support empty Vespa cluster

Vispana will just fail and give an error, if you start up an "empty" cluster (a cluster with no application deployed)
Vispana should at least show the config nodes and their state.

The use case:
When creating a new cluster it would be nice to use Vispana to see if the cluster is in a healthy state to deploy the application.

Fix grouping of results

Queries containing grouping don't seem to work as expected

SELECT * from schema WHERE (category matches 'a') limit 1 | all( group(category) each(output(count() ) ) ) 

Unable to load cluster status with Local Setup

After following the steps mentions in README.md, I am unable to view the vespa cluster status.

Steps:

  • Create a docker network
    docker network create --driver bridge vespanet
  • Run Vespa within vespanet network and vespa-container hostname :
    docker run --detach --name vespa --network vespanet --hostname vespa-container --publish 8080:8080 --publish 19071:19071 vespaengine/vespa
  • Run Vispana within vespanet network:
    docker run -p 4000:4000 --network vespanet vispana/vispana:latest
  • Access Vispana in your browser via http://localhost:4000/ and specify the config node as http://vespa-container:19071`
Screenshot 2024-03-01 at 3 33 54 PM

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.