-
Notifications
You must be signed in to change notification settings - Fork 881
feat: app sharing (now open source!) #4378
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Frontend ✅ looks cool!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code seems pretty good overall. My one comment on the structure is there seems to be a lot of the "guts" of workspace apps spilling out into coderd
. Do you think any of this makes sense to break out into an apps
package and concentrate a lot of the logic here?
@sreya at the moment all of the applications code is in a single file so it's not spread out across coderd or anything like that. We will have to move this to a separate package to support satellites soon (Colin and I have plans), so since we already plan on moving it to it's own package and making a lot of changes I think we should leave it here for now to avoid having to do the same work twice (as we'll need to make a lot of other changes at the same time to support satellites). |
@deansheather if you wish to do it in another PR i'm cool with that. Personally I think it's a little premature to start considering satellites but we can have that discussion elsewhere ❤️ |
(our plans are to refactor all of the connection code so it doesn't depend directly on the database in upcoming weeks and move it all to a different package) |
Closes #3515, Closes #4358
Adds app sharing. Templates can add
share = "owner"
(defaults to owner) to apps to enable sharing. Available levels:owner
(default) which means only the owner can access it, basically means "unshared"authenticated
means any user that is signed inpublic
means any user, including unauthenticated users (also bypasses scope checks on API keys intentionally)TODO:
sharing_level
to provider codeshare
to the provider itselfAdd flag to control available levels for enterprise customers only(future PR)