Teleport: Consul backend

Created on 25 May 2016  Â·  16Comments  Â·  Source: gravitational/teleport

Rather than having to deploy etcd for the HA config, it would be excellent to be able to use consul's K/V store to store the same data etcd supports.

Many places already have support and configuration for consul already.

feature-request

Most helpful comment

Might it be better to use libkv to abstract the backends completely, thereby potentially offering support for multiple backends out of the gate. If desired, I can sit down and work on a pull request for this, as we'd love to use teleport but currently have a consul cluster and not etcd.

All 16 comments

Might it be better to use libkv to abstract the backends completely, thereby potentially offering support for multiple backends out of the gate. If desired, I can sit down and work on a pull request for this, as we'd love to use teleport but currently have a consul cluster and not etcd.

Still willing to dig into this if there is a desire to support it from the core team.

I'd be interested in this feature. Along with perhaps integrating Hashicorp's Vault to secure the data that's stored. No idea how complex of a feature this is but I'd be willing to contribute some to see this happen!

Is this something the maintainers would be behind? I would much prefer to make use of our battle-tested consul cluster over setting up etcd just for this.

@ajvb we will accept the PR with consul backend with no problem for sure

Anyone actively working on this? The problem with using libkv is it doesn't support Consul ACL tokens and in my experience I've found that anyone seriously using Consul has ACLs turned on. I really would like to see consul supported and would be willing to attempt to help.

Another problem with Consul is that it doesn't do TTLs like most other K/V stores, so that will have to be addressed as well.

The best bet would be to borrow the libkv implementation of consul as it handles the TTL and modify it so it can support ACL tokens.

@ekristen DynamoDB does not support TTL either. I have done it the same way the BoltDB implementation did. It remove the key if the TTL expired. Not a big deal.

After further investigation libkv handles TTL across its backends, the only deficiency at the moment is that it doesn't support ACL tokens for consul or etcd.

Sent from my iPhone

On Feb 2, 2017, at 03:37, apestel notifications@github.com wrote:

@ekristen DynamoDB does not support TTL either. I have done it the same way the BoltDB implementation did. It remove the key if the TTL expired. Not a big deal.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

FWIW https://github.com/docker/libkv has a PR open for dynamodb and I'm working on a PR that supports consul access tokens, ISTM that any new backend could be implemented using libkv and could eventually migrate the existing backends over to using libkv so there is a consistent interface.

I've gotten started on an implementation: https://github.com/gravitational/teleport/compare/master...ajvb:ajvb/consul

Hopefully will have a PR by end of day.

Perhaps it could use https://www.vaultproject.io/ as backend? :)

Yes, support for vault as an auth-backend would be very useful.

hello, any update for supporting the vault backend ?

If not , I'd like to work on this :)

No work is done to my best knowledge yet. If you are going to work on this, please create a design issue describing your approach first, so we can discuss

Also keep in mind that there is a major backend refactor wrapping up in branch sasha/cache3 that, once merged will change all interfaces on the backend

Was this page helpful?
0 / 5 - 0 ratings

Related issues

gclawes picture gclawes  Â·  4Comments

webvictim picture webvictim  Â·  4Comments

aberoham picture aberoham  Â·  5Comments

awly picture awly  Â·  5Comments

webvictim picture webvictim  Â·  4Comments