Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

multitenancy #18

Open
Habbie opened this issue Mar 3, 2015 · 7 comments
Open

multitenancy #18

Habbie opened this issue Mar 3, 2015 · 7 comments

Comments

@Habbie
Copy link
Collaborator

Habbie commented Mar 3, 2015

Support users/groups, either by making it easy to run multiple metronomes, or writing actual code.

@pieterlexis
Copy link
Collaborator

Ideas we had yesterday:

  • Separate instance per non-anonymous user/group (sucks)
  • 'chroot' users to a part of the tree
  • Whitelisting IPs that may write to that subtree

@Habbie
Copy link
Collaborator Author

Habbie commented Mar 3, 2015

@pieterlexis suggested that the collectd protocol might be a better fit. It has usernames, signing and encryption.

@Habbie
Copy link
Collaborator Author

Habbie commented Mar 3, 2015

I feel that a metronome instance per user provides a lot of benefits (including scalaibility to multiple machines), if we write decent front end proxies:

  • for HTTP, something that auths the user and picks the right backend instance based on the user
  • for metrics (carbon/collectd), proxy to the right backend based on whatever criteria we come up with (in collected, authed username; in carbon, a user-specific prefix and/or IP-subnet based)

@Habbie
Copy link
Collaborator Author

Habbie commented Mar 3, 2015

Extra benefit of per-user instances: no risk that a parsing mistake in the proxy exposes data from user A to user B.

@pieterlexis
Copy link
Collaborator

for the carbon input, IP whitelists only, as the prefix (and the data 😢 ) is sent in cleartext

@Habbie
Copy link
Collaborator Author

Habbie commented Mar 3, 2015

Agreed. Now we just have to type it in!

@Habbie
Copy link
Collaborator Author

Habbie commented Mar 3, 2015

We strongly suspect this can be fully done using haproxy, without writing any code. Pieter will prototype :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants