aws / aws/aws-cloud-map-mcs-controller-for-k8s
ServiceType conflict resolution
- Dominant language
- Go
- Stars
- 98
- Forks
- 32
- PR merge metrics
- No merged PRs in 30d
Description
In the case that a user is trying to export two services, one of `ClusterIP` and one of `Headless`, with the same namespaced name, the controller needs a way to reconcile the conflicting types.
Following the [conflict resolution policy](https://github.com/kubernetes/enhancements/tree/master/keps/sig-multicluster/1645-multi-cluster-services-api#global-properties), this can be done by propagating the `SeviceExport`'s `creationTimestamp` to Cloud Map Endpoints as a custom instance attribute, and the older service will take priority, with the newer service not getting exported to Cloud Map.
Contributor guide
Research direction
Start by tracing the controller's ServiceExport handling and the path that exports services to AWS Cloud Map, then read the linked conflict resolution policy. Done means conflicting ClusterIP and Headless services with the same namespaced name are resolved by creation time, with the older service prioritized and the newer one omitted from Cloud Map.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, go, kubernetes
- Domain
- backend, cloud, distributed-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100