feat: app sharing (now open source!)#4378
Conversation
sreya
left a comment
There was a problem hiding this comment.
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"authenticatedmeans any user that is signed inpublicmeans any user, including unauthenticated users (also bypasses scope checks on API keys intentionally)TODO:
sharing_levelto provider codeshareto the provider itselfAdd flag to control available levels for enterprise customers only(future PR)