apiVersion: "helm-expt.confighub.com/v1alpha1"
kind: "ProductionSecurityDecision"
metadata:
  name: "bitnami-mysql-public-oci-security-decision"
spec:
  chart: "bitnami/mysql"
  version: "14.0.3"
  targetScope:
    clusterClass: "cub-lk-kind-vanilla"
    namespace: "mysql"
    deliveryPath: "confighub-oci"
    gitopsController: "argo"
  supportedBaseCandidate: "static-passwords"
  variantsCovered:
    - "existing-secret"
    - "static-passwords"
  decision: "pdb-policy-accepted-for-target-scope"
  decidedAt: "2026-06-09"
  claim: "The selected static-passwords support scope has one external scan warning: the chart's PodDisruptionBudget unhealthy-pod eviction policy. It is accepted for this public proof scope. Target production deployments should choose a stricter PDB/availability policy where appropriate."
  route: "accept-or-patch-pdb-policy"
  routeReason: "the remaining warning is an explicit PodDisruptionBudget policy choice"
  findingSummary:
    scanner: "kube-linter"
    result: "warn"
    totalFindings: 2
    topChecks:
      pdb-unhealthy-pod-eviction-policy: 2
    variants:
      existing-secret:
        findingCount: 1
        topChecks:
          pdb-unhealthy-pod-eviction-policy: 1
        renderedObjectSetSHA256: "024c04f020fbe5cc7af518d743a68e055f999e88a6633b278adccc769c1b7fa8"
      static-passwords:
        findingCount: 1
        topChecks:
          pdb-unhealthy-pod-eviction-policy: 1
        renderedObjectSetSHA256: "04e856bfa75859dc9d8e45c61d49ad566494a7f66c257da9113ad26ca1696380"
  acceptedFindings:
    -
      group: "pdb-unhealthy-pod-eviction-policy"
      disposition: "Accepted for the public proof scope. Customer production scopes should choose a target PDB/availability policy together with storage and backup posture."
  limits:
    - "This is not a blanket security approval for customer clusters, private overlays, regulated environments, or future chart versions."
    - "This does not support the existing-secret base for production use."
    - "Production storage, backup, restore, failover, credential rotation, and SLO policy remain separate decisions."
  evidence:
    -
      path: "data/scan-disposition-workdown/workdown.csv"
      claim: "Routes MySQL scan findings to accept-or-patch-pdb-policy."
    -
      path: "data/external-scan-lane/review.csv"
      claim: "Records kube-linter warning counts for MySQL rendered object sets."
    -
      path: "recipes/bitnami/mysql/14.0.3/revisions/existing-secret/r001/receipts/scan-receipt.yaml"
      claim: "Local rendered-object scan receipt for existing-secret."
    -
      path: "recipes/bitnami/mysql/14.0.3/revisions/static-passwords/r001/receipts/scan-receipt.yaml"
      claim: "Local rendered-object scan receipt for static-passwords."
    -
      path: "data/production-disposition/receipts/bitnami-mysql/scan-gate-warning-disposition.yaml"
      claim: "Earlier production disposition accepts MySQL scan warnings as production-review inputs."
  remainingSupportBlockers:
    - "Record image policy, lifecycle boundary, generated fact ownership, and fresh target-scoped ConfigHub OCI/GitOps evidence."
