aws / aws/aws-cloud-map-mcs-controller-for-k8s

ServiceType conflict resolution

Open
#196 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.