cassandra web ui

cassandra-web

Demo

index

Features

  • Theme Dark
  • Table Row Prev Next Page
  • Table Row Edit
  • Table Row filter
  • Table Row Delete
  • Table Rown Find
  • Table Definition
  • Table Export
  • Table Import
  • CQL Query

Supported Cassandra Versions


2.1.x 2.2.x 3.x.x
yes yes yes

Usage

download

$ wget https://github.com/orzhaha/cassandra-web/releases/download/v1.0.5/linux.tar.gz

unzip

$ tar zxvf linux.tar.gz

npm install

$ cd client && npm i && npm run build

run service

$ ./service -c config.yaml

depend

cqlsh


Docker

docker pull ipushc/cassandra-web
Environment
  • HOST_PORT: ":80"
  • CASSANDRA_HOST: cassandra host
  • CASSANDRA_PORT: 9042
  • CASSANDRA_USERNAME: username
  • CASSANDRA_PASSWORD: password

API

API Doc

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

    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: {}
    
  • Can't get data

    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.

  • Support Cassandra 4.0

    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"}
    
  • Need to be able to configure service port and targetPort separately in helm chart.

    Need to be able to configure service port and targetPort separately in helm chart.

    Running as non-root can cause problems if you're using port 80 as the default container target port, resulting in sporadic downtime for the UI deployment. Target port should be configured through its own value, distinct from service port.

  • The describe function not work in provided helm app

    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

  • Feature request: Support multiple Cassandra nodes

    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 ;)

    https://github.com/orzhaha/cassandra-web/blob/cb49579f59bcfe11cf6609a6412583d7c0eed6a3/service/main.go#L123

  • Helm 3 chart usage

    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"}
    
  • Set build-server base image to golang 1.17.8 to avoid crash-loops

    Set build-server base image to golang 1.17.8 to avoid crash-loops

    Will probably want to bump this back up to 1.17.9 when it comes out later this week, but the app won't serve users using 1.18 as a base image. 1.18-alpine will run the app, but the app can't serve users with it, as it returns 500 errors trying to load /readonly, before settling into a crashloop pattern.

  • missing ingress.yaml in helm chart

    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

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

    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

  • Questions about enable_materialized_views and enable_transient_replication

    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!

  • An easy to use web authorization system integrated with MongoDB.

    goth An easy to use web authorization system for MongoDB. Written 100% in Golang! Contributing Feel free to add an issue, and if you have a fix, creat

    Feb 22, 2022
    Time Series Database based on Cassandra with Prometheus remote read/write support

    SquirrelDB SquirrelDB is a scalable high-available timeseries database (TSDB) compatible with Prometheus remote storage. SquirrelDB store data in Cass

    Oct 20, 2022
    The DataStax Kubernetes Operator for Apache Cassandra

    Cass Operator The DataStax Kubernetes Operator for Apache Cassandra®. This repository replaces the old datastax/cass-operator for use-cases in the k8s

    Dec 29, 2022
    Implemented Cassandra DB to GoLang API
    Implemented Cassandra DB to GoLang API

    Implemented Cassandra DB to GoLang API

    Jun 7, 2022
    Dec 14, 2021
    This service is intented to collect data using grpc using Go lang backend and cassandra DB as storage

    Go Data Collection This service is intented to collect data using grpc using Go lang backend and cassandra DB as storage. Dev Setup make test_env make

    Apr 13, 2022
    OauthMicroservice-cassandraCluster - Implement microservice of oauth using golang and cassandra to store user tokens

    implement microservice of oauth using golang and cassandra to store user tokens

    Jan 24, 2022
    Flamingo Framework and Core Library. Flamingo is a go based framework for pluggable web projects. It is used to build scalable and maintainable (web)applications.
    Flamingo Framework and Core Library. Flamingo is a go based framework for pluggable web projects. It is used to build scalable and maintainable (web)applications.

    Flamingo Framework Flamingo is a web framework based on Go. It is designed to build pluggable and maintainable web projects. It is production ready, f

    Jan 5, 2023
    ⚡ Rux is an simple and fast web framework. support middleware, compatible http.Handler interface. 简单且快速的 Go web 框架,支持中间件,兼容 http.Handler 接口

    Rux Simple and fast web framework for build golang HTTP applications. NOTICE: v1.3.x is not fully compatible with v1.2.x version Fast route match, sup

    Dec 8, 2022
    Golanger Web Framework is a lightweight framework for writing web applications in Go.

    /* Copyright 2013 Golanger.com. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except

    Nov 14, 2022
    Extract structured data from web sites. Web sites scraping.
    Extract structured data from web sites. Web sites scraping.

    Dataflow kit Dataflow kit ("DFK") is a Web Scraping framework for Gophers. It extracts data from web pages, following the specified CSS Selectors. You

    Jan 7, 2023
    Extract structured data from web sites. Web sites scraping.
    Extract structured data from web sites. Web sites scraping.

    Dataflow kit Dataflow kit ("DFK") is a Web Scraping framework for Gophers. It extracts data from web pages, following the specified CSS Selectors. You

    Jan 7, 2023
    Flamingo Framework and Core Library. Flamingo is a go based framework for pluggable web projects. It is used to build scalable and maintainable (web)applications.
    Flamingo Framework and Core Library. Flamingo is a go based framework for pluggable web projects. It is used to build scalable and maintainable (web)applications.

    Flamingo Framework Flamingo is a web framework based on Go. It is designed to build pluggable and maintainable web projects. It is production ready, f

    Jan 5, 2023
    Golanger Web Framework is a lightweight framework for writing web applications in Go.

    /* Copyright 2013 Golanger.com. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except

    Nov 14, 2022
    re:Web enables classic web applications to run on AWS Lambda.
    re:Web enables classic web applications to run on AWS Lambda.

    re:Web re:Web enables classic web applications to run on AWS Lambda. re:Web interfaces with the Lambda Runtime API. It translates API Gateway requests

    Jan 1, 2023
    ⚔️ Web Hacker's Weapons / A collection of cool tools used by Web hackers. Happy hacking , Happy bug-hunting
    ⚔️ Web Hacker's Weapons / A collection of cool tools used by Web hackers. Happy hacking , Happy bug-hunting

    A collection of cool tools used by Web hackers. Happy hacking , Happy bug-hunting Family project Table of Contents WHW-Tools Weapons Awesome Bookmarkl

    Jan 5, 2023
    A web-based testing platform for WAF (Web Application Firewall)'s correctness

    WAFLab ?? WAFLab is a web-based platform for testing WAFs. Live Demo https://waflab.org/ Architecture WAFLab contains 2 parts: Name Description Langua

    Oct 25, 2022
    Roche is a Code Generator and Web Framework, makes web development super concise with Go, CleanArch
    Roche is a Code Generator and Web Framework, makes web development super concise with Go, CleanArch

    It is still under development, so please do not use it. We plan to release v.1.0.0 in the summer. roche is a web framework optimized for microservice

    Sep 19, 2022
    記帳-PWA-web-app (Bookkeeping-PWA-web-app)
    記帳-PWA-web-app (Bookkeeping-PWA-web-app)

    GoKeep (bookkeeping web app) 記帳-PWA-web-app (Bookkeeping-PWA-web-app) demo link : https://bookkepping.herokuapp.com/ 測試用帳密 : tester002 , tester002 (亦可

    Jan 31, 2022