progrium / envy

Lightweight dev environments with a twist
MIT License
321 stars 21 forks source link

environment sharing across users #18

Open progrium opened 9 years ago

progrium commented 9 years ago

Right now all environments are private to each user. You should be able to share an environment with others users. I should be able to do it without being an admin, and it should be simple filesystem based.

Proposal

ACL file

List of users with access to environment are defined in /root/.users. No matter contents, owning user always has access. If file is empty, no other users have access. If file has * then all users have access.

SSH Access

User environments will be referenced in the form <username>/<env>. However, <env> is optional, which implies the user's default self-named environment.

$ ssh progrium+bob/cool-env@envy.host # goes to shared "cool-env" under user "bob"
$ ssh progrium+bob@envy.host  # goes to shared default user env for "bob"

Collisions with usernames and a user environment is simply based on these rules:

Since authentication and environment resources are separate, you can just reference the other user's env URL and authenticate using your own credentials.

https://envy.host/u/bob
https://envy.host/u/bob/cool-env
ekristen commented 9 years ago

I like this idea very much. The use case I thought of was having a common docker-machine environment where all the machine data is persisted. Multiple people can SSH in to the shared environment to manage machines.