Giter Site home page Giter Site logo

etcd-browser's Introduction

etcd browser

Demo

http://henszey.github.io/etcd-browser/

Screen Shot

etcd-browser Screen Shot

TODO

  • Implement missing features (TTL)

To build/run as a Docker container:

(adjust options as necessary - to run it as a daemon, remove "--rm", "-t", "-i" and add "-D")

cd <repository>
sudo docker build -t etcd-browser .
sudo docker run --rm --name etcd-browser -p 0.0.0.0:8000:8000 --env ETCD_HOST=10.10.0.1 --env AUTH_PASS=doe -t -i etcd-browser

Configuration

You can configure the builtin server using environment variables:

  • AUTH_USER: Username for http basic auth (skip to disable auth)
  • AUTH_PASS: Password for http basic auth
  • ETCD_HOST: IP of the etcd host the internal proxy should use [172.17.42.1]
  • ETCD_PORT: Port of the etcd daemon [4001]
  • SERVER_PORT: Port of builtin server

If you use a secured etcd:

  • ETCDCTL_CA_FILE
  • ETCDCTL_KEY_FILE
  • ETCDCTL_CERT_FILE

etcd-browser's People

Contributors

aetherical avatar germanramos avatar henszey avatar n0n0x avatar psi-4ward avatar vidarh 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  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  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

etcd-browser's Issues

Request failed - - http://192.168.134.129:4001/v2/keys/

Hi.

I have an etcd 2.3.1 cluster with Kubernetes 1.2.4 on my Ubuntu 14.04 x64 VM.

Here's the status:

root@ubuntu:/kubernetes/cluster# etcdctl cluster-health
member ce2a822cea30bfca is healthy: got healthy result from http://192.168.134.129:4001
cluster is healthy

Then I browsed to http://henszey.github.io/etcd-browser/ in this VM's firefox, entered http://192.168.134.129:4001 and click Go!. It gave me:

Request failed - - http://192.168.134.129:4001/v2/keys/

But when I opened the http://192.168.134.129:4001/v2/keys/ address in another tab of my Firefox, it shows normally:

{"action":"get","node":{"dir":true,"nodes":[{"key":"/registry","dir":true,"modifiedIndex":3,"createdIndex":3},{"key":"/bbb","value":"test","modifiedIndex":70689,"createdIndex":70689},{"key":"/111","value":"333","modifiedIndex":35380,"createdIndex":35380},{"key":"/aaa","value":"111","modifiedIndex":50991,"createdIndex":50991},{"key":"/aab","dir":true,"modifiedIndex":35980,"createdIndex":35980},{"key":"/coreos.com","dir":true,"modifiedIndex":13,"createdIndex":13}]}}

So I wonder where it's wrong? Thanks!

Kubertenes Addons

It would be great to create a Yaml template for the service and the controller for Kube-System

Cheers,
Luc Michalski

gfw things

It will be thankful if you change ajax.googleapis.com to other domains for people in China.

e.g.:
replace
//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js
to
//cdnjs.cloudflare.com/ajax/libs/jquery/1.11.1/jquery.min.js

etcd-browser - crashes if not accessible...

etcd-browser master → docker logs 8ce97cda4329a44cca9c2a4ae461707ff2a09dd71196558eb4445138ed57005a
proxy /api requests to etcd on 172.17.42.1:5001:4001
etc-browser listening on port 8000

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: getaddrinfo ENOTFOUND
    at errnoException (dns.js:37:11)
    at Object.onanswer [as oncomplete] (dns.js:124:16)

Error: DEPTH_ZERO_SELF_SIGNED_CERT

Hello,
I am getting DEPTH_ZERO_SELF_SIGNED_CERT error while using the browser.
Tried the options like process.env.NODE_TLS_REJECT_UNAUTHORIZED = 0 and rejectUnauthorized: false, but both did not work.

proxy /api requests to etcd on etcd.abc.com:443
etc-browser listening on port 8081

events.js:72
throw er; // Unhandled 'error' event
^
Error: DEPTH_ZERO_SELF_SIGNED_CERT
at SecurePair. (tls.js:1370:32)
at SecurePair.EventEmitter.emit (events.js:92:17)
at SecurePair.maybeInitFinished (tls.js:982:10)
at CleartextStream.read as _read
at CleartextStream.Readable.read (_stream_readable.js:320:10)
at EncryptedStream.write as _write
at doWrite (_stream_writable.js:223:10)
at writeOrBuffer (_stream_writable.js:213:5)
at EncryptedStream.Writable.write (_stream_writable.js:180:11)
at write (_stream_readable.js:583:24)

Here is how I am starting the node server,

!/bin/sh

set -e
export ETCDCTL_CA_FILE=ca-certificates.crt
export ETCDCTL_KEY_FILE=etcd.abc.com.key
export ETCDCTL_CERT_FILE=etcd.abc.com.crt
export ETCD_HOST=etcd.abc.com
export ETCD_PORT=443
export SERVER_PORT=8081
sudo node server.js

Security Issue Identified

Hello Developers:

Upon doing some security research, I have identified an issue pertaining to the server.js file of etcd-browser.

The application is vulnerable to a directory traversal vulnerability. This was identified from the docker instance found here: https://hub.docker.com/r/buddho/etcd-browser

This was installed on my local laptop. The issue identified is a Directory Traversal vulnerability where the server runs (Ex: Default port of 8000) Evidence available upon request. Directories accessed include: /etc/ and /proc along with others. Looking forward to hearing back.

need env for timeout

looks like large DB, can't return in the default timeout?

etc-browser listening on port 8000

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: connect ETIMEDOUT
    at errnoException (net.js:901:11)
    at Object.afterConnect [as oncomplete] (net.js:892:19)

JSON parse error

After sending HTTP GET request to my local cluster on port 4001 (http://127.0.0.1:4001/v2/keys/), parsing successful response (200 OK) fails with SyntaxError JSON.parse: unexpected end of data at line 1 column 1 of the JSON data error.

Doing the exact same operation with curl http://127.0.0.1:4001/v2/keys/ returns valid JSON format: {"action":"get","node":{"dir":true}}

etcd-browser reports an error: Request failed - - http://127.0.0.1:4001/v2/keys/

etcd-browser version: latest master
etcd version: etcd-io/etcd@f077092

What firefox outputs: http://a.pomf.se/rhijlp.png
What wireshark captures: http://a.pomf.se/drsqsz.png

multiple nodes support

Hi, in my fork, I worked on a multiple nodes support feature by reading information from external configuration file instead of ENV, not sure it is worth a pull request or not since it kinda changes the original implementation a bit, if you think it is, I will create a pull request?

cheers.

Non-leader endpoint

Hey,

First of all I find this etcd-browser extremely useful and started to be a fundamental part of my distributed solution. Nice one!
One of the issues that I have tough is that even when CORS is active on all my etcd nodes I can only use the leader node to add/edit values. Is this the expected behaviour?
Thanks in advance for any reply

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.