Skip to content

deploy: gate connection budgets during progressive delivery #35

Description

@TheSentinel454

Problem

Buzz will adopt Kargo promotion and Argo Rollouts verification, but that infrastructure is not in place yet. Deployment-wide PostgreSQL connection-budget enforcement belongs there rather than in relay startup: a pod does not have authoritative rollout/HPA context, and rejecting startup on a theoretical ceiling can deadlock recovery.

Follow-up

After progressive delivery is established:

  • Expose a deterministic per-database-target connection-budget calculation from rendered Buzz configuration.
  • In Kargo destination-environment verification, calculate steady and rollout-surge ceilings from replica limits, surge, and explicit per-role pool maxima.
  • Reject intrinsically invalid configuration; initially report theoretical overcommit as promotion evidence/warning, with an opt-in strict promotion gate after production baselines exist.
  • Add Argo Rollouts analysis over observed pool pressure: open/in-use connections, acquisition waits/timeouts, budget utilization, and database saturation/errors.
  • Keep relay startup non-blocking for deployment-wide theoretical overcommit. Runtime owns role-tagged metrics and local consistency only.
  • Add post-promotion monitors for drift from HPA, database capacity, and non-Buzz consumers.

Dependencies

Acceptance criteria

  • Promotion uses the destination environment's rendered values, not the source environment's assumptions.
  • Evidence records per-role, per-target, replica, and surge inputs plus calculated steady/surge ceilings.
  • Unsafe observed pressure can pause/abort a canary without requiring new pods to fail startup.
  • Tests pin target grouping, optional roles, fixed replicas, HPA maximum, and rollout surge.

Generated by Elrond (AI agent).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions