Skip to main content

Overview

Metoro automatically tracks all releases you make across your Kubernetes clusters. When you deploy a new image tag, Metoro marks it as a new_deployment event for that service. This enables:
  • Automatic release tracking - No manual tagging or annotation required
  • Slack notifications - Get notified when deployments happen
  • Flexible routing - Route deployment notifications to different channels based on service and environment
  • AI Verification - Guardian can automatically verify deployments for breaking changes

How Deployment Tracking Works

  1. Detection - Metoro monitors your Kubernetes clusters for image tag changes
  2. Event Creation - When a new image tag is deployed, a new_deployment event is created for the service
  3. Notification - Based on your notification configuration, alerts are sent to the appropriate channels
  4. Verification (optional) - If enabled, Guardian AI verifies the deployment for issues

Setting Up Deployment Notifications

You can configure deployment notifications to route to different Slack channels based on service and environment.

Step 1: Navigate to Settings

Go to SettingsFeaturesDeployment Notifications

Step 2: Create a Notification Configuration

Click Add Configuration to create a new notification rule:
  1. Select Services - Choose which services this rule applies to (or select all)
  2. Select Environments - Choose which environments trigger notifications (e.g., prod, staging, dev)
  3. Select Destination - Choose the Slack channel or webhook to send notifications to

Example Configurations

Route all deployment events for service-a in production to a dedicated team channel:
  • Services: service-a
  • Environments: prod
  • Destination: #service-a-devs

AI Deployment Verification

When enabled, Guardian AI automatically verifies each deployment to ensure it doesn’t introduce breaking changes.

What Guardian Checks

Guardian analyzes the following metrics after each deployment:
CheckDescription
5XX Error RatesCompares error rates before and after deployment
LatencyDetects latency regressions
New Error LogsIdentifies new error patterns in logs
Resource ConsumptionMonitors CPU and memory usage changes

Verification Results

After verification completes, Guardian will:
  • Thumbs Up - Deployment looks healthy, no issues detected
  • Alert - Something is wrong, Guardian will notify you with details about the issue

Enabling Deployment Verification

  1. Navigate to SettingsFeaturesDeployment Verification
  2. Toggle Enable AI Deployment Verification
  3. Configure which services and environments should have verification enabled
Deployment verification uses the same flexible filtering as deployment notifications. You can enable verification for specific services and environments.

Verification Notification Configuration

Configure where verification results are sent:
  1. Go to SettingsFeaturesDeployment Verification
  2. Click Add Notification Configuration
  3. Select:
    • Services - Which services to monitor
    • Environments - Which environments to monitor
    • Destination - Where to send verification results
You might want verification alerts to go to a different channel than deployment notifications. For example, send all deployments to #deployments but send verification failures to #incidents.

Filtering Deployment Events with Annotations

You can control deployment tracking at the individual workload level using Kubernetes annotations. This is useful for reducing noise from automated tools like ScaleOps that frequently update resource limits or annotations.

Disabling Deployment Tracking

To completely disable deployment tracking for a specific workload, add the following annotation to your Deployment, StatefulSet, or DaemonSet:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
  annotations:
    metoro.io/deployment-verification-disabled: "true"
spec:
  # ...
When this annotation is set to “true”, no deployment events will be created for this workload, and Guardian will not verify its deployments.
This is useful for:
  • Workloads managed by auto-scaling tools that change frequently
  • Development or test environments where deployment tracking is not needed

Excluding Specific Configuration Paths

For workloads where you want deployment tracking but need to ignore certain configuration changes (like resource limits managed by ScaleOps), you can exclude specific JSON paths from change detection:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
  annotations:
    metoro.io/deployment-verification-exclude-paths: |
      ["template.spec.containers.*.resources", "template.metadata.annotations.scaleops.sh/*"]
spec:
  # ...
When only excluded paths change, no deployment event is created. If other paths also change, a deployment event will still be created.

Supported Path Patterns

PatternDescriptionExample
Exact pathMatches exactly this pathtemplate.spec.nodeSelector
Array wildcard* matches any array indextemplate.spec.containers.*.resources
Prefix wildcard/* matches any key under a prefixtemplate.metadata.annotations.scaleops.sh/*
Paths can be specified with or without the spec. prefix. For example, both spec.template.spec.containers.*.resources and template.spec.containers.*.resources are equivalent and will work correctly.

Common Use Cases

Exclude resource changes and ScaleOps annotations:
annotations:
  metoro.io/deployment-verification-exclude-paths: |
    ["template.spec.containers.*.resources", "template.metadata.annotations.scaleops.sh/*"]
Be careful not to exclude too many paths, as this may cause you to miss important configuration changes that could affect your application’s behavior.

Viewing Deployments

You can view all deployments for a service in Metoro:
  1. Navigate to Service Catalogue in the main navigation
  2. Select the service you want to view
  3. Click View Deployments
  4. View deployment history including:
    • Previous and new image tags
    • Timestamp
    • Verification status (if enabled)