Skip to content

Refactor Tempo Multitenancy section #88120

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

rubenvp8510
Copy link
Contributor

@rubenvp8510 rubenvp8510 commented Feb 6, 2025

Version(s):

Issue:

https://issues.redhat.com/browse/TRACING-4649
https://issues.redhat.com/browse/TRACING-4847
Link to docs preview:

QE review:

  • QE has approved this change.

Additional information:

@openshift-ci openshift-ci bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Feb 6, 2025
@rubenvp8510 rubenvp8510 changed the title Only support multitenancy Refactor Tempo Multitenancy section Feb 6, 2025
@rubenvp8510
Copy link
Contributor Author

@rubenvp8510 rubenvp8510 force-pushed the only_support_multitenancy branch from d9931dd to 5794c86 Compare February 9, 2025 06:05
// * observability/distr_tracing/distr_tracing_tempo/distr-tracing-tempo-installing.adoc

:_mod-docs-content-type: PROCEDURE
[id="distr-tracing-tempo-install-gateway-permissions{context}"]
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.IdHasContextVariable: ID is missing the '_{context}' variable at the end of the ID.

[id="distr-tracing-tempo-install-gateway-permissions{context}"]
= Configure tenants and permissions

Authentication and authorization is provided in the Tempo Gateway service. The authentication uses OpenShift OAuth and the Kubernetes `TokenReview` API. The authorization uses the Kubernetes `SubjectAccessReview` API.
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.SuggestAttribute: Use the AsciiDoc attribute '{TempoName}' or '{TempoShortName}' rather than the plain text product term 'Tempo', unless your use case is an exception.


Authentication and authorization is provided in the Tempo Gateway service. The authentication uses OpenShift OAuth and the Kubernetes `TokenReview` API. The authorization uses the Kubernetes `SubjectAccessReview` API.

To properly define tenants and manage their read and write access, the distributed tracing stack—built on the Red Hat distribution of OpenTelemetry and Tempo—requires a well-configured authorization setup.
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.SuggestAttribute: Use the AsciiDoc attribute '{DTShortName}' rather than the plain text product term 'distributed tracing', unless your use case is an exception.


Authentication and authorization is provided in the Tempo Gateway service. The authentication uses OpenShift OAuth and the Kubernetes `TokenReview` API. The authorization uses the Kubernetes `SubjectAccessReview` API.

To properly define tenants and manage their read and write access, the distributed tracing stack—built on the Red Hat distribution of OpenTelemetry and Tempo—requires a well-configured authorization setup.
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.SuggestAttribute: Use the AsciiDoc attribute '{TempoName}' or '{TempoShortName}' rather than the plain text product term 'Tempo', unless your use case is an exception.

* Add the desired tenant in the otlp/otlphttp exporters as the "X-Scope-OrgID" headers
* Enable TLS with a valid certificate authority file.

Trace data can be sent to the Tempo instance from the OpenTelemetry Collector that uses the service account with RBAC for writing the data.
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.SuggestAttribute: Use the AsciiDoc attribute '{TempoName}' or '{TempoShortName}' rather than the plain text product term 'Tempo', unless your use case is an exception.

<2> Must be set to `openshift`.
<3> The list of tenants.
<4> The tenant name. Must be provided in the `X-Scope-OrgId` header when ingesting the data.
<5> Defines a universally unique identifier of the tenant. Unlike the tenantName, which must be unique at a given time, the tenantId must be unique over the entire lifetime of the Tempo deployment. Tempo uses this ID to prefix objects in the object storage. This could be a UUID, or can match the tempoName
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.SuggestAttribute: Use the AsciiDoc attribute '{TempoName}' or '{TempoShortName}' rather than the plain text product term 'Tempo', unless your use case is an exception.

<1> Secret you created in step 2 for the object storage that had been set up as one of the prerequisites.
<2> Value of the `name` in the `metadata` of the secret.
<3> Accepted values are `azure` for Azure Blob Storage; `gcs` for Google Cloud Storage; and `s3` for
<4> Size of the persistent volume claim for the Tempo WAL. The default is `10Gi`.
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.SuggestAttribute: Use the AsciiDoc attribute '{TempoName}' or '{TempoShortName}' rather than the plain text product term 'Tempo', unless your use case is an exception.

<5> Tenant mode must be set to `openshift`.
<6> The list of tenants.
<7> The tenant name. Must be provided in the `X-Scope-OrgId` header when ingesting the data.
<8> Defines a universally unique identifier of the tenant. Unlike the tenantName, which must be unique at a given time, the tenantId must be unique over the entire lifetime of the Tempo deployment. Tempo uses this ID to prefix objects in the object storage. This could be a UUID, or can match the tempoName
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.SuggestAttribute: Use the AsciiDoc attribute '{TempoName}' or '{TempoShortName}' rather than the plain text product term 'Tempo', unless your use case is an exception.

<5> Tenant mode must be set to `openshift`.
<6> The list of tenants.
<7> The tenant name. Must be provided in the `X-Scope-OrgId` header when ingesting the data.
<8> Defines a universally unique identifier of the tenant. Unlike the tenantName, which must be unique at a given time, the tenantId must be unique over the entire lifetime of the Tempo deployment. Tempo uses this ID to prefix objects in the object storage. This could be a UUID, or can match the tempoName
Copy link
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] OpenShiftAsciiDoc.SuggestAttribute: Use the AsciiDoc attribute '{TempoName}' or '{TempoShortName}' rather than the plain text product term 'Tempo', unless your use case is an exception.

Copy link

openshift-ci bot commented Feb 9, 2025

@rubenvp8510: all tests passed!

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@max-cx
Copy link
Contributor

max-cx commented Feb 24, 2025

@rubenvp8510, you can close this PR because I have opened #89092.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants