-
Notifications
You must be signed in to change notification settings - Fork 139
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
As a Cozystack user, I want to configure topology and affinity settings for managed applications, so that I can control how replicas are scheduled across availability zones and nodes.
Problem
Currently, managed applications (PostgreSQL, Redis, Kubernetes clusters, etc.) rely on the default kube-scheduler configuration for pod placement. Users have no way to explicitly control:
- Whether replicas should be spread across availability zones (for HA)
- Whether replicas should be co-located in a single zone (for lower latency)
- Node affinity preferences based on labels
Proposed Solution
Add optional topology or affinity configuration to all managed application specs, allowing users to specify:
- Topology spread constraints - e.g., spread across zones, or keep in single zone
- Node affinity - e.g., prefer nodes with specific labels
- Pod anti-affinity - e.g., avoid co-locating replicas on the same node
Example configuration:
spec:
topologyPolicy: spreadAcrossZones # or: singleZone, spreadAcrossNodes
nodeSelector:
disktype: ssdApplications to Update
- PostgreSQL
- Redis
- MongoDB
- Kubernetes (worker nodes)
- Virtual Machines
- Other stateful applications
Related
- Similar to the
topologySpreadPolicyalready implemented in the Elasticsearch PR (Add Elasticsearch managed service with ECK operator #1899)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request