Giter Site home page Giter Site logo

orzhaha / cassandra-web Goto Github PK

View Code? Open in Web Editor NEW
79.0 79.0 19.0 55.29 MB

cassandra web ui

License: MIT License

JavaScript 55.41% Go 24.45% Dockerfile 1.35% Pug 0.17% SCSS 17.69% Mustache 0.92%
cassandra cassandra-ui cassandra-web golang javascript vue vuejs web

cassandra-web's People

Contributors

benmanifold avatar dependabot[bot] avatar kfrico avatar lin-yen avatar lwille avatar yulintsai avatar

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  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  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  avatar  avatar  avatar  avatar  avatar

cassandra-web's Issues

This Docker build is not compatible with ARM platform

I have tried to build the project on ARM platform and its failing with below error

xec /bin/sh: exec format error

It seems the source is not compatible with ARM. Could you please make this ARM platform compatible also.

Unable to connect to cassandra: unable to create session: unable to discover protocol version: authentication required

Hi,

I have tried deploying cassandra-web to kubernetes and hook it up with bitnami-cassandra, but the app fails with the following error:

{"time":"2020-08-20T09:08:51.771615881Z","level":"INFO","prefix":"-","file":"main.go","line":"131","message":"Cofing 設定成功"}
{"time":"2020-08-20T09:08:51.819951735Z","level":"FATAL","prefix":"-","file":"main.go","line":"154","message":"gocql: unable to create session: unable to discover protocol version: authentication required (using \"org.apache.cassandra.auth.PasswordAuthenticator\")"}

My deployment manifest looks like:

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: cassandra-web
  name: cassandra-web
  namespace: pipeline
spec:
  replicas: 1
  selector:
    matchLabels:
      app: cassandra-web
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: cassandra-web
    spec:
      containers:
      - name: cassandra-web
        image: ipushc/cassandra-web:latest
        imagePullPolicy: IfNotPresent
        env:
        - name: HOST_PORT
          value: ":80"
        - name: CASSANDRA_HOST
          value: cassandra.pipeline.svc.cluster.local # <- tried with cassandra-headless too
        - name: CASSANDRA_PORT
          value: "9042"
        - name: CASSANDRA_USERNAME
          value: cassandra
        - name: CASSANDRA_PASSWORD
          valueFrom:
            secretKeyRef:
              key: cassandra-password
              name: cassandra
        ports:
        - containerPort: 80
          name: http
          protocol: TCP
        resources: {}

Questions about enable_materialized_views and enable_transient_replication

Thanks for providing this useful container.

I have a question about two cassandra configs: enable_materialized_views and enable_transient_replication. It seems the official document says "Materialized views are considered experimental and are not recommended for production use." And the default value for these two parameters are False in the document. They say they will disable them in Cassandra 4.

However, in the latest version of Cassandra (3.11.4), the default value for them are still True, as is the setting in your container's cassandra.yaml.

Shall we disable them manually for now?
Thanks!

Security of the app

Hello,

  1. This app requires that both CASSANDRA_USERNAME and CASSANDRA_PASSWORD are defined.
    This means that anyone accessing the URL of the webapp automatically has full access to the database.
    Not only that, it also means that the superuser's password is hardcoded in a file.

Would it be possible to not have to provide these environment variables, and instead have a Log In front page, where we can just enter the username and password?

  1. The HTML assets are using absolute paths:
        <link href=/static/css/chunk-vendors.62e245e7.css rel=preload as=style>
        <link href=/static/css/index.9c79d7e1.css rel=preload as=style>
        <link href=/static/js/chunk-vendors.f1428dfc.js rel=preload as=script>
        <link href=/static/js/index.ab7d7262.js rel=preload as=script>
        <link href=/static/css/chunk-vendors.62e245e7.css rel=stylesheet>
        <link href=/static/css/index.9c79d7e1.css rel=stylesheet>

        <script src=/static/js/chunk-vendors.f1428dfc.js></script>
        <script src=/static/js/index.ab7d7262.js></script>

Is it possible to either make these "relative" paths (instead of absolute), or allow us to provide an environment variable that says what the "prefix" should be?

That way, we'd be able to set this webapp inside a subpath, e.g. admin.mydomain.com/cassandra-web/

Thank you very much

Publish Helm chart

Do you consider to publish the helm chart as a public repository, so the user just have execute "helm install" without cloning your repo?

Helm 3 chart usage

is helm chart still supported? any special repo i should add to make it work?
when trying to deploy the chart as described

helm install cassandra-web cassandra-web --namespace default -f cass-web.yml 

i am getting

Error: failed to download "cassandra-web" 

Helm version

version.BuildInfo{Version:"v3.3.2", GitCommit:"e5077257b6ca106d1f65652b4ca994736d221ab1", GitTreeState:"clean", GoVersion:"go1.14.9"}

Security and compliance updates for goland and alpine

To allow use in environments with rigorous CVE requirements, it would be useful to update the dockerfile with updated base images, to at least golang:1.18-alpine for the build server stage and alpine 3.13.8 for the final stage.

It would also make this easier to square with enterprise infosec if the container did not run as root.

Can't get data

Cannot get data from a table. Constantly get a "No data" error msg.

Cassandra version: v3.11.9
Running cassandra-web docker image: ipushc/cassandra-web:v1.0.14

  • I can see the cables
  • The table contains data but no data is returned to the UI.

If you need any other data just let me know.

Fail to build on v1.0.4 because of filure to make client.go

as title.

I can build it on v1.0.3 but not v1.0.4 as client.go cannot be built.

~/go/bin/go-bindata -o=client/client.go -pkg=client client/dist/...
bindata: Failed to stat input path 'client/dist': lstat client/dist: no such file or directory

missing ingress.yaml in helm chart

Hey,

first, thank you for your work, really cool project. I think, the ingress.yaml is missing under "kubernetes/helm/cassandra-web/templates", since there is a configuration for this in values.yaml

Edit/Delete has problem with strings containing numbers containing leading zeros

Hi, there is an issue while editing/deleting rows where the part of the id is a string containing a number with leading zero(s).

We have a following table

create table dps_usage_consumption.evs_to_acc
(
    event_source   text,
    account_num    text,
    bill_event_seq int,
    last_bill_date date,
    next_bill_date date,
    primary key (event_source, account_num)
)

event_source may contain msisdns in international format, like 00421xxxxxxxxx
Unfortunately, when you edit/delete such a row it sends request where the event_source is without leading zeros, like:

{"item":"{\"event_source\":421949323548,\"account_num\":3107413306,\"bill_event_seq\":43,\"last_bill_date\":\"2023-02-01\",\"next_bill_date\":\"2023-02-01\"}","table":"dps_usage_consumption.evs_to_acc"}

image

I assume it's the problem in method

jsonParams(jsonString) {
      try {
        return JSONbig.parse(jsonString)
      } catch (e) {
        return jsonString
      }
    }

I assume if you send there 00421949323548, the leading zeros are ommited and you get 421949323548.

Can you please look into this? Maybe you should take into account the cassandra types. It's text here, so it shpould be treated as string instead of trying to make it into a bigint.

Thank You

Support Cassandra 4.0

Got this on scylladb 5.0

docker run -p 8080:9090  -e CASSANDRA_HOST=10.71.0.110 -e CASSANDRA_PORT=9042 -e CASSANDRA_USERNAME=cassandra -e CASSANDRA_PASSWORD=cassandra -e HOST_PORT=":9090" ipushc/cassandra-web
{"time":"2022-07-13T05:07:52.167592392Z","level":"INFO","prefix":"-","file":"main.go","line":"131","message":"Cofing 設定成功"}
{"time":"2022-07-13T05:07:52.731531951Z","level":"FATAL","prefix":"-","file":"main.go","line":"154","message":"gocql: unable to create session: unable to discover protocol version: Username and/or password are incorrect"}

Feature request: Support multiple Cassandra nodes

In order to support the non-single point of failure feature of Cassandra, it would be great if we could pass a list of host (perhaps a string comma-separated?). I can see that NewCluster is a variadic function so I believe this shouldn't be too complicated. If you wish, I'm happy to submit a PR although my experience with Golang is close to null ;)

cluster := gocql.NewCluster(env.CassandraHost)

The describe function not work in provided helm app

The /describe

function always get 500.

{ "body": { "message": "exit status 1" }, "debug": { "original": null, "response": { "req": { "method": "GET", "url": "http:///describe?table=system.built_views", "headers": {} }, "xhr": {}, "text": "{"message":"exit status 1"}", "statusText": "Internal Server Error", "statusCode": 500, "status": 500, "statusType": 5, "info": false, "ok": false, "redirect": false, "clientError": false, "serverError": true, "error": { "status": 500, "method": "GET", "url": "http:///describe?table=system.built_views" }, "accepted": false, "noContent": false, "badRequest": false, "unauthorized": false, "notAcceptable": false, "forbidden": false, "notFound": false, "headers": { "connection": "keep-alive", "content-length": "27", "content-type": "application/json; charset=UTF-8", "date": "Fri, 20 Aug 2021 02:32:03 GMT" }, "header": { "connection": "keep-alive", "content-length": "27", "content-type": "application/json; charset=UTF-8", "date": "Fri, 20 Aug 2021 02:32:03 GMT" }, "type": "application/json", "charset": "UTF-8", "links": {}, "body": { "message": "exit status 1" } }, "status": 500 }, "status": 500, "statusText": "Internal Server Error", "text": "{"message":"exit status 1"}", "error": {} }

I also tried tried to use curl it, but it still 500 and without error message in k8s pods log.

my cassandra version is 3.11.11

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.