# -- Number of replicas for the MCP server replicas: 1 # -- Deployment strategy deploymentStrategy: type: RollingUpdate rollingUpdate: maxSurge: 25% maxUnavailable: 25% # -- Image configuration image: # -- The Docker registry registry: asia-southeast1-docker.pkg.dev # -- The Docker repository repository: meesho-devops-admin-0622/prd/devop/grafana-mcp # -- Image tag tag: "v2026-03-10" # -- Image pull policy pullPolicy: IfNotPresent # -- Image pull secrets imagePullSecrets: [] # -- Grafana connection configuration. # `apiKeySecret.name` should point at the K8s Secret produced by the # ExternalSecret (see `externalSecret` below). The key inside that Secret must # match the env var the mcp-grafana binary reads: GRAFANA_SERVICE_ACCOUNT_TOKEN. grafana: # -- Grafana URL (set per-cluster in the override) url: "" # -- Secret containing the Grafana service-account token apiKeySecret: # -- Name of the K8s Secret (typically the ExternalSecret's target.name) name: "" # -- Key inside that Secret holding the token key: "GRAFANA_SERVICE_ACCOUNT_TOKEN" # -- Enable debug mode debug: false # -- Categories to disable (e.g., oncall, incident, sift) disabledCategories: [] # -- Additional command line arguments extraArgs: [] # -- Environment variables env: {} # -- Environment variables from other sources envValueFrom: {} # -- Environment variables from ConfigMaps or Secrets envFrom: [] # -- MCP server Readiness probe configuration readinessProbe: {} # -- MCP server Liveness probe configuration livenessProbe: {} # -- MCP server Startup probe configuration startupProbe: {} # -- Service account Configuration serviceAccount: # -- Enable service account create: true # -- Name of the service account name: "" # -- Annotations for the service account annotations: {} # -- Labels for the service account labels: {} # -- Automount service account token automountServiceAccountToken: false # -- Service configuration service: # -- Enable service enabled: true # -- Service type type: ClusterIP # -- Service port (matches the mcp-grafana SSE default) port: 8000 # -- Service annotations annotations: {} # -- Service labels labels: {} # -- Cluster IP (if type is ClusterIP) clusterIP: "" # -- External IPs externalIPs: [] # -- Load balancer IP loadBalancerIP: "" # -- Load balancer source ranges loadBalancerSourceRanges: [] # -- External name (if type is ExternalName) externalName: "" # -- Node port (if type is NodePort or LoadBalancer) nodePort: "" # -- Extra ports extraPorts: [] # -- Session affinity sessionAffinity: "" # -- Session affinity config sessionAffinityConfig: {} # -- Create Contour HTTPProxy resources (parent + child for the configured class, # plus intra parent + child when class is contour-internal*). # When false, only the upstream Ingress is considered (and only for nginx-* classes). createContourGateway: false # -- Response timeout for Contour HTTPProxy routes. SSE is long-lived — set this # to e.g. "5m" or "1h" in the override. Leave false to keep Contour defaults. contourResponseTimeout: false # -- Routing configuration. Reused by both the Ingress fallback and the HTTPProxy # templates: `ingressClassName` decides which family of resources render. # * nginx-internal / nginx-external -> Ingress # * contour-external / contour-external-0/1 -> HTTPProxy (external) # * contour-internal / contour-internal-0/1 -> HTTPProxy (internal) + intra ingress: # -- Enable routing (HTTPProxy or Ingress, picked by ingressClassName) enabled: false # -- Ingress / HTTPProxy class ingressClassName: "" # -- Backend service port number (defaults to service.port) servicePortNumber: 8000 # -- Forward WebSocket upgrades. mcp-grafana SSE transport benefits from this. enableWebsocket: true # -- Ingress annotations (Ingress fallback only; HTTPProxy uses its own spec) annotations: {} # -- Hosts and paths hosts: [] # - host: grafana-mcp.meeshogcp.in # paths: # - path: / # pathType: Prefix # -- Ingress TLS configuration (Ingress fallback only) tls: [] # -- Ingress labels labels: {} # -- Contour slow-start policy (HTTPProxy only) slowStart: enabled: false window: "120s" aggression: 1 minPercent: 10 # -- ExternalSecret (Vault-backed). The template renders an external-secrets.io # ExternalSecret that pulls a KV bundle from Vault at `path` and writes a K8s # Secret named `secretName`. The deployment reads # `GRAFANA_SERVICE_ACCOUNT_TOKEN` from that Secret via `grafana.apiKeySecret`. externalSecret: enabled: false # -- Name of the K8s Secret created by the ExternalSecret. # Reference this from grafana.apiKeySecret.name. secretName: "" # -- Vault path holding the bundle. Must contain a key named # GRAFANA_SERVICE_ACCOUNT_TOKEN (matches grafana.apiKeySecret.key). path: "" # -- Refresh interval. "0" disables periodic refresh; ESO still syncs on changes. refreshInterval: "0" # -- ClusterSecretStore name secretStoreRef: "vault-backend" # -- Optional Vault version version: "" # -- Resource requests and limits resources: limits: cpu: 500m memory: 512Mi requests: cpu: 250m memory: 256Mi # -- Container security context containerSecurityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 1000 runAsGroup: 1000 # -- Pod security context securityContext: fsGroup: 1000 runAsNonRoot: true runAsUser: 1000 runAsGroup: 1000 # -- Automount service account token automountServiceAccountToken: true # -- Node selector nodeSelector: {} # -- Tolerations tolerations: [] # -- Affinity affinity: {} # -- Topology spread constraints topologySpreadConstraints: [] # -- Priority class name priorityClassName: "" # -- Runtime class name runtimeClassName: "" # -- Scheduler name schedulerName: "" # -- Host aliases hostAliases: [] # -- DNS policy dnsPolicy: "" # -- DNS config dnsConfig: {} # -- Pod annotations podAnnotations: {} # -- Pod labels podLabels: {} # -- Deployment annotations annotations: {} # -- Deployment labels labels: {} # -- Lifecycle hooks lifecycle: {} # -- Volume mounts volumeMounts: [] # -- Volumes volumes: [] # -- Init containers initContainers: [] # -- Extra init containers extraInitContainers: [] # -- Extra containers extraContainers: [] # -- Metrics configuration metrics: # -- Enable Prometheus metrics endpoint (adds --metrics flag) enabled: false # -- ServiceMonitor configuration for Prometheus Operator serviceMonitor: # -- Enable ServiceMonitor enabled: false # -- ServiceMonitor labels labels: {} # -- ServiceMonitor annotations annotations: {} # -- Scrape interval interval: 30s # -- Scrape timeout scrapeTimeout: 10s # -- Metrics path path: /metrics # -- Additional relabelings relabelings: [] # -- Additional metric relabelings metricRelabelings: [] # -- Namespace selector namespaceSelector: {}