Repository navigation
Proposal: an 'operator' team role between member and admin #11486
Jedvanaways
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Since v4.2.0 the member role is read-only. I understand why that change was made, but it leaves a gap: there is now no role for day-to-day users who need to actually run things (create apps/services/databases, deploy, restart, manage env vars) without handing them full admin.
Admin currently also brings: server terminal access, managing team members and invitations, connecting GitHub/GitLab apps, private keys, cloud provider credentials and elevated API tokens. For a lot of teams that is exactly the stuff you don't want to hand out just so someone can deploy their own app. This has come up before: #11321 (closed, works as intended since 4.2), and granular permissions were suggested in #5292 and #11070.
Proposal: a new
operatorrole that sits betweenmemberandadmin.What an operator can do (roughly what member could do before 4.2, plus resource creation):
What an operator cannot do (anything that grants access outside the Coolify UI, or that would outlive a role change):
canAccessTerminalgate stays admin+)Implementation-wise it slots into the existing policy system without touching current behaviour: a new case in the
Roleenum ranked between MEMBER and ADMIN, team-scoped helpers onUseralongsideisAdmin()/isAdminOfTeam(), and only the resource-lifecycle policy methods opt in.isAdmin()itself is unchanged, so everything sensitive stays admin-only by default. The role column is already a plain string onteam_user, so no migration is needed and downgrade is safe.I have a working implementation with tests that I can PR to
nextif this is something you would take.All reactions