Comments (5)
Well, security first, before anything else. Actually it would be a big push up for this project if you add TLS and authentication, at least password-based. Because having a cluster of whatever store that everyone can write random garbage in it so easily — is of absolutely no use. Currently I am looking for something like TiKV, but tinier, simpler and in Go. Cete is exactly what it could be... I could potentially contribute that, but TLS and auth is quite simple to add, and yet you know your code very good already, while I don't have enough bandwidth to do this.
お願いします m(._.)m
from cete.
Hi @isbm ,
Unfortunately, authentication does not support yet.
However, I'm working on supporting TLS now.
#25
from cete.
Hi @isbm ,
Sorry for the late reply and thank you for your comment. :)
You said "at least password-based", but does that mean Basic Auth?
https://tools.ietf.org/html/rfc2617
from cete.
Osuka-san, yeah, it can be Basic Auth. For all the endpoints, like gRPC (examples), HTTPS etc. Just don't do that Google-based auth, because what if your Cete cluster is offline in some datacenter... 😉
Essentially would be cool if you could move all the CLI options also to some YAML-like config and so we could just run it as so:
cete -c /etc/cete.conf`
Done! And so then you have inside something like:
auth:
token: some_very_secret_token_to_connect_to_everything
general:
mode: master
grpc: :8888
https: :8080
ssl: true
...and so on.
So as a start, we could just share that very secrect token across the cluster (e.g in HTTPS you can carry it on in header) in configs and that's it for starter. Then later on we could add RSA-based auth.
Since you are basically resembling TiKV (which makes your effort very cool!), then why not just steal the authentication ideas from them? :-) Essentially, for my project I need something like TiKV, but it is written in Rust and is a pig-size binary (about 0.5GB !!!). So Cete could do the job perfectly and I think do it very well.
from cete.
Hi @isbm ,
I released v0.3.1.
https://github.com/mosuka/cete/releases/tag/v0.3.1
I have implemented a simple TLS Authentication.
https://github.com/mosuka/cete#secure-cluster-example
Also, the CLI has been changed to support YAML configuration files.
https://github.com/mosuka/cete/blob/master/etc/cete.yaml
This is the first time I've implemented TLS support, so I'm not sure it meets your needs. Would you try it out?
from cete.
Related Issues (20)
- Support Basic Auth HOT 1
- Allow CLI options to be read from the configuration file HOT 1
- Add health check endpoint HOT 1
- Benchmark?
- Non-REST/Go native client HOT 1
- bug in go defer HOT 5
- Create working setup for Kubernetes HOT 3
- Add a SQL / Document feature HOT 2
- Logs are too verbose and generate high amount of data HOT 2
- Fix go.mod dependency due to a change in the case
- Feedback: Create a new repository for Helm charts HOT 2
- Context should be passed per operation
- Design flaw in the Raft <-> BadgerDB implementation HOT 1
- Will cete support distributed transaction? HOT 3
- Is there an API for BadgerDB batch insert?
- replication or sharding? HOT 3
- restart cete problem
- Use Cete with docker-compose
- Redis / RESP support
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cete.