You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(self-managed): Tier-1 active-active defaults under highAvailability #987
Apply P0 Tier-1 active–active defaults when highAvailability.profile: production: replicaCount 2, soft pod anti-affinity on hostname, topology spread on topology.kubernetes.io/zone, PDB minAvailable 1, rollingUpdate maxSurge 1 / maxUnavailable 0.
In-scope services: NVCF API, grpc-proxy, http-invocation, admin-token-issuer-proxy; llm-api-gateway when the LLM addon is enabled.
Do not introduce application-level leader election for Tier-1.
Definition of Done
Production HA profile sets the above defaults for API, grpc-proxy, invocation, admin-token-issuer-proxy
llm-api-gateway follows the same pattern when enabled
Charts receive values via global.yaml.gotmpl (add chart hooks only if missing)
Delivered in #2052 (merged). Implemented as highAvailability.mode: none | preferred | enforced instead of the profile values described here; none covers the single-node case. Tier-1 services run 2 replicas with anti-affinity, zone spread, minAvailable: 1 PDB and maxSurge: 1 / maxUnavailable: 0: api, adminIssuerProxy, llmApiGateway, ratelimiter, natsAuthCalloutService, nvctApi, notary, sis, apiKeys, reval, ess.
Note:grpc-proxy and invocation-service stay at 1 replica (placement pre-wired, no HA PDB). Their worker callbacks must reach the pod that accepted the request, so scaling them is tracked under the Phase 2 Envoy work.
Activity
fix(self-managed): drop unused highAvailability schema keys
feat(self-managed): add highAvailability Helmfile schema and value ma…
feat(self-managed): add zone topology spread to HA stateless services
feat(self-managed): add highAvailability Helmfile schema and value ma…
feat(self-managed): add zone topology spread to HA stateless services
feat(self-managed): add zone topology spread to HA stateless services
feat(self-managed): add nvcf-api PodDisruptionBudget to complete Tier…
feat(self-managed): defer invocation-service + grpc-proxy HA scaling …
feat(self-managed): add control-plane HA value layer (Tier-1) (#986 #987
feat(self-managed): defer invocation-service + grpc-proxy HA scaling …
shobham-nv commentedon Oct 9, 2026
Delivered in #2052 (merged). Implemented as
highAvailability.mode: none | preferred | enforcedinstead of theprofilevalues described here;nonecovers the single-node case. Tier-1 services run 2 replicas with anti-affinity, zone spread,minAvailable: 1PDB andmaxSurge: 1 / maxUnavailable: 0:api,adminIssuerProxy,llmApiGateway,ratelimiter,natsAuthCalloutService,nvctApi,notary,sis,apiKeys,reval,ess.Note:
grpc-proxyandinvocation-servicestay at 1 replica (placement pre-wired, no HA PDB). Their worker callbacks must reach the pod that accepted the request, so scaling them is tracked under the Phase 2 Envoy work.