Ryvn applies a set of standardized Kubernetes labels to all resources it manages. These labels help with observability, management, and troubleshooting by providing consistent metadata across your deployments.

Core Labels

All Ryvn-managed resources include the following labels:

LabelDescriptionExample
ryvn.app/service-nameThe name of the servicemy-api
app.kubernetes.io/managed-byIndicates that Ryvn manages this resourceryvn
app.kubernetes.io/instanceThe name of the installationmy-api-production
app.kubernetes.io/nameThe component nameweb-server
app.kubernetes.io/versionThe version of the application1.2.3
ryvn.app/release-versionThe specific release version deployed1.2.3

Using Labels for Observability

These labels are particularly useful when:

  1. Filtering resources in Kubernetes dashboards - You can use these labels to filter and group resources in tools like Kubernetes Dashboard, Lens, or k9s.

  2. Setting up monitoring tools - Configure monitoring tools like Prometheus to collect metrics based on these labels.

  3. Debugging deployments - Quickly identify which version of your application is running in each environment.

  4. Creating custom views - Build custom dashboards that group resources by service, version, or other attributes.

Example: Filtering by Release Version

If you have access to your Kubernetes cluster, you can use the ryvn.app/release-version label to find all resources running a specific version:

kubectl get pods -l ryvn.app/release-version=1.2.3

This will return all pods running version 1.2.3 of your application.

Example: Monitoring Version Distribution

You can use these labels to monitor the distribution of versions across your environments, which is particularly useful during rolling updates:

kubectl get pods -l ryvn.app/service-name=my-api

This will show all pods for the my-api service along with their labels, including which version each pod is running.

Integration with External Tools

Many observability tools support Kubernetes label-based filtering and grouping:

  • Prometheus: Use label selectors in your scrape configurations
  • Grafana: Create dashboards that filter metrics by service and version
  • Datadog: Filter and group resources by Kubernetes labels
  • New Relic: Use labels for filtering and creating custom views

The specific labels available may vary slightly depending on the service type (Server, Worker, Job, Chart, or Terraform).