Combine ACLResolver and acl.AllowAuthorizer.
- Dominant language
- Go
- Stars
- 30.1k
- Forks
- 4.6k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 39
Description
Combining ACLResolver and acl.AllowAuthorizer into a single structure (perhaps keep the name acl.AllowAuthorizer) simplifies a bunch of code and enables some use cases.
By moving the full ACLResolver functionality into the acl package we break some circular dependencies that prevent ACLResolver from being implemented throughout consul. Among other things this gives us better error messages for config entries and xds rendering.
Combining ACLResolver and acl.AllowAuthorizer simplifies a bunch of code; we frequently create an ACLResolver and then shortly after wrap it in acl.AllowAuthorizer. Combining these prevents a lot of unnecessary conversions and redundant code, and clarifies the associated logic for the reader.
Contributor guide
Research direction
Start by locating ACLResolver and acl.AllowAuthorizer in the Consul codebase and tracing where they are created, wrapped, and converted. Review the dependency relationships and affected config-entry and xDS rendering paths; done means the two structures are combined without the stated circular dependencies or redundant conversions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- authorization
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100