# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1

rules:
  # Check for server RPC endpoints without metrics
  - id: "rpc-missing-metrics"
    patterns:
      - pattern: |
          authErr := $A.$B.Authenticate($A.ctx, args)
      - pattern-not-inside: |
          authErr := $A.$B.Authenticate($A.ctx, args)
          ...
          $T.srv.MeasureRPCRate(...)
          ...
    message: "RPC method appears to be missing metrics"
    languages:
      - "go"
    severity: "WARNING"
    paths:
      include:
        - "nomad/*_endpoint.go"
