Deploying OpenTelemetry Demo

January 23, 2023 ยท View on GitHub

This folder contains additional configuration for deploying the OpenTelemetry Shop Demo on Sentry's infrastructure. We're using the official OpenTelemetry Helm chart to deploy the demo on our Kubernetes cluster.

Available Resources

We have two environments at the moment, each having its own set of supporting services.

Note: all links are currently accessible by Sentry employees only.

Staging

This environment used for development and testing.

Production

This environment can be used for demos, and should be considered "stable".

Configuration Files

You can edit the following files in this directory:

  • meta.yaml -- contains various meta configuration about the deployment, e.g. the currently used version of the Helm chart.
  • sentry-components.yaml -- a list of components that have Sentry instrumentation. If some service there is commented out, that means that the vanilla version of the service (meaning, a prebuilt Docker image) will be started.
  • global.yaml -- overrides for the Helm chart that is used to deploy the demo. Here you can configure things like allocated CPU/memory for each service.

Enable Sentry Instrumentation

To enable Sentry instrumentation for the component, do the following:

  1. Uncomment the service section in sentry-components.yaml and provide attribute overrides, if necessasry.
  2. Configure additional non-public parameters (e.g. SENTRY_DSN environment variable) in this file (private repository).

(Re)Deploying Changes

At the moment we maintain two demo environments:

The environments can be redeployed via our instance of Argo Workflows. It works as follows:

  1. Go to https://run.testa.getsentry.net/ (internal-only).
  2. Click "+ Submit New Workflow" in the upper left corner.
  3. Select "opentelemetry-demo-deploy" workflow.
  4. Specify the git revision (branch, commit, etc.) of https://github.com/getsentry/opentelemetry-demo repository that you want to deploy.
  5. Change the environment via the dropdown, if necessary.
  6. Click + Submit.

Argo Screenshot

In a few minutes the environment will be recreated.

Note: at the moment we don't persist any data between redeploys.

Troubleshooting

For troubleshooting advice (for example, how to access service logs) see here (private link).