Open minwoox opened 4 weeks ago
Change the Admin designation for the cluster owner to ClusterAdmin (or other suggestions welcome)
System Admin?
Overall, it seems like the proposal is to modify the current CD structure to follow Github more closely and I agree this is simpler for users to reason about.
Having said this, some thoughts:
meta
related information still be managed by a git repository in the project level? If the proposal is to save to a separate file in the file system, we won't have access to features such as concurrent writes/history management. A detailed proposal on the new directory layout may be helpful to understand the exact goal. Thank you for your feedback. 👍
It seems like the proposal includes some breaking changes (1), (2). I'm curious how you propose to migrate these features.
If this approach is acceptable, I’d be happy to provide a detailed migration plan. Here’s a brief outline:
It seems like the proposal includes some breaking changes (1), (2). I'm curious how you propose to migrate these features.
That's a good question. 👍 For now, meta-related information will continue to be managed at the project level within the meta repository (1). If needed, we may later separate it into each repository’s individual meta repository (2). During phase (1), the meta file will include sections dedicated to each repository, so concurrent writes will be managed efficiently, with only minimal delays due to commit sequencing. Additionally, history tracking for the configuration is not currently provided, but we can support it with ease if needed in the future.
Note: For (5) I understood that not only UI, but also APIs will also need to be changed.
Which APIs are you talking to?
It seems like this issue is an umbrella for multiple issues. It might be useful to know which feature aligns with what goal to easily manage priorities. For instance, it seems like (4) can be done independently and does not relate to xDS directly.
This isn’t intended to address specific issues; rather, it’s part of a broader effort to enhance the authorization system in Central Dogma based on improvements identified during usage. Please consider it as a general refactoring of the authorization and configuration systems in Central Dogma.
Which APIs are you talking to?
e.g. there may be more, but this comes to mind
It’s part of a broader effort to enhance the authorization system in Central Dogma based on improvements
I think as an overall direction the approach seems good. I guess my question was more about how much resources are we investing to this improvement.
As an overall direction, the proposal seems good though.
there may be more, but this comes to mind
Oh, I forgot that API. Yeah, I need to fix that as well. 😉
I guess my question was more about how much resources are we investing to this improvement.
Good point. I’m not entirely certain about the exact resources that I need to put. My goal is to complete it this quarter, though it may extend beyond that. However, I believe this improvement is essential to enhancing Central Dogma as a valuable product. 😉
Summary
The current authorization system in Central Dogma has several limitations and issues regarding security, role permissions, and project management. This proposal addresses these issues by refining roles and permissions, adding visibility options, and improving configuration management.
Problems and Limitations
Insecure Anonymous Role
Anonymous
role that allows repository access without authentication.Anonymous
role entirely to restrict access to logged-in users only.Ineffective Guest Role and Repository Visibility
Guest
role can have read or write permissions, which is not ideal for permissions management. It can make sensitive information vulnerable.Guest
role with write permissions is unusual, and it limits options for repository visibility.Guest
role. Introduce a visibility option (public
orprivate
) at the repository level:Limited Project-Level Permissions
Lack of Team Structure
Terminology Alignment with Industry Standards
Admin
to describe the Central Dogma cluster owner, but GitHub and similar platforms useAdmin
for repository ownership, which may cause confusion.Admin
(the term used for cluster owners) to something clearer and more intuitive. Proposed name:ClusterAdmin
.Improvement of Configuration Storage for Projects and Repositories
meta
repository at the project level. Accessing this information requiresWRITE
permissions on themeta
repository, which will be hidden.meta
repository will be hidden to public users, which restricts management of configurations.Admin
s for accessing the information.Proposed Changes
Role and Permission Revisions
Enhanced Project and Repository Permissions
Team-Based Access Control
Terminology Update
Admin
designation for the cluster owner toClusterAdmin
(or other suggestions welcome) to align terminology more closely with industry standards.Configuration Management Improvements
Goals and Benefits