Skip to content

Queriers: Implement RBAC on external queriers#2593

Merged
joe-elliott merged 13 commits intografana:mainfrom
modulitos:2477-external-querier
Jul 19, 2023
Merged

Queriers: Implement RBAC on external queriers#2593
joe-elliott merged 13 commits intografana:mainfrom
modulitos:2477-external-querier

Conversation

@modulitos
Copy link
Copy Markdown
Contributor

@modulitos modulitos commented Jun 26, 2023

What this PR does:
This PR adds RBAC support when querying the external endpoints. It adds an "external client" struct to encapsulate the concerns around sending remote requests to an external endpoint, which makes it easier to inject RBAC behavior into that struct.

It only supports RBAC on CloudRun, but adding Lambda support should be an easy followup. I also did a red/green smoke test using a CloudRun backend, and it's behaving as expected.

Which issue(s) this PR fixes:
Resolves #2477

Checklist

  • Tests updated
  • Documentation added
  • CHANGELOG.md updated - the order of entries should be [CHANGE], [FEATURE], [ENHANCEMENT], [BUGFIX]

Comment thread CONTRIBUTING.md
Comment thread modules/querier/external/client.go
@knylander-grafana knylander-grafana added the type/docs Improvements or additions to documentation label Jun 26, 2023
Copy link
Copy Markdown
Contributor

@knylander-grafana knylander-grafana left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for adding some doc content. When we add more support, it would be great to add a configuration page with information about use cases, benefits, etc.

Comment thread CHANGELOG.md Outdated
Comment thread CONTRIBUTING.md
Comment thread modules/querier/external/cloud_run.go Outdated
Comment thread docs/sources/tempo/configuration/_index.md Outdated
@knylander-grafana knylander-grafana removed the type/docs Improvements or additions to documentation label Jun 26, 2023
@modulitos modulitos force-pushed the 2477-external-querier branch 2 times, most recently from c20bdd5 to 5cb0fd8 Compare July 3, 2023 00:07
Comment thread modules/querier/external/token_provider.go
@modulitos modulitos force-pushed the 2477-external-querier branch 2 times, most recently from 5881a2d to 0827d56 Compare July 6, 2023 06:32
Comment thread docs/sources/tempo/configuration/_index.md Outdated
Comment thread modules/querier/external/client.go Outdated
Comment thread modules/querier/external/client.go
Comment thread modules/querier/external/token_provider.go
Comment thread modules/querier/external/token_provider.go
Comment thread modules/querier/external/token_provider.go
@modulitos modulitos force-pushed the 2477-external-querier branch 2 times, most recently from 23623e4 to a328a02 Compare July 16, 2023 01:21
Signed-off-by: modulitos <hi@modulitos.com>
Signed-off-by: modulitos <hi@modulitos.com>
Signed-off-by: modulitos <hi@modulitos.com>
Signed-off-by: modulitos <hi@modulitos.com>
Signed-off-by: modulitos <hi@modulitos.com>
Signed-off-by: modulitos <hi@modulitos.com>
Signed-off-by: modulitos <hi@modulitos.com>
Signed-off-by: modulitos <hi@modulitos.com>
Signed-off-by: modulitos <hi@modulitos.com>
Signed-off-by: modulitos <hi@modulitos.com>
Signed-off-by: modulitos <hi@modulitos.com>
Signed-off-by: modulitos <hi@modulitos.com>
@modulitos modulitos force-pushed the 2477-external-querier branch from a328a02 to fc0367f Compare July 19, 2023 06:47
Signed-off-by: modulitos <hi@modulitos.com>
Copy link
Copy Markdown
Collaborator

@joe-elliott joe-elliott left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great work! appreciate this contribution. adds a nice authentication option for GCR and starts laying the groundwork for additional configuration per backend.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support RBAC on remote calls from the querier to the serverless backend

3 participants